VirtualChannelGetInstance entry point

Called to have the plug-in create an instance of the IWTSPlugin interface for all plug-ins implemented by the DLL.


This function is implemented by the plug-in and must be exported by name such that an application can use the LoadLibrary and GetProcAddress functions to dynamically link to the function.

The prototype for this function is not contained in any public header file, so you must declare it exactly as shown.



HRESULT VCAPITYPE VirtualChannelGetInstance(
  _In_    REFIID refiid,
  _Inout_ ULONG  *pNumObjs,
  _Out_   VOID   **ppObjArray


refiid [in]

Specifies the type of interface to return. This must be IID_IWTSPlugin.

pNumObjs [in, out]

The address of a ULONG variable that receives the number of interfaces retrieved.

ppObjArray [out]

The address of an array of pointers that receives the interface pointers. If this parameter is NULL, the implementation must put the number of plug-ins implemented by the DLL in the pNumObjs parameter. This allows the caller to allocate the proper size array for ppObjArray.

Return value

If this entry point succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.


Minimum supported client

Windows Vista

Minimum supported server

Windows Server 2008