combaseapi.h header

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

combaseapi.h contains the following programming interfaces:

Functions

 
CLSIDFromProgID

Looks up a CLSID in the registry, given a ProgID.
CLSIDFromProgIDEx

The CLSIDFromProgIDEx function (combaseapi.h) triggers automatic installation if the COMClassStore policy is enabled.
CLSIDFromString

Converts a string generated by the StringFromCLSID function back into the original CLSID.
CoAddRefServerProcess

Increments a global per-process reference count.
CoAllowUnmarshalerCLSID

Adds an unmarshaler CLSID to the allowed list for the calling process only.
CoCancelCall

Requests cancellation of an outbound DCOM method call pending on a specified thread.
CoCopyProxy

Makes a private copy of the specified proxy.
CoCreateFreeThreadedMarshaler

Creates an aggregatable object capable of context-dependent marshaling.
CoCreateGuid

Creates a GUID, a unique 128-bit integer used for CLSIDs and interface identifiers.
CoCreateInstance

Creates a single uninitialized object of the class associated with a specified CLSID.
CoCreateInstanceEx

Creates an instance of a specific class on a specific computer.
CoCreateInstanceFromApp

Creates an instance of a specific class on a specific computer from within an app container.
CoDecodeProxy

Locates the implementation of a Component Object Model (COM) interface in a server process given an interface to a proxied object.
CoDecrementMTAUsage

Releases the increment made by a previous call to the CoIncrementMTAUsage function.
CoDisableCallCancellation

Undoes the action of a call to CoEnableCallCancellation. Disables cancellation of synchronous calls on the calling thread when all calls to CoEnableCallCancellation are balanced by calls to CoDisableCallCancellation.
CoDisconnectContext

Disconnects all proxy connections that are being maintained on behalf of all interface pointers that point to objects in the current context.
CoDisconnectObject

Disconnects all remote process connections being maintained on behalf of all the interface pointers that point to a specified object.
CoEnableCallCancellation

Enables cancellation of synchronous calls on the calling thread.
CoFileTimeNow

The CoFileTimeNow function (combaseapi.h) returns the current time as a FILETIME structure.
CoFreeUnusedLibraries

Unloads any DLLs that are no longer in use, probably because the DLL no longer has any instantiated COM objects outstanding.
CoFreeUnusedLibrariesEx

Unloads any DLLs that are no longer in use and whose unload delay has expired.
CoGetApartmentType

Returns the current apartment type and type qualifier.
CoGetCallContext

Retrieves the context of the current call on the current thread.
CoGetCallerTID

Returns a pointer to a DWORD that contains the apartment ID of the caller's thread.
CoGetCancelObject

Obtains a pointer to a call control interface, normally ICancelMethodCalls, on the cancel object corresponding to an outbound COM method call pending on the same or another client thread.
CoGetClassObject

Provides a pointer to an interface on a class object associated with a specified CLSID.
CoGetContextToken

Returns a pointer to an implementation of IObjContext for the current context.
CoGetCurrentLogicalThreadId

Returns the logical thread identifier of the current physical thread.
CoGetCurrentProcess

Returns a value that is unique to the current thread. CoGetCurrentProcess can be used to avoid thread ID reuse problems.
CoGetDefaultContext

Retrieves a reference to the default context of the specified apartment.
CoGetInterfaceAndReleaseStream

Unmarshals a buffer containing an interface pointer and releases the stream when an interface pointer has been marshaled from another thread to the calling thread.
CoGetMalloc

Retrieves a pointer to the default OLE task memory allocator (which supports the system implementation of the IMalloc interface) so applications can call its methods to manage memory.
CoGetMarshalSizeMax

Returns an upper bound on the number of bytes needed to marshal the specified interface pointer to the specified object.
CoGetObjectContext

Returns the context for the current object.
CoGetPSClsid

Returns the CLSID of the DLL that implements the proxy and stub for the specified interface.
CoGetStandardMarshal

Creates a default, or standard, marshaling object in either the client process or the server process, depending on the caller, and returns a pointer to that object's IMarshal implementation.
CoGetStdMarshalEx

Creates an aggregated standard marshaler for use with lightweight client-side handlers.
CoGetTreatAsClass

Returns the CLSID of an object that can emulate the specified object.
CoImpersonateClient

Enables the server to impersonate the client of the current call for the duration of the call.
CoIncrementMTAUsage

Keeps MTA support active when no MTA threads are running.
CoInitializeEx

Initializes the COM library for use by the calling thread, sets the thread's concurrency model, and creates a new apartment for the thread if one is required.
CoInitializeSecurity

Registers security and sets the default security values for the process.
CoInvalidateRemoteMachineBindings

Tells the service control manager to flush any cached RPC binding handles for the specified computer.
CoIsHandlerConnected

Determines whether a remote object is connected to the corresponding in-process object.
CoLockObjectExternal

Called either to lock an object to ensure that it stays in memory, or to release such a lock.
CoMarshalHresult

Marshals an HRESULT to the specified stream, from which it can be unmarshaled using the CoUnmarshalHresult function.
CoMarshalInterface

Writes into a stream the data required to initialize a proxy object in some client process.
CoMarshalInterThreadInterfaceInStream

Marshals an interface pointer from one thread to another thread in the same process.
CoQueryAuthenticationServices

Retrieves a list of the authentication services registered when the process called CoInitializeSecurity.
CoQueryClientBlanket

Called by the server to find out about the client that invoked the method executing on the current thread.
CoQueryProxyBlanket

Retrieves the authentication information the client uses to make calls on the specified proxy.
CoRegisterActivationFilter

Registers a process-wide filter to process activation requests.
CoRegisterClassObject

Registers an EXE class object with OLE so other applications can connect to it.
CoRegisterDeviceCatalog

Enables a downloaded DLL to register its device catalog interfaces within its running process so that the marshaling code will be able to marshal those interfaces.
CoRegisterPSClsid

Enables a downloaded DLL to register its custom interfaces within its running process so that the marshaling code will be able to marshal those interfaces.
CoRegisterSurrogate

Registers the surrogate process through its ISurrogate interface pointer.
CoReleaseMarshalData

Destroys a previously marshaled data packet.
CoReleaseServerProcess

Decrements the global per-process reference count.
CoResumeClassObjects

Called by a server that can register multiple class objects to inform the SCM about all registered classes, and permits activation requests for those class objects.
CoRevertToSelf

Restores the authentication information on a thread of execution.
CoRevokeClassObject

Informs OLE that a class object, previously registered with the CoRegisterClassObject function, is no longer available for use.
CoRevokeDeviceCatalog

Revokes the registration of a device catalog performed by a previous call to CoRegisterDeviceCatalog.
CoSetCancelObject

Sets (registers) or resets (unregisters) a cancel object for use during subsequent cancel operations on the current thread.
CoSetProxyBlanket

Sets the authentication information that will be used to make calls on the specified proxy.
CoSuspendClassObjects

Prevents any new activation requests from the SCM on all class objects registered within the process.
CoSwitchCallContext

Switches the call context object used by CoGetCallContext.
CoTaskMemAlloc

Allocates a block of task memory in the same way that IMalloc::Alloc does.
CoTaskMemFree

Frees a block of task memory previously allocated through a call to the CoTaskMemAlloc or CoTaskMemRealloc function.
CoTaskMemRealloc

Changes the size of a previously allocated block of task memory.
CoTestCancel

Determines whether the call being executed on the server has been canceled by the client.
CoUninitialize

Closes the COM library on the current thread, unloads all DLLs loaded by the thread, frees any other resources that the thread maintains, and forces all RPC connections on the thread to close.
CoUnmarshalHresult

Unmarshals an HRESULT type from the specified stream.
CoUnmarshalInterface

Initializes a newly created proxy using data written into the stream by a previous call to the CoMarshalInterface function, and returns an interface pointer to that proxy.
CoWaitForMultipleHandles

Waits for specified handles to be signaled or for a specified timeout period to elapse.
CoWaitForMultipleObjects

A replacement for CoWaitForMultipleHandles. This replacement API hides the options for CoWaitForMultipleHandles that are not supported in ASTA.
CreateStreamOnHGlobal

Creates a stream object that uses an HGLOBAL memory handle to store the stream contents.
DllCanUnloadNow

Determines whether the DLL that implements this function is in use. If not, the caller can unload the DLL from memory.
DllGetClassObject

Retrieves the class object from a DLL object handler or object application.
FreePropVariantArray

The FreePropVariantArray function calls PropVariantClear on each of the PROPVARIANT structures in the rgvars array to make the value zero for each of the members of the array.
GetHGlobalFromStream

The GetHGlobalFromStream function retrieves the global memory handle to a stream that was created through a call to the CreateStreamOnHGlobal function.
IID_PPV_ARGS

Used to retrieve an interface pointer, supplying the IID value of the requested interface automatically based on the type of the interface pointer used. This avoids a common coding error by checking the type of the value passed at compile time.
IIDFromString

Converts a string generated by the StringFromIID function back into the original interface identifier (IID).
ProgIDFromCLSID

Retrieves the ProgID for a given CLSID.
PropVariantClear

Frees all elements that can be freed in a given PROPVARIANT structure.
PropVariantCopy

The PropVariantCopy function copies the contents of one PROPVARIANT structure to another.
RoGetAgileReference

Creates an agile reference for an object specified by the given interface.
StringFromCLSID

Converts a CLSID into a string of printable characters. Different CLSIDs always convert to different strings.
StringFromGUID2

Converts a globally unique identifier (GUID) into a string of printable characters.
StringFromIID

Converts an interface identifier into a string of printable characters.

Structures

 
ServerInformation

Represents the implementation of a Component Object Model (COM) interface in a server process.

Enumerations

 
AgileReferenceOptions

Specifies options for the RoGetAgileReference function.
COWAIT_FLAGS

Specifies the behavior of the CoWaitForMultipleHandles function.
CWMO_FLAGS

Provides flags for the CoWaitForMultipleObjects function.
REGCLS

Controls the type of connections to a class object.