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 |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour