共用方式為


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。 可能的值包括 (但不限於) 下表中的這些值。

傳回碼 描述
S_OK
此方法已成功。
E_INVALIDARG
pdwCapabilitiesMask 參數是無效或 NULL 指標。
E_FAIL
發生未指定的錯誤。

備註

目前,許多裝置都未正確回報其功能。

範例

下列 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

另請參閱

IWMDMDeviceControl 介面

IWMDMObjectInfo 介面