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