IWMDMDevice::GetFormatSupport 方法 (mswmdm.h)
GetFormatSupport 方法會擷取裝置支援的所有格式,包括編解碼器和檔格式。
語法
HRESULT GetFormatSupport(
[out] _WAVEFORMATEX **ppFormatEx,
[out] UINT *pnFormatCount,
[out] LPWSTR **pppwszMimeType,
[out] UINT *pnMimeTypeCount
);
參數
[out] ppFormatEx
_WAVEFORMATEX結構的陣列指標,指定裝置所支援編解碼器和比特率的相關信息。 Windows Media 裝置管理員 配置此參數的記憶體;呼叫端必須使用 CoTaskMemFree 釋放它。
[out] pnFormatCount
ppFormatEx 陣列中元素數目的指標。
[out] pppwszMimeType
陣列的指標,描述裝置支援的檔格式和數位版權管理配置。 Windows Media 裝置管理員 配置此參數的記憶體;呼叫端必須使用 CoTaskMemFree 釋放它。
[out] pnMimeTypeCount
pppwszMimeType 數位列中元素數目的指標。
傳回值
方法會傳回 HRESULT。 Windows Media 裝置管理員 中的所有介面方法都可以傳回下列任何一種錯誤碼類別:
- 標準 COM 錯誤碼
- 轉換成 HRESULT 值的 Windows 錯誤碼
- Windows Media 裝置管理員 錯誤碼
備註
擷取裝置支援格式的建議方法是 IWMDMDevice3::GetFormatCapability。
範例
下列 C++ 函式會擷取各種裝置功能。
// Function to print out device caps for a device that supports
// only IWMDMDevice.
void GetCaps(IWMDMDevice* pDevice)
{
HRESULT hr = S_OK;
// Get all capabilities for audio and mime support.
_WAVEFORMATEX* pAudioFormats;
LPWSTR* pMimeFormats;
UINT numAudioFormats = 0;
UINT numMimeFormats = 0;
hr = pDevice->GetFormatSupport(
&pAudioFormats,
&numAudioFormats,
&pMimeFormats,
&numMimeFormats);
HANDLE_HR(hr, "Got audio and mime formats in GetCaps IWMDMDevice", "Couldn't get audio and mime formats in GetCaps IWMDMDevice");
// Print out audio format data.
if (numAudioFormats > 0)
{
/ /TODO: Display a banner to precede the supported formats.
}
else
{
// TODO: Display a message indicating that no formats are supported.
}
for(int i = 0; i < numAudioFormats; i++)
{
// TODO: Display a configuration value.
PrintWaveFormatGuid(pAudioFormats[i].wFormatTag);
// TODO: Display a max channel value.
// TODO: Display a max samples/second value.
// TODO: Display the max bytes/second value.
// TODO: Display the block alignment value.
// TODo: Display the max bits/sample value.
}
// Print out MIME formats.
if (numMimeFormats > 0)
// TODO: Display a banner for the MIME format listing.
else
/ /TODO: Display a message indicating that no MIME formats are supported.
for(i = 0; i < numMimeFormats; i++)
{
// TODO: Display each individual MIME format.
}
e_Exit:
return;
}
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | mswmdm.h |
程式庫 | Mssachlp.lib |