Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The get_CustomInterface method retrieves a pointer to the administration interface for the plug-in.
HRESULT get_CustomInterface(
IDispatch** ppVal
);
Arguments
ppVal |
[out] Pointer to a pointer to the IDispatch interface for the administration user interface. This method calls AddRef internally. To avoid memory leaks, you must call Release when you are finished using the interface. |
Return Value
If the function succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.
Return code |
Number |
Description |
|---|---|---|
E_POINTER |
0x80004003 |
pVal is a NULL pointer argument. |
Remarks
When you call the get_CustomInterface method, the server will load the plug-in if it is not already loaded. Some plug-ins do not have user interfaces.
Example
#include <windows.h>
#include <atlbase.h> // Includes CComVariant.
#include "wmsserver.h"
// Declare variables and interfaces.
IWMSServer *pServer;
IWMSPlugins *pPlugins;
IWMSPlugin *pPlugin;
IDispatch *pCustomInterface;
HRESULT hr;
CComVariant varIndex;
long lCount;
// Initialize the COM library and retrieve a pointer
// to an IWMSServer interface.
hr = CoInitialize(NULL);
hr = CoCreateInstance(CLSID_WMSServer,
NULL,
CLSCTX_ALL,
IID_IWMSServer,
(void **)&pServer);
if (FAILED(hr)) goto EXIT;
// Retrieve a pointer to an IWMSPlugins interface
// and retrieve the total count of plug-ins.
hr = pServer->get_DataSources(&pPlugins);
if (FAILED(hr)) goto EXIT;
hr = pPlugins->get_Count(&lCount);
if (FAILED(hr)) goto EXIT;
// Retrieve information about each plug-in.
for (long x = 0; x < lCount; x++)
{
varIndex = x;
hr = pPlugins->get_Item(varIndex, &pPlugin);
if (FAILED(hr)) goto EXIT;
// Retrieve a pointer to an IDispatch interface
// containing the plug-in custom interface, if one exists.
hr = pPlugin->get_CustomInterface(&pCustomInterface);
if (FAILED(hr)) goto EXIT;
// Release temporary COM objects.
pPlugin->Release();
}
EXIT:
// TODO: Release temporary COM objects and uninitialize COM.
Requirements
Header: wmsserver.h.
Library: WMSServerTypeLib.dll.
Platform: Windows Server 2003 family, Windows Server 2008 family.