Automation

Overview of the Automation technology.

To develop Automation, you need these headers:

This documentation is related to OLE Automation. For information on UI Automation, see Windows Automation API overview.

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.
REGKIND

Controls how a type library is registered.
SYSKIND

Identifies the target operating system platform.
TYPEFLAGS

The type flags.
TYPEKIND

Specifies a type.
VARENUM

Specifies the variant types.
VARFLAGS

Specifies variable flags.
VARKIND

Specifies the variable type.

Functions

 
AddFuncDesc

Adds a function description to the type description.
AddImplType

Specifies an inherited interface, or an interface implemented by a component object class (coclass).
AddRefTypeInfo

Adds a type description to those referenced by the type description being created.
AddressOfMember

Retrieves the addresses of static functions or variables, such as those defined in a DLL.
AddVarDesc

Adds a variable or data member description to the type description.
AfterTypeChange

Raised after a type has been changed.
Bind

Maps a name to a member of a type, or binds global variables and functions contained in a type library.
BindType

Binds to the type descriptions contained within a type library.
BSTR_UserFree

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

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

Marshals a BSTR object into the RPC buffer.
BSTR_UserMarshal64

Marshals a BSTR object into the RPC buffer.
BSTR_UserSize

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

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

Unmarshals a BSTR object from the RPC buffer.
BSTR_UserUnmarshal64

Unmarshals a BSTR object from the RPC buffer.
BstrFromVector

Returns a BSTR, assigning each element of the vector to a character in the BSTR.
ClearCustData

Releases memory used to hold the custom data item.
Clone

Creates a copy of the current state of enumeration.
CreateDispTypeInfo

Creates simplified type information for use in an implementation of IDispatch.
CreateErrorInfo

Creates an instance of a generic error object.
CreateInstance

Creates a new instance of a type that describes a component object class (coclass).
CreateStdDispatch

Creates a standard implementation of the IDispatch interface through a single function call. This simplifies exposing objects through Automation.
CreateTypeInfo

Creates a new type description instance within the type library.
CreateTypeLib

Provides access to a new object instance that supports the ICreateTypeLib interface.
CreateTypeLib2

Creates a type library in the current file format.
DefineFuncAsDllEntry

Associates a DLL entry point with the function that has the specified index.
DeleteFuncDesc

Deletes a function description specified by the index number.
DeleteFuncDescByMemId

Deletes the specified function description (FUNCDESC).
DeleteImplType

Deletes the IMPLTYPE flags for the indexed interface.
DeleteTypeInfo

Deletes a specified type information from the type library.
DeleteVarDesc

Deletes the specified VARDESC structure.
DeleteVarDescByMemId

Deletes the specified VARDESC structure.
DispCallFunc

Low-level helper for Invoke that provides machine independence for customized Invoke.
DispGetIDsOfNames

Low-level helper for Invoke that provides machine independence for customized Invoke.
DispGetParam

Retrieves a parameter from the DISPPARAMS structure, checking both named parameters and positional parameters, and coerces the parameter to the specified type.
DispInvoke

Automatically calls member functions on an interface, given the type information for the interface.
DosDateTimeToVariantTime

Converts the MS-DOS representation of time to the date and time representation stored in a variant.
FindName

Finds occurrences of a type description in a type library. This may be used to quickly verify that a name exists in a type library.
GetActiveObject

Retrieves a pointer to a running object that has been registered with OLE.
GetAllCustData

Gets all custom data items for the library.
GetAllCustData

Gets all custom data items for the library.
GetAllFuncCustData

Gets all custom data from the specified function.
GetAllImplTypeCustData

Gets all custom data for the specified implementation type.
GetAllParamCustData

Gets all of the custom data for the specified function parameter.
GetAllVarCustData

Gets the variable for the custom data.
GetAltMonthNames

Retrieves the secondary (alternate) month names.
GetContainingTypeLib

Retrieves the containing type library and the index of the type description within that type library.
GetCustData

Gets the custom data.
GetCustData

Gets the custom data.
GetDescription

Returns a textual description of the error.
GetDllEntry

Retrieves a description or specification of an entry point for a function in a DLL.
GetDocumentation

Retrieves the documentation string, the complete Help file name and path, and the context ID for the Help topic for a specified type description.
GetDocumentation

Retrieves the documentation string for the library, the complete Help file name and path, and the context identifier for the library Help topic in the Help file.
GetDocumentation2

Retrieves the documentation string, the complete Help file name and path, the localization context to use, and the context ID for the library Help topic in the Help file.
GetDocumentation2

Retrieves the library's documentation string, the complete Help file name and path, the localization context to use, and the context ID for the library Help topic in the Help file.
GetErrorInfo

Obtains the error information pointer set by the previous call to SetErrorInfo in the current logical thread.
GetField

Returns a pointer to the VARIANT containing the value of a given field name.
GetFieldNames

Gets the names of the fields of the record.
GetFieldNoCopy

Returns a pointer to the value of a given field name without copying the value and allocating resources.
GetFuncCustData

Gets the custom data from the specified function.
GetFuncDesc

Retrieves the FUNCDESC structure that contains information about a specified function.
GetFuncIndexOfMemId

Binds to a specific member based on a known DISPID, where the member name is not known (for example, when binding to a default member).
GetGuid

Gets the GUID of the record type.
GetGUID

Returns the globally unique identifier (GUID) of the interface that defined the error.
GetHelpContext

Returns the Help context identifier (ID) for the error.
GetHelpFile

Returns the path of the Help file that describes the error.
GetIDsOfNames

Maps a single member and an optional set of argument names to a corresponding set of integer DISPIDs, which can be used on subsequent calls to Invoke.
GetIDsOfNames

Maps between member names and member IDs, and parameter names and parameter IDs.
GetImplTypeCustData

Gets the custom data of the implementation type.
GetImplTypeFlags

Retrieves the IMPLTYPEFLAGS enumeration for one implemented interface or base interface in a type description.
GetLibAttr

Retrieves the structure that contains the library's attributes.
GetLibStatistics

Returns statistics about a type library that are required for efficient sizing of hash tables.
GetMops

Retrieves marshaling information.
GetName

Gets the name of the record type.
GetNames

Retrieves the variable with the specified member ID or the name of the property or method and the parameters that correspond to the specified function ID.
GetParamCustData

Gets the custom data of the specified parameter.
GetRecordInfoFromGuids

Returns a pointer to the IRecordInfo interface for a UDT by passing the GUID of the type information without having to load the type library.
GetRecordInfoFromTypeInfo

Returns a pointer to the IRecordInfo interface of the UDT by passing its type information.
GetRefTypeInfo

If a type description references other type descriptions, it retrieves the referenced type descriptions.
GetRefTypeOfImplType

If a type description describes a COM class, it retrieves the type description of the implemented interface types.
GetSize

Gets the number of bytes of memory necessary to hold the record instance.
GetSource

Returns the language-dependent programmatic ID (ProgID) for the class or application that raised the error.
GetTypeAttr

Retrieves a TYPEATTR structure that contains the attributes of the type description.
GetTypeComp

Retrieves the ITypeComp interface for the type description, which enables a client compiler to bind to the type description's members.
GetTypeComp

Enables a client compiler to bind to the types, variables, constants, and global functions for a library.
GetTypeFlags

Returns the type flags without any allocations. This returns a flag that expands the type flags without growing the TYPEATTR (type attribute).
GetTypeInfo

Retrieves the type information for an object, which can then be used to get the type information for an interface.
GetTypeInfo

Retrieves the type information that describes a UDT or safearray of UDTs.
GetTypeInfo

Retrieves the specified type description in the library.
GetTypeInfoCount

Retrieves the number of type information interfaces that an object provides (either 0 or 1).
GetTypeInfoCount

Provides the number of type descriptions that are in a type library.
GetTypeInfoOfGuid

Retrieves the type description that corresponds to the specified GUID.
GetTypeInfoType

Retrieves the type of a type description.
GetTypeKind

Returns the TYPEKIND enumeration quickly, without doing any allocations.
GetVarCustData

Gets the custom data of the specified variable.
GetVarDesc

Retrieves a VARDESC structure that describes the specified variable.
GetVarIndexOfMemId

Binds to a specific member based on a known DISPID, where the member name is not known (for example, when binding to a default member).
InterfaceSupportsErrorInfo

Indicates whether an interface supports the IErrorInfo interface.
Invoke

Provides access to properties and methods exposed by an object.
Invoke

Invokes a method, or accesses a property of an object, that implements the interface described by the type description.
IsMatchingType

Determines whether the record that is passed in matches that of the current record information.
IsName

Indicates whether a passed-in string contains the name of a type or member described in the library.
LayOut

Assigns VTBL offsets for virtual functions and instance offsets for per-instance data members, and creates the two type descriptions for dual interfaces.
LHashValOfName

Computes a hash value for a name.
LHashValOfNameSys

Computes a hash value for a name.
LHashValOfNameSysA

Computes a hash value for the specified name.
LoadRegTypeLib

Uses registry information to load a type library.
LoadTypeLib

Loads and registers a type library.
LoadTypeLibEx

Loads a type library and (optionally) registers it in the system registry.  .
LPSAFEARRAY_UserFree

Frees resources on the server side when called by RPC stub files.
LPSAFEARRAY_UserFree64

Frees resources on the server side when called by RPC stub files.
LPSAFEARRAY_UserMarshal

Marshals data from the specified SAFEARRAY object to the user's RPC buffer on the client or server side.
LPSAFEARRAY_UserMarshal64

Marshals data from the specified SAFEARRAY object to the user's RPC buffer on the client or server side.
LPSAFEARRAY_UserSize

Calculates the wire size of the SAFEARRAY object, and gets its handle and data.
LPSAFEARRAY_UserSize64

Calculates the wire size of the SAFEARRAY object, and gets its handle and data.
LPSAFEARRAY_UserUnmarshal

Unmarshals a SAFEARRAY object from the RPC buffer.
LPSAFEARRAY_UserUnmarshal64

Unmarshals a SAFEARRAY object from the RPC buffer.
Next

Retrieves the specified items in the enumeration sequence.
OaBuildVersion

Retrieves the build version of OLE Automation.
OaEnablePerUserTLibRegistration

Enables the RegisterTypeLib function to override default registry mappings under Windows Vista Service Pack 1 (SP1), Windows Server 2008, and later operating system versions.
OleLoadPictureFile

Creates an IPictureDisp object from a picture file on disk.
OleLoadPictureFileEx

Loads a picture from a file.
OleSavePictureFile

Saves a picture to a file.
PutField

Puts a variant into a field.
PutFieldNoCopy

Passes ownership of the data to the assigned field by placing the actual data into the field.
QueryPathOfRegTypeLib

Retrieves the path of a registered type library.
RecordClear

Releases object references and other values of a record without deallocating the record.
RecordCopy

Copies an existing record into the passed in buffer.
RecordCreate

Allocates memory for a new record, initializes the instance and returns a pointer to the record.
RecordCreateCopy

Creates a copy of an instance of a record to the specified location.
RecordDestroy

Releases the resources and deallocates the memory of the record.
RecordInit

Initializes a new instance of a record.
RegisterActiveObject

Registers an object as the active object for its class.
RegisterTypeLib

Adds information about a type library to the system registry.
RegisterTypeLibForUser

Registers a type library for use by the calling user.
ReleaseFuncDesc

Releases a FUNCDESC previously returned by ITypeInfo::GetFuncDesc.
ReleaseTLibAttr

Releases the TLIBATTR originally obtained from GetLibAttr.
ReleaseTypeAttr

Releases a TYPEATTR previously returned by ITypeInfo::GetTypeAttr.
ReleaseVarDesc

Releases a VARDESC previously returned by ITypeInfo::GetVarDesc.
RequestTypeChange

Raised when a request has been made to change a type. The change can be disallowed.
Reset

Resets the enumeration sequence to the beginning.
RevokeActiveObject

Ends an object's status as active.
SafeArrayAccessData

Increments the lock count of an array, and retrieves a pointer to the array data.
SafeArrayAddRef

Increases the pinning reference count of the descriptor for the specified safe array by one, and may increase the pinning reference count of the data for the specified safe array by one if that data was dynamically allocated, as determined by the descriptor of the safe array.
SafeArrayAllocData

Allocates memory for a safe array, based on a descriptor created with SafeArrayAllocDescriptor.
SafeArrayAllocDescriptor

Allocates memory for a safe array descriptor.
SafeArrayAllocDescriptorEx

Creates a safe array descriptor for an array of any valid variant type, including VT_RECORD, without allocating the array data.
SafeArrayCopy

Creates a copy of an existing safe array.
SafeArrayCopyData

Copies the source array to the specified target array after releasing any resources in the target array.
SafeArrayCreate

Creates a new array descriptor, allocates and initializes the data for the array, and returns a pointer to the new array descriptor.
SafeArrayCreateEx

Creates and returns a safe array descriptor from the specified VARTYPE, number of dimensions and bounds.
SafeArrayCreateVector

Creates a one-dimensional array. A safe array created with SafeArrayCreateVector is a fixed size, so the constant FADF_FIXEDSIZE is always set.
SafeArrayCreateVectorEx

Creates and returns a one-dimensional safe array of the specified VARTYPE and bounds.
SafeArrayDestroy

Destroys an existing array descriptor and all of the data in the array.
SafeArrayDestroyData

Destroys all the data in the specified safe array.
SafeArrayDestroyDescriptor

Destroys the descriptor of the specified safe array.
SafeArrayGetDim

Gets the number of dimensions in the array.
SafeArrayGetElement

Retrieves a single element of the array.
SafeArrayGetElemsize

Gets the size of an element.
SafeArrayGetIID

Gets the GUID of the interface contained within the specified safe array.
SafeArrayGetLBound

Gets the lower bound for any dimension of the specified safe array.
SafeArrayGetRecordInfo

Retrieves the IRecordInfo interface of the UDT contained in the specified safe array.
SafeArrayGetUBound

Gets the upper bound for any dimension of the specified safe array.
SafeArrayGetVartype

Gets the VARTYPE stored in the specified safe array.
SafeArrayLock

Increments the lock count of an array, and places a pointer to the array data in pvData of the array descriptor.
SafeArrayPtrOfIndex

Gets a pointer to an array element.
SafeArrayPutElement

Stores the data element at the specified location in the array.
SafeArrayRedim

Changes the right-most (least significant) bound of the specified safe array.
SafeArrayReleaseData

Decreases the pinning reference count for the specified safe array data by one. When that count reaches 0, the memory for that data is no longer prevented from being freed.
SafeArrayReleaseDescriptor

Decreases the pinning reference count for the descriptor of the specified safe array by one. When that count reaches 0, the memory for that descriptor is no longer prevented from being freed.
SafeArraySetIID

Sets the GUID of the interface for the specified safe array.
SafeArraySetRecordInfo

Sets the record info in the specified safe array.
SafeArrayUnaccessData

Decrements the lock count of an array, and invalidates the pointer retrieved by SafeArrayAccessData.
SafeArrayUnlock

Decrements the lock count of an array so it can be freed or resized.
SaveAllChanges

Saves the ICreateTypeLib instance following the layout of type information.
SetAlignment

Specifies the data alignment for an item of TYPEKIND=TKIND_RECORD.
SetCustData

Sets a value for custom data.
SetCustData

Sets a value to custom data.
SetDescription

Sets the textual description of the error.
SetDocString

Sets the documentation string displayed by type browsers.
SetDocString

Sets the documentation string associated with the library.
SetErrorInfo

Sets the error information object for the current logical thread of execution.
SetFuncAndParamNames

Sets the name of a function and the names of its parameters to the specified names.
SetFuncCustData

Sets a value for custom data for the specified function.
SetFuncDocString

Sets the documentation string for the function with the specified index.
SetFuncHelpContext

Sets the Help context ID for the function with the specified index.
SetFuncHelpStringContext

Sets a Help context value for a specified function.
SetGuid

Sets the globally unique identifier (GUID) associated with the type description.
SetGuid

Sets the universal unique identifier (UUID) associated with the type library.
SetGUID

Sets the globally unique identifier (GUID) of the interface that defined the error.
SetHelpContext

Sets the Help context identifier (ID) for the error.
SetHelpContext

Sets the Help context ID of the type information.
SetHelpContext

Sets the Help context ID for retrieving general Help information for the type library.
SetHelpFile

Sets the path of the Help file that describes the error.
SetHelpFileName

Sets the name of the Help file.
SetHelpStringContext

Sets the context number for the specified Help string.
SetHelpStringContext

Sets the Help string context number.
SetHelpStringDll

Sets the DLL name to be used for Help string lookup (for localization purposes).
SetImplTypeCustData

Sets a value for custom data for the specified implementation type.
SetImplTypeFlags

Sets the attributes for an implemented or inherited interface of a type.
SetLcid

Sets the binary Microsoft national language ID associated with the library.
SetLibFlags

Sets library flags.
SetMops

Sets the marshaling opcode string associated with the type description or the function.
SetName

Sets the name of the typeinfo.
SetName

Sets the name of the type library.
SetParamCustData

Sets a value for the custom data for the specified parameter.
SetSource

Sets the language-dependent programmatic identifier (ProgID) for the class or application that raised the error.
SetTypeDescAlias

Sets the type description for which this type description is an alias, if TYPEKIND=TKIND_ALIAS.
SetTypeFlags

Sets type flags of the type description being created.
SetVarCustData

Sets a value for custom data for the specified variable.
SetVarDocString

Sets the documentation string for the variable with the specified index.
SetVarHelpContext

Sets the Help context ID for the variable with the specified index.
SetVarHelpStringContext

Sets a Help context value for a specified variable.
SetVarName

Sets the name of a variable.
SetVersion

Sets the major and minor version number of the type information.
SetVersion

Sets the major and minor version numbers of the type library.
Skip

Attempts to skip over the next celt elements in the enumeration sequence.
SysAddRefString

Increases the pinning reference count for the specified string by one.
SysAllocString

Allocates a new string and copies the passed string into it.
SysAllocStringByteLen

Takes an ANSI string as input, and returns a BSTR that contains an ANSI string. Does not perform any ANSI-to-Unicode translation.
SysAllocStringLen

Allocates a new string, copies the specified number of characters from the passed string, and appends a null-terminating character.
SysFreeString

Deallocates a string allocated previously by SysAllocString, SysAllocStringByteLen, SysReAllocString, SysAllocStringLen, or SysReAllocStringLen.
SysReAllocString

Reallocates a previously allocated string to be the size of a second string and copies the second string into the reallocated memory.
SysReAllocStringLen

Creates a new BSTR containing a specified number of characters from an old BSTR, and frees the old BSTR.
SysReleaseString

Decreases the pinning reference count for the specified string by one. When that count reaches 0, the memory for that string is no longer prevented from being freed.
SysStringByteLen

Returns the length (in bytes) of a BSTR.
SysStringLen

Returns the length of a BSTR.
SystemTimeToVariantTime

Converts a system time to a variant representation.
UnRegisterTypeLib

Removes type library information from the system registry. Use this API to allow applications to properly uninstall themselves.
UnRegisterTypeLibForUser

Removes type library information that was registered by using RegisterTypeLibForUser.
VarAbs

Returns the absolute value of a variant.
VarAdd

Returns the sum of two variants.
VarAnd

Performs a bitwise And operation between two variants of any integral type.
VarBoolFromCy

Converts a currency value to a Boolean value.
VarBoolFromDate

Converts a date value to a Boolean value.
VarBoolFromDec

Converts a decimal value to a Boolean value.
VarBoolFromDisp

Converts the default property of an IDispatch instance to a Boolean value.
VarBoolFromI1

Converts a char value to a Boolean value.
VarBoolFromI2

Converts a short value to a Boolean value.
VarBoolFromI4

Converts a long value to a Boolean value.
VarBoolFromI8

Converts an 8-byte integer value to a Boolean value.
VarBoolFromR4

Converts a float value to a Boolean value.
VarBoolFromR8

Converts a double value to a Boolean value.
VarBoolFromStr

Converts an OLECHAR string to a Boolean value.
VarBoolFromUI1

Converts an unsigned char value to a Boolean value.
VarBoolFromUI2

Converts an unsigned short value to a Boolean value.
VarBoolFromUI4

Converts an unsigned long value to a Boolean value.
VarBoolFromUI8

Converts an 8-byte unsigned integer value to a Boolean value.
VarBstrCat

Concatenates two variants of type BSTR and returns the resulting BSTR.
VarBstrCmp

Compares two variants of type BSTR.
VarBstrFromBool

Converts a Boolean value to a BSTR value.
VarBstrFromCy

Converts a currency value to a BSTR value.
VarBstrFromDate

Converts a date value to a BSTR value.
VarBstrFromDec

Converts a decimal value to a BSTR value.
VarBstrFromDisp

Converts the default property of an IDispatch instance to a BSTR value.
VarBstrFromI1

Converts a char value to a BSTR value.
VarBstrFromI2

Converts a short value to a BSTR value.
VarBstrFromI4

Converts a long value to a BSTR value.
VarBstrFromI8

Converts an 8-byte unsigned integer value to a BSTR value.
VarBstrFromR4

Converts a float value to a BSTR value.
VarBstrFromR8

Converts a double value to a BSTR value.
VarBstrFromUI1

Converts an unsigned char value to a BSTR value.
VarBstrFromUI2

Converts an unsigned short value to a BSTR value.
VarBstrFromUI4

Converts an unsigned long value to a BSTR value.
VarBstrFromUI8

Converts an 8-byte unsigned integer value to a BSTR value.
VarCat

Concatenates two variants and returns the result.
VarCmp

Compares two variants.
VarCyAbs

Retrieves the absolute value of a variant of type currency.
VarCyAdd

Adds two variants of type currency.
VarCyCmp

Compares two variants of type currency.
VarCyCmpR8

Compares a variant of type currency with a value of type double.
VarCyFix

Retrieves the integer portion of a variant of type currency.
VarCyFromBool

Converts a Boolean value to a currency value.
VarCyFromDate

Converts a date value to a currency value.
VarCyFromDec

Converts a decimal value to a currency value.
VarCyFromDisp

Converts the default property of an IDispatch instance to a currency value.
VarCyFromI1

Converts a char value to a currency value.
VarCyFromI2

Converts a short value to a currency value.
VarCyFromI4

Converts a long value to a currency value.
VarCyFromI8

Converts an 8-byte integer value to a currency value.
VarCyFromR4

Converts a float value to a currency value.
VarCyFromR8

Converts a double value to a currency value.
VarCyFromStr

Converts an OLECHAR string to a currency value.
VarCyFromUI1

Converts an unsigned char value to a currency value.
VarCyFromUI2

Converts an unsigned short value to a currency value.
VarCyFromUI4

Converts an unsigned long value to a currency value.
VarCyFromUI8

Converts an 8-byte unsigned integer value to a currency value.
VarCyInt

Retrieves the integer portion of a variant of type currency.
VarCyMul

Multiplies two variants of type currency.
VarCyMulI4

Multiplies a currency value by a 32-bit integer.
VarCyMulI8

Multiplies a currency value by a 64-bit integer.
VarCyNeg

Performs a logical negation on a variant of type currency.
VarCyRound

Rounds a variant of type currency to the specified number of decimal places.
VarCySub

Subtracts two variants of type currency.
VarDateFromBool

Converts a Boolean value to a date value.
VarDateFromCy

Converts a currency value to a date value.
VarDateFromDec

Converts a decimal value to a date value.
VarDateFromDisp

Converts the default property of an IDispatch instance to a date value.
VarDateFromI1

Converts a char value to a date value.
VarDateFromI2

Converts a short value to a date value.
VarDateFromI4

Converts a long value to a date value.
VarDateFromI8

Converts an 8-byte unsigned integer value to a date value.
VarDateFromR4

Converts a float value to a date value.
VarDateFromR8

Converts a double value to a date value.
VarDateFromStr

Converts an OLECHAR string to a date value.
VarDateFromUdate

Converts a time and date converted from MS-DOS format to variant format.
VarDateFromUdateEx

Converts a time and date converted from MS-DOS format to variant format.
VarDateFromUI1

Converts an unsigned char value to a date value.
VarDateFromUI2

Converts an unsigned short value to a date value.
VarDateFromUI4

Converts an unsigned long value to a date value.
VarDateFromUI8

Converts an 8-byte unsigned value to a date value.
VarDecAbs

Retrieves the absolute value of a variant of type decimal.
VarDecAdd

Adds two variants of type decimal.
VarDecCmp

Compares two variants of type decimal.
VarDecCmpR8

Compares a variant of type decimal with the a value of type double.
VarDecDiv

Divides two variants of type decimal.
VarDecFix

Retrieves the integer portion of a variant of type decimal.
VarDecFromBool

Converts a Boolean value to a decimal value.
VarDecFromCy

Converts a currency value to a decimal value.
VarDecFromDate

Converts a date value to a decimal value.
VarDecFromDisp

Converts the default property of an IDispatch instance to a decimal value.
VarDecFromI1

Converts a char value to a decimal value.
VarDecFromI2

Converts a short value to a decimal value.
VarDecFromI4

Converts a long value to a decimal value.
VarDecFromI8

Converts an 8-byte integer value to a decimal value.
VarDecFromR4

Converts a float value to a decimal value.
VarDecFromR8

Converts a double value to a decimal value.
VarDecFromStr

Converts an OLECHAR string to a decimal value.
VarDecFromUI1

Converts an unsigned char value to a decimal value.
VarDecFromUI2

Converts an unsigned short value to a decimal value.
VarDecFromUI4

Converts an unsigned long value to a decimal value.
VarDecFromUI8

Converts an 8-byte unsigned integer value to a decimal value.
VarDecInt

Retrieves the integer portion of a variant of type decimal.
VarDecMul

Multiplies two variants of type decimal.
VarDecNeg

Performs logical negation on a variant of type decimal.
VarDecRound

Rounds a variant of type decimal to the specified number of decimal places.
VarDecSub

Subtracts two variants of type decimal.
VarDiv

Returns the result from dividing two variants.
VarEqv

Performs a bitwise equivalence on two variants.
VarFix

Returns the integer portion of a variant.
VarFormat

Formats a variant into string form by parsing a format string.
VarFormatCurrency

Formats a variant containing currency values into a string form.
VarFormatDateTime

Formats a variant containing named date and time information into a string.
VarFormatFromTokens

Takes a tokenized format string and applies it to a variant to produce a formatted output string.
VarFormatNumber

Formats a variant containing numbers into a string form.
VarFormatPercent

Formats a variant containing percentages into a string form.
VarI1FromBool

Converts a Boolean value to a char value.
VarI1FromCy

Converts a currency value to a char value.
VarI1FromDate

Converts a date value to a char value.
VarI1FromDec

Converts a decimal value to a char value.
VarI1FromDisp

Converts the default property of an IDispatch instance to a char value.
VarI1FromI2

Converts a short value to a char value.
VarI1FromI4

Converts a long value to a char value.
VarI1FromI8

Converts an 8-byte integer value to a char value.
VarI1FromR4

Converts a float value to a char value.
VarI1FromR8

Converts a double value to a char value.
VarI1FromStr

Converts an OLECHAR string to a char value.
VarI1FromUI1

Converts an unsigned char value to a char value.
VarI1FromUI2

Converts an unsigned short value to a char value.
VarI1FromUI4

Converts an unsigned long value to a char value.
VarI1FromUI8

Converts an 8-byte unsigned integer value to a char value.
VarI2FromBool

Converts a Boolean value to a short value.
VarI2FromCy

Converts a currency value to a short value.
VarI2FromDate

Converts a date value to a short value.
VarI2FromDec

Converts a decimal value to a short value.
VarI2FromDisp

Converts the default property of an IDispatch instance to a short value.
VarI2FromI1

Converts a char value to a short value.
VarI2FromI4

Converts a long value to a short value.
VarI2FromI8

Converts an 8-byte integer value to a short value.
VarI2FromR4

Converts a float value to a short value.
VarI2FromR8

Converts a double value to a short value.
VarI2FromStr

Converts an OLECHAR string to a short value.
VarI2FromUI1

Converts an unsigned char value to a short value.
VarI2FromUI2

Converts an unsigned short value to a short value.
VarI2FromUI4

Converts an unsigned long value to a short value.
VarI2FromUI8

Converts an 8-byte unsigned integer value to a short value.
VarI4FromBool

Converts a Boolean value to a long value.
VarI4FromCy

Converts a currency value to a long value.
VarI4FromDate

Converts a date value to a long value.
VarI4FromDec

Converts a decimal value to a long value.
VarI4FromDisp

Converts the default property of an IDispatch instance to a long value.
VarI4FromI1

Converts a char value to a long value.
VarI4FromI2

Converts a short value to a long value.
VarI4FromI4

Converts an int value to a long value.
VarI4FromI8

Converts an 8-byte integer value to a long value.
VarI4FromR4

Converts a float value to a long value.
VarI4FromR8

Converts a double value to a long value.
VarI4FromStr

Converts an OLECHAR string to a long value.
VarI4FromUI1

Converts an unsigned char value to a long value.
VarI4FromUI2

Converts an unsigned short value to a long value.
VarI4FromUI4

Converts an unsigned long value to a long value.
VarI4FromUI8

Converts an 8-byte unsigned integer value to a long.
VarI8FromBool

Converts a Boolean value to an 8-byte integer value.
VarI8FromCy

Converts a currency value to an 8-byte integer value.
VarI8FromDate

Converts a date value to an 8-byte integer value.
VarI8FromDec

Converts a decimal value to an 8-byte integer value.
VarI8FromDisp

Converts the default property of an IDispatch instance to an 8-byte integer value.
VarI8FromI1

Converts a char value to an 8-byte integer value.
VarI8FromI2

Converts a short value to an 8-byte integer value.
VarI8FromR4

Converts a float value to an 8-byte integer value.
VarI8FromR8

Converts a double value to an 8-byte integer value.
VarI8FromStr

Converts an OLECHAR string to an 8-byte integer value.
VarI8FromUI1

Onverts an unsigned byte value to an 8-byte integer value.
VarI8FromUI2

Converts an unsigned short value to an 8-byte integer value.
VarI8FromUI4

Converts an unsigned long value to an 8-byte integer value.
VarI8FromUI8

Converts an unsigned 8-byte integer value to an 8-byte integer value.
VARIANT_UserFree

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

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

Marshals a VARIANT object into the RPC buffer.
VARIANT_UserMarshal64

Marshals a VARIANT object into the RPC buffer.
VARIANT_UserSize

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

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

Unmarshals a VARIANT object from the RPC buffer.
VARIANT_UserUnmarshal64

Unmarshals a VARIANT object from the RPC buffer.
VariantChangeType

Converts a variant from one type to another.
VariantChangeTypeEx

Converts a variant from one type to another, using an LCID.
VariantClear

Clears a variant.
VariantCopy

Frees the destination variant and makes a copy of the source variant.
VariantCopyInd

Frees the destination variant and makes a copy of the source variant, performing the necessary indirection if the source is specified to be VT_BYREF.
VariantInit

Initializes a variant.
VariantTimeToDosDateTime

Converts the variant representation of a date and time to MS-DOS date and time values.
VariantTimeToSystemTime

Converts the variant representation of time to system time values.
VarIdiv

Converts two variants of any type to integers then returns the result from dividing them.
VarImp

Performs a bitwise implication on two variants.
VarInt

Returns the integer portion of a variant.
VarMod

Divides two variants and returns only the remainder.
VarMonthName

Returns a string containing the localized month name.
VarMul

Returns the result from multiplying two variants.
VarNeg

Performs logical negation on a variant.
VarNot

Performs the bitwise not negation operation on a variant.
VarNumFromParseNum

Converts parsed results to a variant.
VarOr

Performs a logical disjunction on two variants.
VarParseNumFromStr

Parses a string, and creates a type-independent description of the number it represents.
VarPow

Returns the result of performing the power function with two variants.
VarR4CmpR8

Compares two variants of types float and double.
VarR4FromBool

Converts a Boolean value to a float value.
VarR4FromCy

Converts a currency value to a float value.
VarR4FromDate

Converts a date value to a float value.
VarR4FromDec

Converts a decimal value to a float value.
VarR4FromDisp

Converts the default property of an IDispatch instance to a float value.
VarR4FromI1

Onverts a char value to a float value.
VarR4FromI2

Converts a short value to a float value.
VarR4FromI4

Converts a long value to a float value.
VarR4FromI8

Converts an 8-byte integer value to a float value.
VarR4FromR8

Converts a double value to a float value.
VarR4FromStr

Converts an OLECHAR string to a float value.
VarR4FromUI1

Converts an unsigned char value to a float value.
VarR4FromUI2

Converts an unsigned short value to a float value.
VarR4FromUI4

Converts an unsigned long value to a float value.
VarR4FromUI8

Converts an unsigned 8-byte integer value to a float value.
VarR8FromBool

Converts a Boolean value to a double value.
VarR8FromCy

Converts a currency value to a double value.
VarR8FromDate

Converts a date value to a double value.
VarR8FromDec

Converts a decimal value to a double value.
VarR8FromDisp

Converts the default property of an IDispatch instance to a double value.
VarR8FromI1

Converts a char value to a double value.
VarR8FromI2

Converts a short value to a double value.
VarR8FromI4

Converts a long value to a double value.
VarR8FromI8

Converts an 8-byte integer value to a double value.
VarR8FromR4

Converts a float value to a double value.
VarR8FromStr

Converts an OLECHAR string to a double value.
VarR8FromUI1

Converts an unsigned char value to a double value.
VarR8FromUI2

Converts an unsigned short value to a double value.
VarR8FromUI4

Converts an unsigned long value to a double value.
VarR8FromUI8

Converts an 8-byte unsigned integer value to a double value.
VarR8Pow

Performs the power function for variants of type double.
VarR8Round

Rounds a variant of type double to the specified number of decimal places.
VarRound

Rounds a variant to the specified number of decimal places.
VarSub

Subtracts two variants.
VarTokenizeFormatString

Parses the actual format string into a series of tokens which can be used to format variants using VarFormatFromTokens.
VarUdateFromDate

Converts a time and date converted from variant format to MS-DOS format.
VarUI1FromBool

Converts a Boolean value to an unsigned char value.
VarUI1FromCy

Converts a currency value to an unsigned char value.
VarUI1FromDate

Converts a date value to an unsigned char value.
VarUI1FromDec

Converts a decimal value to an unsigned char value.
VarUI1FromDisp

Converts the default property of an IDispatch instance to an unsigned char value.
VarUI1FromI1

Converts a char value to an unsigned char value.
VarUI1FromI2

Converts a short value to an unsigned char value.
VarUI1FromI4

Converts a long value to an unsigned char value.
VarUI1FromI8

Converts an 8-byte integer value to a byte value.
VarUI1FromR4

Converts a float value to an unsigned char value.
VarUI1FromR8

Converts a double value to an unsigned char value.
VarUI1FromStr

Converts an OLECHAR string to an unsigned char string.
VarUI1FromUI2

Converts an unsigned short value to an unsigned char value.
VarUI1FromUI4

Converts an unsigned long value to an unsigned char value.
VarUI1FromUI8

Converts an 8-byte unsigned integer value to a byte value.
VarUI2FromBool

Converts a Boolean value to an unsigned short value.
VarUI2FromCy

Converts a currency value to an unsigned short value.
VarUI2FromDate

Converts a date value to an unsigned short value.
VarUI2FromDec

Converts a decimal value to an unsigned short value.
VarUI2FromDisp

Converts the default property of an IDispatch instance to an unsigned short value.
VarUI2FromI1

Converts a char value to an unsigned short value.
VarUI2FromI2

Converts a short value to an unsigned short value.
VarUI2FromI4

Converts a long value to an unsigned short value.
VarUI2FromI8

Converts an 8-byte integer value to an unsigned short value.
VarUI2FromR4

Converts a float value to an unsigned short value.
VarUI2FromR8

Converts a double value to an unsigned short value.
VarUI2FromStr

Converts an OLECHAR string to an unsigned short value.
VarUI2FromUI1

Converts an unsigned char value to an unsigned short value.
VarUI2FromUI4

Converts an unsigned long value to an unsigned short value.
VarUI2FromUI8

Converts an 8-byte unsigned integer value to an unsigned short value.
VarUI4FromBool

Converts a Boolean value to an unsigned long value.
VarUI4FromCy

Converts a currency value to an unsigned long value.
VarUI4FromDate

Converts a date value to an unsigned long value.
VarUI4FromDec

Converts a decimal value to an unsigned long value.
VarUI4FromDisp

Converts the default property of an IDispatch instance to an unsigned long value.
VarUI4FromI1

Converts a char value to an unsigned long value.
VarUI4FromI2

Converts a short value to an unsigned long value.
VarUI4FromI4

Converts a long value to an unsigned long value.
VarUI4FromI8

Converts an 8-byte integer value to an unsigned long value.
VarUI4FromR4

Converts a float value to an unsigned long value.
VarUI4FromR8

Converts a double value to an unsigned long value.
VarUI4FromStr

Converts an OLECHAR string to an unsigned long value.
VarUI4FromUI1

Converts an unsigned char value to an unsigned long value.
VarUI4FromUI2

Converts an unsigned short value to an unsigned long value.
VarUI4FromUI8

Converts an 8-byte unsigned integer value to an unsigned long value.
VarUI8FromBool

Converts a VARIANT_BOOL value to an 8-byte unsigned integer value.
VarUI8FromCy

Converts a currency value to an 8-byte unsigned integer value.
VarUI8FromDate

Converts a date value to an 8-byte unsigned integer value.
VarUI8FromDec

Converts a decimal value to an 8-byte unsigned integer value.
VarUI8FromDisp

Converts the default property of an IDispatch instance to an 8-byte unsigned integer value.
VarUI8FromI1

Converts a char value to an 8-byte unsigned integer value.
VarUI8FromI2

Converts a short value to an 8-byte unsigned integer value.
VarUI8FromI8

Converts an 8-byte integer value to an 8-byte unsigned integer value.
VarUI8FromR4

Converts a float value to an 8-byte unsigned integer value.
VarUI8FromR8

Converts a double value to an 8-byte unsigned integer value.
VarUI8FromStr

Converts an OLECHAR string to an 8-byte unsigned integer value.
VarUI8FromUI1

Converts a byte value to an 8-byte unsigned integer value.
VarUI8FromUI2

Converts an unsigned short value to an 8-byte unsigned integer value.
VarUI8FromUI4

Converts an unsigned long value to an 8-byte unsigned integer value.
VarWeekdayName

Returns a string containing the localized name of the weekday.
VarXor

Performs a logical exclusion on two variants.
VectorFromBstr

Returns a vector, assigning each character in the BSTR to an element of the vector.

Interfaces

 
ICreateErrorInfo

Returns error information.
ICreateTypeInfo

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

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

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

Provides the methods for creating and managing the component or file that contains type information.
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.
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.
ITypeInfo2

Used for reading information about objects.
ITypeLib

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

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

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.
EXCEPINFO

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

Describes a function.
INTERFACEDATA

Describes the object's properties and methods.
METHODDATA

Describes a method or property.
NUMPARSE

Specifies numeric parsing information.
PARAMDATA

Describes a parameter accepted by a method or property.
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.