Compartilhar via


Método IWMDMDevice3::GetProperty (mswmdm.h)

O método GetProperty recupera uma propriedade de metadados de dispositivo específica.

Sintaxe

HRESULT GetProperty(
  [in]  LPCWSTR     pwszPropName,
  [out] PROPVARIANT *pValue
);

Parâmetros

[in] pwszPropName

Um caractere largo, nome de cadeia de caracteres terminada em nulo da propriedade a ser recuperada. Uma lista de constantes de nome de propriedade padrão é fornecida em Constantes de Metadados.

[out] pValue

Valor retornado para a propriedade . O aplicativo deve liberar essa memória usando PropVariantClear.

Retornar valor

O método retorna um HRESULT. Todos os métodos de interface no Windows Media Gerenciador de Dispositivos podem retornar qualquer uma das seguintes classes de códigos de erro:

  • Códigos de erro COM padrão
  • Códigos de erro do Windows convertidos em valores HRESULT
  • Códigos de erro do Windows Media Gerenciador de Dispositivos
Para obter uma lista abrangente de possíveis códigos de erro, consulte Códigos de erro.

Comentários

Para obter a lista de propriedades de dispositivo com suporte, o cliente chama essa função e especifica g_wszWMDMSupportedDeviceProperties. Para obter a lista de nomes de propriedade de dispositivo padrão, consulte Constantes de metadados.

O cliente deve passar um ponteiro para um PROPVARIANT vazio no parâmetro pValue . No retorno, pValue conterá o valor da propriedade .

Esse método é semelhante aos métodos GetMetadata e GetSpecifiedMetadata para armazenamentos, mas esse método pode obter apenas uma propriedade por vez.

Exemplos

O código C++ a seguir consulta a propriedade g_wszWMDMFormatsSupported, que retorna uma lista SAFEARRAY de formatos compatíveis com um dispositivo.


// Query a device for supported configurations for each media or format type. 
HRESULT GetCaps(IWMDMDevice3* pDevice)
{
    HRESULT hr = S_OK;

    // Request the "formats supported" property to get a list of supported formats.
    PROPVARIANT pvFormatsSupported;
    PropVariantInit(&pvFormatsSupported);
    hr = pDevice->GetProperty(g_wszWMDMFormatsSupported, &pvFormatsSupported);
    HANDLE_HR(hr, "Got a property list in GetCaps", "Couldn't get a property list in GetCaps.");

    // Loop through the retrieved format list.
    // For each format, get a list of format configurations.
    SAFEARRAY* formatList = pvFormatsSupported.parray;
    WMDM_FORMATCODE formatCode = WMDM_FORMATCODE_NOTUSED;
    for(LONG iCap = 0; iCap < formatList->rgsabound[0].cElements; iCap++)
    { 
        // Get a format from the SAFEARRAY of retrieved formats.
        SafeArrayGetElement(formatList, &iCap, &formatCode);

        // Call a custom function to see the specifics of device support for 
       // each format.
        if (formatCode != WMDM_FORMATCODE_NOTUSED)
            myGetFormatCaps(formatCode, pDevice);
    }

e_Exit:
    // Clear out the memory we used.
    PropVariantClear(&pvFormatsSupported);
    return hr;
}

Requisitos

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

Confira também

Enumerando dispositivos

IWMDMDevice3 Interface

IWMDMDevice3::SetProperty

IWMDMStorage3::GetMetadata

IWMDMStorage4::GetSpecifiedMetadata

Definindo metadados em um arquivo