IWMDMDeviceControl::GetCapabilities 方法 (mswmdm.h)
GetCapabilities 方法會擷取裝置功能,以判斷裝置可執行的作業。 這些功能描述媒體裝置所支援之裝置控制項的方法。
語法
HRESULT GetCapabilities(
[out] DWORD *pdwCapabilitiesMask
);
參數
[out] pdwCapabilitiesMask
指定裝置功能的 DWORD 指標。 您可以在此變數中傳回下列旗標。
旗標 | 描述 |
---|---|
WMDM_DEVICECAP_CANPLAY | 媒體裝置可以播放 MP3 音訊。 |
WMDM_DEVICECAP_CANSTREAMPLAY | 媒體裝置可以直接從主電腦播放串流音訊。 |
WMDM_DEVICECAP_CANRECORD | 媒體裝置可以錄製音訊。 |
WMDM_DEVICECAP_CANSTREAMRECORD | 媒體裝置可以直接將串流音頻錄製到主電腦。 |
WMDM_DEVICECAP_CANPAUSE | 媒體裝置可以在播放或錄製作業期間暫停。 |
WMDM_DEVICECAP_CANRESUME | 媒體裝置可以繼續暫停的作業。 |
WMDM_DEVICECAP_CANSTOP | 媒體裝置可以在檔案結尾之前停止播放。 |
WMDM_DEVICECAP_CANSEEK | 媒體裝置可以搜尋檔案開頭以外的位置。 |
WMDM_DEVICECAP_HASSECURECLOCK | 媒體裝置有安全的時鐘。 |
傳回值
方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。
傳回碼 | 描述 |
---|---|
|
此方法已成功。 |
|
pdwCapabilitiesMask 參數是無效或 NULL 指標。 |
|
發生未指定的錯誤。 |
備註
目前,許多裝置都未正確回報其功能。
範例
下列 C++ 程式代碼會擷取裝置功能。
// Examine the device capabilities.
// Use some of these to enable or disable the application's
// user interface elements.
CComQIPtr<IWMDMDeviceControl> pDeviceControl(pIWMDMDevice);
if (pDeviceControl != NULL)
{
DWORD caps = 0;
hr = pDeviceControl->GetCapabilities(&caps);
if (caps & WMDM_DEVICECAP_CANPLAY)
{
// TODO: Display a message indicating that the media device can play MP3 audio.
}
if (caps & WMDM_DEVICECAP_CANSTREAMPLAY)
{
// TODO: Display a message that the device can play audio directly from the host computer.
}
if (caps & WMDM_DEVICECAP_CANRECORD)
{
// TODO: Display a message that the device can record audio.
}
if (caps & WMDM_DEVICECAP_CANSTREAMRECORD)
{
// TODO: Display a message that the media device can record
// streaming audio directly to the host computer.
}
if (caps & WMDM_DEVICECAP_CANPAUSE)
{
// TODO: Display a message that the device can pause during play or record operations.
}
if (caps & WMDM_DEVICECAP_CANRESUME)
{
// TODO: Display a message that the device can resume an operation that was paused.
}
if (caps & WMDM_DEVICECAP_CANSTOP)
{
// TODO: Display a message that the device can stop playing before the end of a file.
}
if (caps & WMDM_DEVICECAP_CANSEEK)
{
// TODO: Display a message that the device can seek to a position
// other than the beginning of the file.
}
if (caps & WMDM_DEVICECAP_HASSECURECLOCK)
{
// TODO: Display a message indicating that the device has a secure clock.
}
}
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | mswmdm.h |
程式庫 | Mssachlp.lib |