Метод 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. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Параметр 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 |
Header | mswmdm.h |
Библиотека | Mssachlp.lib |