IWMMediaProps::GetMediaType 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 GetMediaType method retrieves a structure describing the media type.


HRESULT GetMediaType(
  [out]     WM_MEDIA_TYPE *pType,
  [in, out] DWORD         *pcbType


[out] pType

Pointer to a WM_MEDIA_TYPE structure. If this parameter is set to NULL, this method returns the size of the buffer required in the pcbType parameter.

[in, out] pcbType

On input, the size of the pType buffer. On output, if pType is set to NULL, the value this points to is set to the size of the buffer needed to hold the media type structure.

Return value

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

Return code Description
The method succeeded.
The pcbType parameter is NULL.
The pcbType parameter is not large enough.


You must make two calls to GetMediaType. On the first call, pass NULL as pType. On return, the value of pcbType will be set to the buffer size required to hold the WM_MEDIA_TYPE structure. Then you can allocate a buffer of the required size and pass a pointer to it as pType on the second call.


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

IWMMediaProps Interface


Media Types