oaidl.h header

This header is used by Automation. For more information, see:

oaidl.h contains the following programming interfaces:

Interfaces

 
ICreateErrorInfo

Returns error information.
ICreateTypeInfo

Provides the tools for creating and administering the type information defined through the type description. (ICreateTypeInfo)
ICreateTypeInfo2

Provides the tools for creating and administering the type information defined through the type description. (ICreateTypeInfo2)
ICreateTypeLib

Provides the methods for creating and managing the component or file that contains type information. (ICreateTypeLib)
ICreateTypeLib2

Provides the methods for creating and managing the component or file that contains type information. (ICreateTypeLib2)
IDispatch

Exposes objects, methods and properties to programming tools and other applications that support Automation.
IEnumVARIANT

Provides a method for enumerating a collection of variants, including heterogeneous collections of objects and intrinsic types.
IErrorInfo

Provides detailed contextual error information.
IErrorLog

Communicates detailed error information between a client and an object.
IPropertyBag

Provides an object with a property bag in which the object can save its properties persistently.
IRecordInfo

Describes the structure of a particular UDT.
ISupportErrorInfo

Ensures that error information can be propagated up the call chain correctly. Automation objects that use the error handling interfaces must implement ISupportErrorInfo.
ITypeChangeEvents

Enables clients to subscribe to type change notifications on objects that implement the ITypeInfo, ITypeInfo2, ICreateTypeInfo, and ICreateTypeInfo2 interfaces.
ITypeComp

The ITypeComp interface provides a fast way to access information that compilers need when binding to and instantiating structures and interfaces.
ITypeInfo

Used for reading information about objects. (ITypeInfo)
ITypeInfo2

Used for reading information about objects. (ITypeInfo2)
ITypeLib

Represents a type library, the data that describes a set of objects. (ITypeLib)
ITypeLib2

Represents a type library, the data that describes a set of objects. (ITypeLib2)

Functions

 
BSTR_UserFree

Frees resources on the server side when called by RPC stub files. (BSTR_UserFree)
BSTR_UserFree64

Frees resources on the server side when called by RPC stub files. (BSTR_UserFree64)
BSTR_UserMarshal

Marshals a BSTR object into the RPC buffer. (BSTR_UserMarshal)
BSTR_UserMarshal64

Marshals a BSTR object into the RPC buffer. (BSTR_UserMarshal64)
BSTR_UserSize

Calculates the wire size of the BSTR object, and gets its handle and data. (BSTR_UserSize)
BSTR_UserSize64

Calculates the wire size of the BSTR object, and gets its handle and data. (BSTR_UserSize64)
BSTR_UserUnmarshal

Unmarshals a BSTR object from the RPC buffer. (BSTR_UserUnmarshal)
BSTR_UserUnmarshal64

Unmarshals a BSTR object from the RPC buffer. (BSTR_UserUnmarshal64)
VARIANT_UserFree

Frees resources on the server side when called by RPC stub files. (VARIANT_UserFree)
VARIANT_UserFree64

Frees resources on the server side when called by RPC stub files. (VARIANT_UserFree64)
VARIANT_UserMarshal

Marshals a VARIANT object into the RPC buffer. (VARIANT_UserMarshal)
VARIANT_UserMarshal64

Marshals a VARIANT object into the RPC buffer. (VARIANT_UserMarshal64)
VARIANT_UserSize

Calculates the wire size of the VARIANT object, and gets its handle and data. (VARIANT_UserSize)
VARIANT_UserSize64

Calculates the wire size of the VARIANT object, and gets its handle and data. (VARIANT_UserSize64)
VARIANT_UserUnmarshal

Unmarshals a VARIANT object from the RPC buffer. (VARIANT_UserUnmarshal)
VARIANT_UserUnmarshal64

Unmarshals a VARIANT object from the RPC buffer. (VARIANT_UserUnmarshal64)

Structures

 
ARRAYDESC

Describes an array, its element type, and its dimension.
BINDPTR

Describes a pointer.
CUSTDATA

Represents custom data.
CUSTDATAITEM

Represents a custom data item.
DISPPARAMS

Contains the arguments passed to a method or property.
ELEMDESC

The ELEMDESC structure contains the type description and process-transfer information for a variable, a function, or a function parameter. (ELEMDESC)
EXCEPINFO

Describes an exception that occurred during IDispatch::Invoke.
FUNCDESC

Describes a function. (FUNCDESC)
PARAMDESC

Contains information needed for transferring a structure element, parameter, or function return value between processes.
PARAMDESCEX

Contains information about the default value of a parameter.
SAFEARRAY

Represents a safe array.
SAFEARRAYBOUND

Represents the bounds of one dimension of the array.
TLIBATTR

Contains information about a type library. Information from this structure is used to identify the type library and to provide national language support for member names.
TYPEATTR

Contains attributes of a type.
TYPEDESC

Describes the type of a variable, the return type of a function, or the type of a function parameter.
VARDESC

Describes a variable, constant, or data member.
VARIANT

VARIANTARG describes arguments passed within DISPPARAMS, and VARIANT to specify variant data that cannot be passed by reference.

Enumerations

 
CALLCONV

Identifies the calling convention used by a member function described in the METHODDATA structure.
DESCKIND

Identifies the type description being bound to.
FUNCFLAGS

Specifies function flags.
FUNCKIND

Specifies the function type.
INVOKEKIND

Specifies the way a function is invoked.
LIBFLAGS

Defines flags that apply to type libraries.
SYSKIND

Identifies the target operating system platform.
TYPEFLAGS

The type flags.
TYPEKIND

Specifies a type.
VARFLAGS

Specifies variable flags.
VARKIND

Specifies the variable type.