Freigeben über


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
Eine ausführliche Liste möglicher Fehlercodes finden Sie unter 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

Weitere Informationen

Auflisten von Geräten

IWMDMDevice3-Schnittstelle

IWMDMDevice3::SetProperty

IWMDMStorage3::GetMetadata

IWMDMStorage4::GetSpecifiedMetadata

Festlegen von Metadaten für eine Datei