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