Allows the creation of objects in the debugger process by code that is out-of-process to the debugger.

Security noteSecurity Note

This method should not be implemented, because it allows untrusted code to create arbitrary objects in a trusted debugger thread.

HRESULT CreateInstanceAtDebugger(
   REFCLSID    rclsid,
   IUnknown*   pUnkOuter,
   DWORD       dwClsContext,
   REFIID      riid,
   IUnknown**  ppvObject



[in] Class identifier (CLSID) of the object to create.


[in] If NULL, the object is not being created as part of an aggregate. Otherwise, pUnkOuter is a pointer to the aggregate object's IUnknown interface (the controlling IUnknown).


[in] Context for running executable code. The values are taken from the enumeration CLSCTX.


[in] The interface identifier used to communicate with the object.


[out] Address of pointer variable that receives the interface pointer requested in riid. Upon successful return, *ppvObject contains the requested interface pointer. Upon failure, *ppvObject contains NULL.

Expand imageReturn Value

Expand imageRemarks

Expand imageSee Also