IWMReaderAdvanced2::GetProtocolName method (wmsdkidl.h)

[The feature associated with this page, Windows Media Format 11 SDK, is a legacy feature. It has been superseded by Source Reader and Sink Writer. Source Reader and Sink Writer have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Source Reader and Sink Writer instead of Windows Media Format 11 SDK, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The GetProtocolName method retrieves the name of the protocol that is being used.

Syntax

HRESULT GetProtocolName(
  [out]     WCHAR *pwszProtocol,
  [in, out] DWORD *pcchProtocol
);

Parameters

[out] pwszProtocol

Pointer to a buffer that receives a string containing the protocol name. Pass NULL to retrieve the length of the name.

[in, out] pcchProtocol

On input, pointer to a variable containing the length of pwszProtocol, in characters. On output, the variable contains the length of the name, including the terminating null character.

Return value

The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.

Return code Description
S_OK
The method succeeded.
ASF_E_BUFFERTOOSMALL
The buffer is too small.
ASF_E_INVALIDSTATE
The protocol has not been determined, or no file is open.
E_INVALIDARG
The pcchProtocol parameter is NULL.

Remarks

You should make two calls to GetProtocolName. On the first call, pass NULL for pwszProtocol. On return, the value pointed to by pcchProtocol is set to the number of wide characters, including the terminating null, required to hold the protocol name. Then you can allocate the required amount of memory for the string and pass a pointer to it as pwszProtocol on the second call.

The protocol name is a URL scheme, such as mmsu, http, or file. However, the protocol name can differ from the URL scheme specified in IWMReader::Open, because the reader object might use protocol rollover to find the best protocol. Also, the returned string might be "File" for local file content, or "Cache" for content saved in the cache.

This method can return an empty string if the protocol name cannot be determined.

Requirements

   
Minimum supported client Windows 2000 Professional [desktop apps only],Windows Media Format 7 SDK, or later versions of the SDK
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header wmsdkidl.h (include Wmsdk.h)
Library Wmvcore.lib; WMStubDRM.lib (if you use DRM)

See also

IWMReaderAdvanced2 Interface