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

La méthode GetProperty récupère une propriété de métadonnées d’appareil spécifique.

Syntaxe

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

Paramètres

[in] pwszPropName

Nom de chaîne à caractère large, terminé par null, de la propriété à récupérer. Une liste de constantes de nom de propriété standard est donnée dans Constantes de métadonnées.

[out] pValue

Valeur retournée pour la propriété . L’application doit libérer cette mémoire à l’aide de PropVariantClear.

Valeur retournée

Cette méthode retourne un code HRESULT. Toutes les méthodes d’interface dans Windows Media Gestionnaire de périphériques peuvent retourner l’une des classes suivantes de codes d’erreur :

  • Codes d’erreur COM standard
  • Codes d’erreur Windows convertis en valeurs HRESULT
  • Codes d’erreur Gestionnaire de périphériques Windows Media
Pour obtenir une liste complète des codes d’erreur possibles, consultez Codes d’erreur.

Remarques

Pour obtenir la liste des propriétés d’appareil prises en charge, le client appelle cette fonction et spécifie g_wszWMDMSupportedDeviceProperties. Pour obtenir la liste des noms de propriétés d’appareil standard, consultez Constantes de métadonnées.

Le client doit passer un pointeur vers un PROPVARIANT vide dans le paramètre pValue . Au retour, pValue contient la valeur de la propriété .

Cette méthode est similaire aux méthodes GetMetadata et GetSpecifiedMetadata pour les stockages, mais cette méthode ne peut obtenir qu’une seule propriété à la fois.

Exemples

Le code C++ suivant interroge la propriété g_wszWMDMFormatsSupported, qui retourne une liste SAFEARRAY des formats pris en charge par un appareil.


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

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête mswmdm.h
Bibliothèque Mssachlp.lib

Voir aussi

Énumération des appareils

IWMDMDevice3, interface

IWMDMDevice3 ::SetProperty

IWMDMStorage3 ::GetMetadata

IWMDMStorage4 ::GetSpecifiedMetadata

Définition des métadonnées sur un fichier