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_Authenticators method retrieves an IWMSPluginsIWMSPlugins Interface that contains a collection of authentication plug-ins.
HRESULT get_Authenticators(
IWMSPlugins** pVal
);
Arguments
pVal |
[out] Pointer to a pointer to an IWMSPlugins interface that contains authentication plug-ins. |
Return Value
If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.
Return code |
Number |
Description |
|---|---|---|
E_POINTER |
0x80004003 |
Indicates that pVal is a NULL pointer argument. |
NS_E_PUBLISHING_POINT_REMOVED |
0xC00D145AL |
Indicates that the publishing point was already removed. |
Remarks
There is no limit to the number of plug-ins that can be in this collection. Authentication plug-ins can use any of three methods to identify clients.
The plug-in can request that the client supply a password and user name. The password can be encrypted or sent as clear text.
The plug-in can identify the client based on logon credentials.
The plug-in can ignore passwords, user names, and logon credentials.
If the plug-in is able to authenticate the client, it sends information about the client to the authorization plug-in to determine whether access permission can be granted.
This method calls AddRef internally. To avoid memory leaks, you must call Release when you are finished using the interface.
Example
#include <windows.h>
#include <atlbase.h> // Includes CComVariant.
#include "wmsserver.h"
// Declare variables and interfaces.
IWMSServer *pServer;
IWMSPublishingPoints *pPubPoints;
IWMSPublishingPoint *pPubPoint;
IWMSPlugins *pPlugins;
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 the IWMSPublishingPoints interface
// and retrieve the total count of publishing points.
hr = pServer->get_PublishingPoints(&pPubPoints);
if (FAILED(hr)) goto EXIT;
hr = pPubPoints->get_Count(&lCount);
if (FAILED(hr)) goto EXIT;
// Retrieve information about each publishing point.
for (long x = 0; x < lCount; x++)
{
varIndex = x;
hr = pPubPoints->get_Item(varIndex, &pPubPoint);
if (FAILED(hr)) goto EXIT;
// Retrieve a pointer to an IWMSPlugins interface
// that contains authentication plug-ins.
hr = pPubPoint->get_Authenticators(&pPlugins);
if (FAILED(hr)) goto EXIT;
// Release temporary COM objects.
pPubPoint->Release();
pPlugins->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.