Home COM GDI+ WebBrowser Data Access 

COM Fundamentals

 

Structures

ACTRL_ACCESS

ACTRL_ACCESS_ENTRY

ACTRL_ACCESS_ENTRY_LIST

ACTRL_PROPERTY_ENTRY

BIND_OPTS

BIND_OPTS2

CALLFRAMEINFO

CALLFRAMEPARAMINFO

CALLFRAME_MARSHALCONTEXT

CATEGORYINFO

COAUTHIDENTITY

COUATHINFO

 

CONNECTDATA

COSERVERINFO

CSPLATFORM

FILETIME

INTERFACEINFO

MULTI_QI

QUERYCONTEXT

RPCOLEMESSAGE

SOLE_AUTHENTICATION_INFO

SOLE_AUTHENTICATION_LIST

SOLE_AUTHENTICATION_SERVICE

SoleTlsData

 

 

ACTRL_ACCESS

 

The ACTRL_ACCESS structure contains an array of access-control lists for an object and its properties.
 

 

TYPE ACTRL_ACCESS
   cEntries AS DWORD
   pPropertyAccessList AS DWORD
END TYPE

 

 

ACTRL_ACCESS_ENTRY

 

The ACTRL_ACCESS_ENTRY structure contains access-control information for a specified trustee. This structure stores information equivalent to the access-control information stored in an ACE.
 

 

TYPE ACTRL_ACCESS_ENTRY
   tTrustee AS TRUSTEE
   fAccessFlags AS DWORD
   Access AS DWORD
   ProvSpecificAccess AS DWORD
   Inheritance AS DWORD
   lpInheritProperty AS ASCIIZ PTR
END TYPE

 

 

ACTRL_ACCESS_ENTRY_LIST

 

The ACTRL_ACCESS_ENTRY_LIST structure contains a list of access entries.

 

 

TYPE ACTRL_ACCESS_ENTRY_LIST
  
cEntries AS DWORD
  
pAccessList AS DWORD
END TYPE
 

 

ACTRL_PROPERTY_ENTRY

 

The ACTRL_PROPERTY_ENTRY structure stores a list of access-control entries for an object or a specified property on an object.

 

 

TYPE ACTRL_PROPERTY_ENTRY
  
lpProperty AS ASCIIZ PTR
  
pAccessEntryList AS DWORD
  
fListFlags AS DWORD
END TYPE
 

 

BIND_OPTS

 

Contains parameters used during a moniker-binding operation. The BIND_OPTS2 structure may be used in its place. A BIND_OPTS structure is stored in a bind context; the same bind context is used by each component of a composite moniker during binding, allowing the same parameters to be passed to all components of a composite moniker. See IBindCtx for more information about bind contexts.

 

If you're a moniker client (that is, you use a moniker to acquire an interface pointer to an object), you typically do not need to specify values for the fields of this structure. The CreateBindCtx function creates a bind context with the bind options set to default values that are suitable for most situations; the BindMoniker function does the same thing when creating a bind context for use in binding a moniker. If you want to modify the values of these bind options, you can do so by passing a BIND_OPTS structure to the IBindCtx::SetBindOptions method. Moniker implementers can pass a BIND_OPTS structure to the IBindCtx::GetBindOptions method to retrieve the values of these bind options.

 

 

TYPE BIND_OPTS
  
cbStruct AS DWORD
  
grfFlags AS DWORD
  
grfMode AS DWORD
  
dwTickCountDeadline AS DWORD
END TYPE
 

 

BIND_OPTS2

 

Contains parameters used during a moniker-binding operation. A BIND_OPTS2 structure is stored in a bind context; the same bind context is used by each component of a composite moniker during binding, allowing the same parameters to be passed to all components of a composite moniker. See IBindCtx for more information about bind contexts. BIND_OPTS2 replaces the previously defined BIND_OPTS structure, including the previously defined members, and adding four new members.

 

Moniker clients (those using a moniker to acquire an interface pointer to an object) typically do not need to specify values for the fields of this structure. The CreateBindCtx function creates a bind context with the bind options set to default values that are suitable for most situations. The BindMoniker function does the same thing when creating a bind context for use in binding a moniker. If you want to modify the values of these bind options, you can do so by passing a BIND_OPTS2 structure to the IBindCtx::SetBindOptions method. Moniker implementers can pass a BIND_OPTS2 structure to the IBindCtx::GetBindOptions method to retrieve the values of these bind options.

 

 

TYPE BIND_OPTS2
  
cbStruct AS DWORD
  
grfFlags AS DWORD
  
grfMode AS DWORD
  
dwTickCountDeadline AS DWORD
  
dwTrackFlags AS DWORD
  
dwClassContext AS DWORD
  
locale AS DWORD
  
pServerInfo AS COSERVERINFO PTR
END TYPE
 

 

CALLFRAMEINFO

 

Provides information about a call frame such as the method in the call frame, if it has in, out, or in/out parameters, the number of in, out, or in/out interfaces, the interface ID, the number of methods in the interface and the number of parameters in this method.

 

 

TYPE CALLFRAMEINFO
  
iMethod AS DWORD
  
fHasInValues AS LONG
  
fHasInOutValues AS LONG
  
fHasOutValues AS LONG
  
fDerivesFromIDispatch AS LONG
  
cInInterfacesMax AS LONG
  
cInOutInterfacesMax AS LONG
  
cOutInterfacesMax AS LONG
  
cTopLevelInInterfaces AS LONG
  
iid AS GUID
  
cMethod AS DWORD
  
cParams AS DWORD
END TYPE
 

 

CALLFRAMEPARAMINFO

 

Provides information about the parameter on the stack.

 

 

TYPE CALLFRAMEPARAMINFO
  
fIn AS LONG
  
fOut AS LONG
  
stackOffset AS DWORD
  
cbParam AS DWORD
END TYPE
 

 

CALLFRAME_MARSHALCONTEXT

 

Provides information about the context in which marshalling should be carried out.

 

 

TYPE CALLFRAME_MARSHALCONTEXT
  
fIn AS LONG
  
dwDestContext AS DWORD
  
pvDestContext AS DWORD
  
mshlmgr AS DWORD
  
guidTransferSyntax AS GUID
END TYPE
 

 

CATEGORYINFO

 

The CATEGORYINFO structure describes a component category.

 

 

TYPE CATEGORYINFO
  
catid AS GUID
  
lcid AS DWORD
  
szDescription AS STRING * 128
END TYPE
 

 

COAUTHIDENTITY

 

The COAUTHIDENTITY structure represents a user name and password. A pointer to a COAUTHIDENTITY structure is a member of the COAUTHINFO structure, which specifies authentication settings for remote activation requests.

 

 

TYPE COAUTHIDENTITY
  
pUser AS DWORD
  
UserLength AS DWORD
  
Domain AS DWORD
  
DomainLength AS DWORD
  
Password AS DWORD
  
PasswordLength AS DWORD
  
Flags AS DWORD
END TYPE
 

 

COAUTHIINFO

 

The COAUTHINFO structure specifies the authentication settings used while making a remote activation request from the client machine to the server machine.

 

 

TYPE COAUTHINFO
  
dwAuthnSvc AS DWORD
  
dwAuthzSvc AS DWORD
  
pwszServerPrincName AS DWORD
  
dwAuthnLevel AS DWORD
  
dwImpersonationLevel AS DWORD
  
pAuthIdentityData AS COAUTHIDENTITY PTR
  
dwCapabilities AS DWORD
END TYPE
 

 

CONNECTDATA

 

The CONNECTDATA structure is the type enumerated through the IEnumConnections::Next method. Each structure describes a connection that exists to a given connection point.

 

 

TYPE CONNECTDATA
  
pUnk AS DWORD
  
dwCookie AS DWORD
END TYPE
 

 

COSERVERINFO

 

Identifies a remote machine resource to the new or enhanced activation functions.

 

 

TYPE COSERVERINFO
  
dwReserved1 AS DWORD
  
pwszName AS DWORD
  
pAuthInfo AS COAUTHINFO PTR
  
dwReserved2 AS DWORD
END TYPE
 

 

CSPLATFORM

 

The CSPLATFORM struct defines an operating system platform and processor architecture.

 

 

TYPE CSPLATFORM
  
dwContext AS DWORD
  
dwVersionHi AS DWORD
  
dwVersionLo AS DWORD
  
dwProcessorArch AS DWORD
END TYPE
 

 

FILETIME

 

The FILETIME data structure is a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601. It is the means by which Win32 determines the date and time. FILETIME is used by the CoDosDateTimeToFileTime, CoFileTimeToDosDateTime, and CoFileTimeNow functions.

 

 

TYPE FILETIME
  
dwLowDateTime AS DWORD
  
dwHighDateTime AS DWORD
END TYPE
 

 

INTERFACEINFO

 

The INTERFACEINFO structure contains information about incoming calls.

 

 

TYPE INTERFACEINFO
  
pUnk AS DWORD
  
iid AS GUID
  
wMethod AS WORD
END TYPE
 

 

MULTI_QI

 

To optimize network performance, most remote activation functions take an array of MULTI_QI structures rather than just a single IID as input and a single pointer to the requested interface on the object as output, as do local machine activation functions. This allows a set of pointers to interfaces to be returned from the same object in a single round-trip to the server. In network scenarios, requesting multiple interfaces at the time of object construction can save considerable time over using a number of calls to the QueryInterface method for unique interfaces, each of which would require a round-trip to the server.

 

 

TYPE MULTI_QI
  
pIID AS GUID
  
pItf AS DWORD
  
hr AS LONG
END TYPE
 

 

QUERYCONTEXT

 

The QUERYCONTEXT struct contains a list of attributes used to look up a class implementation.

 

 

TYPE QUERYCONTEXT
  
dwContext AS DWORD
  
Platform AS CSPLATFORM
  
Locale AS DWORD
  
dwVersionHi AS DWORD
  
dwVersionLo AS DWORD
END TYPE
 

 

RPCOLEMESSAGE

 

A data structure for marshaling invocation arguments and return values between COM components.

 

 

TYPE RPCOLEMESSAGE
  
reserved1 AS DWORD
  
dataRepresentation AS DWORD
  
pBuffer AS DWORD
  
cbBuffer AS DWORD
  
iMethod AS DWORD
  
reserved2 (0 TO 4) AS DWORD
  
rpcFlags AS DWORD
END TYPE
 

 

SOLE_AUTHENTICATION_INFO

 

Identifies an authentication service, authorization service, and the authentication information for the specified authentication service. The SOLE_AUTHENTICATION_LIST structure, which is pointed to by the pAuthList parameter of CoInitializeSecurity, contains an array of SOLE_AUTHENTICATION_INFO structures.

 

 

TYPE SOLE_AUTHENTICATION_INFO
  
dwAuthnSvc AS DWORD
  
dwAuthzSvc AS DWORD
  
pAuthInfo AS DWORD PTR
END TYPE
 

 

SOLE_AUTHENTICATION_LIST

 

Indicates the default authentication information to use with each authentication service. This structure is passed by clients to CoInitializeSecurity by using the pAuthList parameter. When DCOM negotiates the default authentication service for a proxy, it picks the default authentication information from this list.

 

 

TYPE SOLE_AUTHENTICATION_LIST
  
cAuthInfo AS DWORD
  
aAuthInfo AS SOLE_AUTHENTICATION_INFO PTR
END TYPE
 

 

SOLE_AUTHENTICATION_SERVICE

 

Identifies an authentication service that a server is willing to use to communicate to a client. This structure is passed by servers to CoInitializeSecurity as a member of the asAuthSvc parameter and can be retrieved through a call to CoQueryAuthenticationServices.

 

 

TYPE SOLE_AUTHENTICATION_SERVICE
  
dwAuthnSvc AS DWORD
  
dwAuthzSvc AS DWORD
  
pPrincipalName AS DWORD
  
hr AS LONG
END TYPE
 

 

SOleTlsData

 

A data structure that holds state information for a thread.

 

Note SOleTlsData is available for use in the Microsoft Windows 2000 and Windows XP operating systems. It may be altered or unavailable in subsequent versions.

 

 

TYPE SOleTlsData
  
pvReserved0 (0 TO 1) AS DWORD PTR
  
dwReserved0 (0 TO 2) AS DWORD
  
pvReserved1 (0) AS DWORD PTR
 
 dwReserved1 (0 TO 2) AS DWORD
 
 pvReserved2 (0 TO 3) AS DWORD PTR
 
 dwReserved2 (0) AS DWORD
  
pCurrentCtx AS DWORD PTR
END TYPE
 

 

Page last updated on Tuesday, 29 August 2006 04:05:17 +0200