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

El método GetProperty recupera una propiedad de metadatos de dispositivo específica.

Sintaxis

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

Parámetros

[in] pwszPropName

Un carácter ancho, nombre de cadena terminada en null de la propiedad que se va a recuperar. Se da una lista de constantes de nombre de propiedad estándar en Constantes de metadatos.

[out] pValue

Valor devuelto para la propiedad . La aplicación debe liberar esta memoria mediante PropVariantClear.

Valor devuelto

El método devuelve un valor HRESULT. Todos los métodos de interfaz de Windows Media Administrador de dispositivos pueden devolver cualquiera de las siguientes clases de códigos de error:

  • Códigos de error COM estándar
  • Códigos de error de Windows convertidos en valores HRESULT
  • Códigos de error de windows Media Administrador de dispositivos
Para obtener una lista extensa de posibles códigos de error, consulte Códigos de error.

Comentarios

Para obtener la lista de propiedades de dispositivo admitidas, el cliente llama a esta función y especifica g_wszWMDMSupportedDeviceProperties. Para obtener la lista de nombres de propiedad de dispositivo estándar, consulte Constantes de metadatos.

El cliente debe pasar un puntero a un PROPVARIANT vacío en el parámetro pValue . En la devolución, pValue contendrá el valor de la propiedad .

Este método es similar a los métodos GetMetadata y GetSpecifiedMetadata para los almacenamientos, pero este método solo puede obtener una propiedad cada vez.

Ejemplos

El siguiente código de C++ consulta la propiedad g_wszWMDMFormatsSupported, que devuelve una lista SAFEARRAY de formatos admitidos por un 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 Value
Plataforma de destino Windows
Encabezado mswmdm.h
Library Mssachlp.lib

Consulte también

Enumeración de dispositivos

IWMDMDevice3 (Interfaz)

IWMDMDevice3::SetProperty

IWMDMStorage3::GetMetadata

IWMDMStorage4::GetSpecifiedMetadata

Establecer metadatos en un archivo