IWMDMDevice3::GetProperty-Methode (mswmdm.h)
Die GetProperty-Methode ruft eine bestimmte Gerätemetadateneigenschaft ab.
Syntax
HRESULT GetProperty(
[in] LPCWSTR pwszPropName,
[out] PROPVARIANT *pValue
);
Parameter
[in] pwszPropName
Ein breit angelegter, NULL-beendeter Zeichenfolgenname der abzurufenden Eigenschaft. Eine Liste der Standardeigenschaftennamenkonstanten wird in Metadatenkonstanten angegeben.
[out] pValue
Zurückgegebener Wert für die Eigenschaft. Die Anwendung muss diesen Arbeitsspeicher mithilfe von PropVariantClear freigeben.
Rückgabewert
Die Methode gibt ein HRESULT zurück. Alle Schnittstellenmethoden in Windows Media Geräte-Manager können eine der folgenden Klassen von Fehlercodes zurückgeben:
- Com-Standardfehlercodes
- In HRESULT-Werte konvertierte Windows-Fehlercodes
- Windows Media Geräte-Manager Fehlercodes
Hinweise
Um die Liste der unterstützten Geräteeigenschaften abzurufen, ruft der Client diese Funktion auf und gibt g_wszWMDMSupportedDeviceProperties an. Die Liste der Standardgeräteeigenschaftennamen finden Sie unter Metadatenkonstanten.
Der Client sollte einen Zeiger auf eine leere PROPVARIANT im pValue-Parameter übergeben. Bei der Rückgabe enthält pValue den Wert der -Eigenschaft.
Diese Methode ähnelt den Methoden GetMetadata und GetSpecifiedMetadata für Speicher, aber diese Methode kann jeweils nur eine Eigenschaft abrufen.
Beispiele
Der folgende C++-Code fragt nach der g_wszWMDMFormatsSupported-Eigenschaft ab, die eine SAFEARRAY-Liste der von einem Gerät unterstützten Formate zurückgibt.
// 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;
}
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | mswmdm.h |
Bibliothek | Mssachlp.lib |