IMFAttributes::GetString-Methode (mfobjects.h)

Ruft eine Breitzeichenzeichenfolge ab, die einem Schlüssel zugeordnet ist.

Syntax

HRESULT GetString(
  [in]  REFGUID guidKey,
  [out] LPWSTR  pwszValue,
  [in]  UINT32  cchBufSize,
  [out] UINT32  *pcchLength
);

Parameter

[in] guidKey

GUID, die den abzurufenden Wert identifiziert. Der Attributtyp muss MF_ATTRIBUTE_STRING sein.

[out] pwszValue

Zeiger auf ein Breitzeichenarray, das vom Aufrufer zugewiesen wird. Das Array muss groß genug sein, um die Zeichenfolge zu enthalten, einschließlich des beendenden NULL-Zeichens. Wenn der Schlüssel gefunden wird und der Wert ein Zeichenfolgentyp ist, kopiert die Methode die Zeichenfolge in diesen Puffer. Um die Länge der Zeichenfolge zu ermitteln, rufen Sie IMFAttributes::GetStringLength auf.

[in] cchBufSize

Die Größe des pwszValue-Arrays in Zeichen. Dieser Wert enthält das beendende NULL-Zeichen.

[out] pcchLength

Empfängt die Anzahl der Zeichen in der Zeichenfolge, ausgenommen das beendende NULL-Zeichen . Dieser Parameter kann NULL sein.

Rückgabewert

Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich ausgeführt.
E_OUTOFMEMORY
Die Länge der Zeichenfolge ist zu groß, um in einen UINT32-Wert zu passen.
E_NOT_SUFFICIENT_BUFFER
Der Puffer ist nicht groß genug, um die Zeichenfolge aufzunehmen.
MF_E_ATTRIBUTENOTFOUND
Der angegebene Schlüssel wurde nicht gefunden.
MF_E_INVALIDTYPE
Der Attributwert ist keine Zeichenfolge.

Hinweise

Sie können auch die IMFAttributes::GetAllocatedString-Methode verwenden, die den Puffer für die Zeichenfolge zuordnet.

Diese Schnittstelle ist auf den folgenden Plattformen verfügbar, wenn die verteilbaren Windows Media Format 11 SDK-Komponenten installiert sind:

  • Windows XP mit Service Pack 2 (SP2) und höher.
  • Windows XP Media Center Edition 2005 mit KB900325 (Windows XP Media Center Edition 2005) und KB925766 (Updaterollup für Windows XP Media Center Edition vom Oktober 2006) installiert.

Beispiele

Das folgende Codebeispiel zeigt, wie Sie ein Attribut abrufen, dessen Wert eine Zeichenfolge ist.

HRESULT AttributeGetString(IMFAttributes *pAttributes)
{
    HRESULT hr = S_OK;
    UINT32 cchLength = 0;
    WCHAR *pString = NULL;

    hr = pAttributes->GetStringLength(MY_ATTRIBUTE, &cchLength);
    
    if (SUCCEEDED(hr))
    {
        pString = new WCHAR[cchLength + 1];
        if (pString == NULL)
        {
            hr = E_OUTOFMEMORY;
        }
    }

    if (SUCCEEDED(hr))
    {
        hr = pAttributes->GetString(
            MY_ATTRIBUTE, pString, cchLength + 1, &cchLength);
    }

    if (pString)
    {
        delete [] pString;
    }
    return hr;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile mfobjects.h (include Mfidl.h)
Bibliothek Mfuuid.lib

Weitere Informationen

Attribute und Eigenschaften

IMFAttributes

MF_ATTRIBUTE_TYPE