ILocalRegistry.GetClassObjectOfClsid Method

Returns the class object associated with a CLSID.

Namespace:  Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop (in Microsoft.VisualStudio.Shell.Interop.dll)

Syntax

'Declaration
Function GetClassObjectOfClsid ( _
    ByRef clsid As Guid, _
    dwFlags As UInteger, _
    lpReserved As IntPtr, _
    ByRef riid As Guid, _
    <OutAttribute> ByRef ppvClassObject As IntPtr _
) As Integer
int GetClassObjectOfClsid(
    ref Guid clsid,
    uint dwFlags,
    IntPtr lpReserved,
    ref Guid riid,
    out IntPtr ppvClassObject
)
int GetClassObjectOfClsid(
    [InAttribute] Guid% clsid, 
    [InAttribute] unsigned int dwFlags, 
    [InAttribute] IntPtr lpReserved, 
    [InAttribute] Guid% riid, 
    [OutAttribute] IntPtr% ppvClassObject
)
abstract GetClassObjectOfClsid : 
        clsid:Guid byref * 
        dwFlags:uint32 * 
        lpReserved:IntPtr * 
        riid:Guid byref * 
        ppvClassObject:IntPtr byref -> int 
function GetClassObjectOfClsid(
    clsid : Guid, 
    dwFlags : uint, 
    lpReserved : IntPtr, 
    riid : Guid, 
    ppvClassObject : IntPtr
) : int

Parameters

  • clsid
    Type: System.Guid%
    [in] Class identifier (CLSID) of the requested object. This is the CLSID associated with the data and code that is used to create the object.
  • riid
    Type: System.Guid%
    [in] Interface to be used to communicate with the object. For example, IID_IClassFactory.
  • ppvClassObject
    Type: System.IntPtr%
    [in] Address of pointer variable that receives the interface pointer requested in riid. Upon successful return, ppvObj contains the requested interface pointer. Upon failure, ppvObj contains nulla null reference (Nothing in Visual Basic).

Return Value

Type: System.Int32
If the method succeeds, it returns S_OK. If it fails, it returns an error code.

Remarks

COM Signature

From objext.idl:

HRESULT ILocalRegistry::GetClassObjectOfClsid(
   [in] REFCLSID clsid,
   [in] DWORD dwFlags,
   [in] LPVOID lpReserved,
   [in] REFIID riid,
   [in] void** ppvClassObject
);

Specify a value of CLSCTX_INPROC_SERVER for the dwFlags parameter to instantiate the object locally. If you do not specify this value, then the object will be instantiated globally using COM's CoCreateInstance function.

.NET Framework Security

See Also

Reference

ILocalRegistry Interface

Microsoft.VisualStudio.Shell.Interop Namespace