IWMSAdminNetworkDataSourcePlugin::SetProxyCredentials

banner art

Previous Next

IWMSAdminNetworkDataSourcePlugin::SetProxyCredentials

The SetProxyCredentials method specifies the user name and password that can be used to connect to a proxy.

Syntax

  HRESULT SetProxyCredentials(
  BSTR  bstrProtocol,
  wchar_t*  bstrName,
  wchar_t*  bstrPassword,
  VARIANT_BOOL  fPersist
);

Parameters

bstrProtocol

[in] BSTR containing the protocol. This must be either HTTP or RTSP.

bstrName

[in] Pointer to a wchar_t containing the name.

bstrPassword

[in] Pointer to a wchar_t containing the password.

fPersist

[in] Flag indicating persistent credentials.

Return Values

If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.

Return code Number Description
NS_E_INVALID_REQUEST 0xC00D002B The bstrProtocol parameter must be HTTP or RTSP.

Remarks

Before returning, this method zeros out the memory used internally for the user name and password so that unencrypted local copies cannot be found on the computer on which Windows Media Services is running.

Example Code

#include <windows.h>
#include <atlbase.h>    // Includes CComBSTR and CComVariant.

// To access system plug-in interfaces, the
// entire type library must be imported as shown.
#import "WMSServerTypeLib.dll" no_namespace named_guids \
                               raw_interfaces_only

// Declare variables and interfaces.
IWMSServer                       *pServer;
IWMSPlugins                      *pPlugins;
IWMSPlugin                       *pPlugin;
IDispatch                        *pDispatch;
IWMSAdminNetworkDataSourcePlugin *pAdminNetDataSrc;

HRESULT         hr;
CComVariant     varIndex;
CComBSTR        bstrProtocol;
wchar_t*        bstrPassword;
wchar_t*        bstrName;

// 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
// containing data source plug-ins.
hr = pServer->get_DataSources(&pPlugins);
if (FAILED(hr)) goto EXIT;

// Retrieve a pointer to the IWMSPlugin interface
// of the plug-in to be configured.
varIndex = "WMS Network Data Source";
hr = pPlugins->get_Item(varIndex, &pPlugin);
if (FAILED(hr)) goto EXIT;

// Retrieve a pointer to the custom interface
// of the plug-in.
hr = pPlugin->get_CustomInterface(&pDispatch);
if (FAILED(hr)) goto EXIT;

// Query the specific administration interface
// for the plug-in.
hr = pDispatch->QueryInterface(IID_IWMSAdminNetworkDataSourcePlugin,
                              (void **)&pAdminNetDataSrc);
if (FAILED(hr)) goto EXIT;

// Set the user name and password used to
// connect to a proxy.
bstrProtocol = "MMS";
bstrName = L"UserName";
bstrPassword = L"Password";
hr = pAdminNetDataSrc->SetProxyCredentials(bstrProtocol, bstrName,
                                       bstrPassword, VARIANT_FALSE);
if (FAILED(hr)) goto EXIT;

EXIT:
    // TODO: Release temporary COM objects and uninitialize COM.

Requirements

Library: WMSServerTypeLib.dll.

Platform: Windows Server 2003 family, Windows Server 2008 family.

See Also

Previous Next