objidl.h header
This header is used by multiple technologies. For more information, see:
objidl.h contains the following programming interfaces:
Interfaces
IAdviseSink Enables containers and other objects to receive notifications of data changes, view changes, and compound-document changes occurring in objects of interest. |
IAdviseSink2 The IAdviseSink2 interface is an extension of the IAdviseSink interface, adding the method OnLinkSrcChange to the contract to handle a change in the moniker of a linked object. |
IAgileObject The IAgileObject interface (objidl.h) marks an interface as agile across apartments. |
IAgileReference Enables retrieving an agile reference to an object. |
IApartmentShutdown Enables registration of an apartment shutdown notification handler. |
IBindCtx Provides access to a bind context, which is an object that stores information about a particular moniker binding operation. |
IBlockingLock Provides a semaphore that can be used to provide temporarily exclusive access to a shared resource such as a file. |
ICallFactory The ICallFactory interface (objidl.h) creates a call object for processing calls to the methods of an asynchronous interface. |
ICancelMethodCalls The ICancelMethodCalls::Cancel method (objidl.h) manages cancellation requests on an outbound method call and monitors the current state of that method call on the server thread. |
IClassActivator Specifies a method that retrieves a class object. |
IClientSecurity Gives the client control over the security settings for each individual interface proxy of an object. |
IComThreadingInfo The IComThreadingInfo interface (objidl.h) enables you to obtain the apartment type, thread type, and thread GUID for the apartment and thread that the caller is executing in. |
IContext The IContext interface (objidl.h) supports setting COM+ context properties. |
IDataAdviseHolder Creates and manages advisory connections between a data object and one or more advise sinks. |
IDataObject Enables data transfer and notification of changes in data. |
IDirectWriterLock The IDirectWriterLock interface enables a single writer to obtain exclusive write access to a root storage object opened in direct mode while allowing concurrent access by multiple readers. |
IEnumContextProps The IEnumContextProps interface (objidl.h) provides a mechanism for enumerating the context properties associated with a COM+ object context. |
IEnumFORMATETC Enumerates the FORMATETC structures that define the formats and media supported by a given data object. |
IEnumMoniker Enumerates the components of a moniker or the monikers in a table of monikers. |
IEnumSTATDATA Enumerates the advisory connection information for a data object. |
IEnumSTATSTG Enumerates an array of STATSTG structures. |
IEnumString The IEnumString interface (objidl.h) enumerates strings. LPWSTR is the type that indicates a pointer to a zero-terminated string of wide, or Unicode, characters. |
IEnumUnknown The IEnumUnknown interface (objidl.h) enumerates objects with the IUnknown interface. |
IExternalConnection The IExternalConnection interface (objidl.h) manages a server object's count of marshaled and external connections. |
IFastRundown The IFastRundown interface (objidl.h) marks an interface as eligible for fast rundown behavior. |
IFillLockBytes The IFillLockBytes interface enables downloading code to write data asynchronously to a structured storage byte array. |
IForegroundTransfer Transfers the foreground window to the process hosting the COM server. |
IGlobalInterfaceTable Enables any apartment in a process to get access to an interface implemented on an object in any other apartment in the process. |
IGlobalOptions The IGlobalOptions interface (objidl.h) sets and queries global properties of the Component Object Model (COM) runtime. |
IInitializeSpy Performs initialization or cleanup when entering or exiting a COM apartment. |
IInternalUnknown The IInternalUnknown interface (objidl.h) is used exclusively in lightweight client-side handlers that require access to the internal interfaces on the proxy. |
ILayoutStorage The ILayoutStorage interface enables an application to optimize the layout of its compound files for efficient downloading across a slow link. |
ILockBytes The ILockBytes interface is implemented on a byte array object that is backed by some physical storage, such as a disk file, global memory, or a database. |
IMalloc The IMalloc interface (objidl.h) allocates, frees, and manages memory. |
IMallocSpy Enables application developers to monitor (spy on) memory allocation, detect memory leaks, and simulate memory failure in calls to IMalloc methods. |
IMarshal The IMarshal interface (objidl.h) enables a COM object to define and manage the marshaling of its interface pointers. |
IMarshalingStream The IMarshalingStream interface (objidl.h) provides additional information about the marshaling context to custom-marshaled objects and unmarshalers. |
IMessageFilter Provides COM servers and applications with the ability to selectively handle incoming and outgoing COM messages while waiting for responses from synchronous calls. |
IMoniker Enables you to use a moniker object, which contains information that uniquely identifies a COM object. |
IMultiQI The IMultiQI interface (objidl.h) enables a client to query an object proxy or handler for multiple interfaces by using a single RPC call. |
INoMarshal The INoMarshal interface (objidl.h) marks an object that doesn't support being marshaled or stored in the Global Interface Table. |
IObjContext The IObjContext interface (objidl.h) performs various operations on contexts. |
IPersist Provides the CLSID of an object that can be stored persistently in the system. Allows the object to specify which object handler to use in the client process, as it is used in the default implementation of marshaling. |
IPersistFile Enables an object to be loaded from or saved to a disk file, rather than a storage object or stream. |
IPersistStorage Enables a container application to pass a storage object to one of its contained objects and to load and save the storage object. |
IPersistStream Enables the saving and loading of objects that use a simple serial stream for their storage needs. |
IPipeByte The IPipeByte interface (objidl.h) transfers data of the byte type, which is 8 bits wide. |
IPipeDouble The IPipeDouble interface (objidl.h) transfers data of the double type, which is 64 bits wide. |
IPipeLong The IPipeLong interface (objidl.h) transfers data of the long integer type, which is 32 bits wide. |
IProcessInitControl The IProcessInitControl interface (objidl.h) specifies the process initialization time-out interval. |
IProcessLock Used by ISurrogateService to prevent the process from terminating due to a time-out. |
IProgressNotify Enables applications and other objects to receive notifications of changes in the progress of a downloading operation. |
IPSFactoryBuffer The IPSFactoryBuffer interface (objidl.h) provides custom methods for the creation of COM object proxies and stubs. This interface is not marshalable. |
IRootStorage The IRootStorage interface contains a single method that switches a storage object to a different underlying file and saves the storage object to that file. |
IROTData Implemented by monikers to enable the running object table (ROT) to compare monikers against each other. |
IRpcChannelBuffer The IRpcChannelBuffer interface (objidl.h) marshals data between a COM client proxy and a COM server stub. |
IRpcOptions The IRpcOptions interface (objidl.h) enables callers to set or query the values of various properties that control how COM handles remote procedure calls (RPC). |
IRpcProxyBuffer The IRpcProxyBuffer (objidl.h) controls the RPC proxy used to marshal data between COM components. |
IRpcStubBuffer The IRpcStubBuffer interface (objidl.h) controls the RPC stub used to marshal data between COM components. |
IRunnableObject Enables a container to control the running of its embedded objects. |
IRunningObjectTable Manages access to the running object table (ROT), a globally accessible look-up table on each workstation. |
ISequentialStream The ISequentialStream interface supports simplified sequential access to stream objects. The IStream interface inherits its Read and Write methods from ISequentialStream. |
IServerSecurity The IServerSecurity (objidl.h) interface is used by a server to help authenticate the client and to manage impersonation of the client. |
IStdMarshalInfo The IStdMarshalInfo (objidl.h) interface retrieves the CLSID identifying the handler to be used in the destination process during standard marshaling. |
IStorage The IStorage interface supports the creation and management of structured storage objects. |
IStream The IStream interface lets you read and write data to stream objects. |
ISurrogate The ISurrogate (objidl.h) interface is used to dynamically load new DLL servers into an existing surrogate and free the surrogate when it is no longer needed. |
ISurrogateService Used to initialize, launch, and release a COM+ application. You can also refresh the catalog and shut down the process. |
ISynchronize The ISynchronize (objidl.h) interface provides asynchronous communication between objects about the occurrence of an event. |
ISynchronizeContainer The ISynchronizeContainer (objidl.h) interface manages a group of unsignaled synchronization objects. |
ISynchronizeEvent The ISynchronizeEvent (objidl.h) interface assigns an event handle to a synchronization object. |
ISynchronizeHandle The ISynchronizeHandle (objidl.h) interface retrieves a handle associated with a synchronization object. |
Functions
HBITMAP_UserFree Frees resources on the server side when called by RPC stub files. |
HBITMAP_UserFree64 Frees resources on the server side when called by RPC stub files. |
HBITMAP_UserMarshal Marshals an HBITMAP object into the RPC buffer. |
HBITMAP_UserMarshal64 Marshals an HBITMAP object into the RPC buffer. |
HBITMAP_UserSize Calculates the wire size of the HBITMAP object and gets its handle and data. |
HBITMAP_UserSize64 Calculates the wire size of the HBITMAP object and gets its handle and data. |
HBITMAP_UserUnmarshal Unmarshals an HBITMAP object from the RPC buffer. |
HBITMAP_UserUnmarshal64 Unmarshals an HBITMAP object from the RPC buffer. |
Structures
BIND_OPTS Contains parameters used during a moniker-binding operation. |
BIND_OPTS2 The BIND_OPTS2 structure contains parameters used during a moniker-binding operation. |
BIND_OPTS3 The BIND_OPTS3 structure contains parameters used during a moniker-binding operation. |
COSERVERINFO The COSERVERINFO (objidl.h) structure identifies a remote computer resource to the activation functions. |
DVTARGETDEVICE Specifies information about the target device for which data is being composed. DVTARGETDEVICE contains enough information about a Windows target device so a handle to a device context (HDC) can be created using the CreateDC function. |
FORMATETC Represents a generalized clipboard format. |
INTERFACEINFO Contains information about incoming calls. |
MULTI_QI The MULTI_QI (objidl.h) structure represents an interface in a query for multiple interfaces. |
RemSNB The RemSNB structure is used for marshaling the SNB data type.Defined in the IStorage interface (Storag.idl). |
RPCOLEMESSAGE The RPCOLEMESSAGE (objidl.h) structure contains marshaling invocation arguments and return values between COM components. |
SOLE_AUTHENTICATION_INFO The SOLE_AUTHENTICATION_INFO (objidl.h) structure identifies an authentication service, authorization service, and the information for the specified service. |
SOLE_AUTHENTICATION_LIST The SOLE_AUTHENTICATION_LIST (objidl.h) structure indicates the default authentication information to use with each authentication service. |
SOLE_AUTHENTICATION_SERVICE The SOLE_AUTHENTICATION_SERVICE (objidl.h) structure identifies an authentication service that a server is willing to use to communicate to a client. |
STATDATA Contains information used to specify each advisory connection. |
STATSTG Contains statistical data about an open storage, stream, or byte-array object. |
StorageLayout Describes a single block of data, including its name, location, and length. |
uSTGMEDIUM The uSTGMEDIUM structure represents a generalized global memory handle used for data transfer operations by the IAdviseSink, IDataObject, and IOleCache interfaces. |
Enumerations
ACTIVATIONTYPE The ACTIVATIONTYPE enumeration (objidl.h) specifies the kind of activation for an activatable class. |
ADVF Flags that control caching and notification of changes in data. |
APTTYPE The APTTYPE enumeration (objidl.h) specifies different types of apartments. |
APTTYPEQUALIFIER The APTTYPEQUALIFIER enumeration (objidl.h) specifies the set of possible COM apartment type qualifiers. |
BIND_FLAGS Controls aspects of moniker binding operations. |
CALLTYPE Specifies the call types used by IMessageFilter::HandleInComingCall. |
CO_MARSHALING_CONTEXT_ATTRIBUTES The CO_MARSHALING_CONTEXT_ATTRIBUTES enumeration (objidl.h) identifies one of the marshaling context attributes that can be queried using a specific method. |
DATADIR Specifies the direction of the data flow. This determines the formats that the resulting enumerator can enumerate. |
EOLE_AUTHENTICATION_CAPABILITIES The EOLE_AUTHENTICATION_CAPABILITIES enumeration (objidl.h) specifies various capabilities in CoInitializeSecurity and IClientSecurity::SetBlanket. |
EXTCONN The EXTCONN enumeration (objidl.h) specifies the type of external connection existing on an embedded object. |
GLOBALOPT_PROPERTIES The GLOBALOPT_PROPERTIES enumeration (objidl.h) identifies process-global options that you can set or query by using the IGlobalOptions interface. |
GLOBALOPT_UNMARSHALING_POLICY_VALUES The GLOBALOPT_UNMARSHALING_POLICY_VALUES enumeration (objidl.h) provides values for the COM unmarshaling policy global option. |
LOCKTYPE The LOCKTYPE enumeration values indicate the type of locking requested for the specified range of bytes. The values are used in the ILockBytes::LockRegion and IStream::LockRegion methods. |
MKRREDUCE Specifies how far a moniker should be reduced. |
MKSYS Indicates the moniker's class. |
PENDINGMSG Specifies the return values for the IMessageFilter::MessagePending method. |
PENDINGTYPE Indicates the level of nesting in the IMessageFilter::MessagePending method. |
SERVERCALL Indicates the status of server call. |
STGTY The STGTY enumeration values are used in the type member of the STATSTG structure to indicate the type of the storage element. A storage element is a storage object, a stream object, or a byte-array object (LOCKBYTES). |
STREAM_SEEK The STREAM_SEEK enumeration values specify the origin from which to calculate the new seek-pointer location. |
THDTYPE The THDTYPE enumeration (objidl.h) indicates whether a particular thread supports a message loop. |
TYMED Indicates the type of storage medium being used in a data transfer. They are used in the STGMEDIUM or FORMATETC structures. |