Compartilhar via


Método IWMDMDeviceControl::GetCapabilities (mswmdm.h)

O método GetCapabilities recupera os recursos do dispositivo para determinar quais operações o dispositivo pode executar. Os recursos descrevem os métodos do controle de dispositivo compatíveis com o dispositivo de mídia.

Sintaxe

HRESULT GetCapabilities(
  [out] DWORD *pdwCapabilitiesMask
);

Parâmetros

[out] pdwCapabilitiesMask

Ponteiro para um DWORD que especifica os recursos do dispositivo. Os sinalizadores a seguir podem ser retornados nessa variável.

Sinalizador Descrição
WMDM_DEVICECAP_CANPLAY O dispositivo de mídia pode reproduzir áudio MP3.
WMDM_DEVICECAP_CANSTREAMPLAY O dispositivo de mídia pode reproduzir áudio de streaming diretamente do computador host.
WMDM_DEVICECAP_CANRECORD O dispositivo de mídia pode gravar áudio.
WMDM_DEVICECAP_CANSTREAMRECORD O dispositivo de mídia pode gravar áudio de streaming diretamente no computador host.
WMDM_DEVICECAP_CANPAUSE O dispositivo de mídia pode pausar durante operações de reprodução ou gravação.
WMDM_DEVICECAP_CANRESUME O dispositivo de mídia pode retomar uma operação que foi pausada.
WMDM_DEVICECAP_CANSTOP O dispositivo de mídia pode parar de ser reproduzido antes do final de um arquivo.
WMDM_DEVICECAP_CANSEEK O dispositivo de mídia pode buscar uma posição diferente do início de um arquivo.
WMDM_DEVICECAP_HASSECURECLOCK O dispositivo de mídia tem um relógio seguro.

Retornar valor

O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
E_INVALIDARG
O parâmetro pdwCapabilitiesMask é um ponteiro NULL ou inválido.
E_FAIL
Ocorreu um erro não especificado.

Comentários

Atualmente, poucos dispositivos relatam seus recursos corretamente.

Exemplos

O código C++ a seguir recupera os recursos do dispositivo.


// 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.
    }
}

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho mswmdm.h
Biblioteca Mssachlp.lib

Confira também

IWMDMDeviceControl Interface

IWMDMObjectInfo Interface