Initial commit

This commit is contained in:
2022-10-03 16:21:20 +02:00
commit aeddcb75ec
3897 changed files with 2127526 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
Imports System.Runtime.InteropServices
<StructLayout(LayoutKind.Sequential)> _
Public Structure OLECMDTEXT
Public cmdtextf As UInt32
Public cwActual As UInt32
Public cwBuf As UInt32
Public rgwz As Char
End Structure
<StructLayout(LayoutKind.Sequential)> _
Public Structure OLECMD
Public cmdID As Long
Public cmdf As UInt64
End Structure
' Interop definition for IOleCommandTarget.
<ComImport(), Guid("b722bccb-4e68-101b-a2bc-00aa00404770"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _
Public Interface IOleCommandTarget
' IMPORTANT: The order of the methods is critical here. We're going to
' perform early binding in most cases, so the order of the methods
' here MUST match the order of their vtable layout (which is determined
' by their layout in IDL). The interop calls key off the vtable ordering,
' not the symbolic names, so if you switched these method declarations
' and attempted to call Exec() on an IOleCommandTarget interface from your
' app, it would translate into a call to QueryStatus() instead.
Sub QueryStatus(ByRef pguidCmdGroup As Guid, ByVal cCmds As UInt32, <MarshalAs(UnmanagedType.LPArray, SizeParamIndex:=1)> ByVal prgCmds As OLECMD, ByRef pCmdText As OLECMDTEXT)
Sub Exec(ByRef pguidCmdGroup As Guid, ByVal nCmdId As Long, ByVal nCmdExecOpt As Long, ByRef pvaIn As Object, ByRef pvaOut As Object)
End Interface