CLSCTXThe CLSCTX enumeration constants specify the execution context for a class object. Different pieces of code can be associated with one CLSID for use in different execution contexts. typedef enum tagCLSCTX
CLSCTX_INPROC_SERVER = 1,
CLSCTX_INPROC_HANDLER = 2,
CLSCTX_LOCAL_SERVER = 4
} CLSCTX; Elements CLSCTX_INPROC_SERVER The code that creates and manages objects of this class runs in the same process as the caller of the function specifying the class context. CLSCTX_INPROC_HANDLER The code that manages objects of this class is an in-process handler. This is a DLL that runs in the client process and implements client-side structures of this class when instances of the class are accessed remotely. CLSCTX_LOCAL_SERVER The EXE code that creates and manages objects of this class is loaded in a separate process space (runs on same machine but in a different process). To indicate that multiple contexts are acceptable, you can string multiple values together with boolean ORs. The contexts are tried in the order in which they are listed. The following table shows the use and reasons for CLSCTX values in calls to CoGetClassObject, which is used in the implementation of other OLE functions:
||Context Flag Used
||CLSCTX_INPROC_HANDLER | CLSCTX_INPROC_SERVER
Putting an OLE object into the loaded state requires in-process access; but, it doesn't matter if all of the object's function is presently available.
||CLSCTX_INPROC_SERVER | CLSCTX_LOCAL_SERVER
Running an OLE object requires connecting to the full code of the object wherever it is located.
Unmarshalling needs the form of the class designed for remote access.
- Software for developers
Software for Android Developers
- More information resources
Unix Manual Pages