Поделиться через


Метод IWMDMDeviceControl::GetCapabilities (mswmdm.h)

Метод GetCapabilities извлекает возможности устройства, чтобы определить, какие операции может выполнять устройство. Эти возможности описывают методы управления устройством, поддерживаемые устройством мультимедиа.

Синтаксис

HRESULT GetCapabilities(
  [out] DWORD *pdwCapabilitiesMask
);

Параметры

[out] pdwCapabilitiesMask

Указатель на DWORD , указывающий возможности устройства. В этой переменной можно вернуть следующие флаги.

Flag Описание
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
Header mswmdm.h
Библиотека Mssachlp.lib

См. также раздел

Интерфейс IWMDMDeviceControl

Интерфейс IWMDMObjectInfo