IWMSAdminNetworkDataSourcePlugin::get_SupportedProtocolName

banner art

Previous Next

IWMSAdminNetworkDataSourcePlugin::get_SupportedProtocolName

The get_SupportedProtocolName method retrieves the name of a specific protocol from a list of supported protocols.

Syntax

  HRESULT get_SupportedProtocolName(
  long  dwProtocolNum,
  BSTR*  pbstrProtocol
);

Parameters

dwProtocolNum

[in] long containing the index. This must be either 0 or 1.

pbstrProtocol

[out] Pointer to a BSTR containing the protocol name.

Return Values

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

Return code Number Description
E_INVALIDARG 0x80070057 The dwProtocolNum parameter is 0 or 1, but neither the HTTP protocol nor the RTSP protocol are supported, or the dwProtocolNum parameter is not 0 or 1.

Remarks

If you specify 0 for the dwProtocolNum parameter, the server returns HTTP if it is supported. If you specify 0 for the dwProtocolNum parameter, and HTTP is not supported but RTSP is, the server returns RTSP. If you specify 1 for the dwProtocolNum parameter, and RTSP is supported, the server returns RTSP. The server does not return HTTP if you specify 1 for the dwProtocolNum parameter.

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;

// 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;

// Retrieve the name of the first supported protocol.
hr = pAdminNetDataSrc->get_SupportedProtocolName(0, &bstrProtocol);
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