IMFAttributes::Metode GetString (mfobjects.h)

Mengambil string karakter lebar yang terkait dengan kunci.

Sintaks

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

Parameter

[in] guidKey

GUID yang mengidentifikasi nilai mana yang akan diambil. Jenis atribut harus MF_ATTRIBUTE_STRING.

[out] pwszValue

Penunjuk ke array karakter lebar yang dialokasikan oleh pemanggil. Array harus cukup besar untuk menahan string, termasuk karakter NULL yang mengakhiri. Jika kunci ditemukan dan nilainya adalah jenis string, metode menyalin string ke dalam buffer ini. Untuk menemukan panjang string, panggil IMFAttributes::GetStringLength.

[in] cchBufSize

Ukuran array pwszValue , dalam karakter. Nilai ini mencakup karakter NULL yang mengakhiri.

[out] pcchLength

Menerima jumlah karakter dalam string, tidak termasuk karakter NULL yang mengakhiri. Parameter ini bisa NULL.

Nilai kembali

Metode mengembalikan HRESULT. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut.

Menampilkan kode Deskripsi
S_OK
Metode berhasil.
E_OUTOFMEMORY
Panjang string terlalu besar agar pas dalam nilai UINT32 .
E_NOT_SUFFICIENT_BUFFER
Buffer tidak cukup besar untuk menahan string.
MF_E_ATTRIBUTENOTFOUND
Kunci yang ditentukan tidak ditemukan.
MF_E_INVALIDTYPE
Nilai atribut bukan string.

Keterangan

Anda juga dapat menggunakan metode IMFAttributes::GetAllocatedString , yang mengalokasikan buffer untuk menahan string.

Antarmuka ini tersedia pada platform berikut jika komponen yang dapat didistribusikan ulang Windows Media Format 11 SDK diinstal:

  • Windows XP dengan Paket Layanan 2 (SP2) dan yang lebih baru.
  • Windows XP Media Center Edition 2005 dengan KB900325 (Windows XP Media Center Edition 2005) dan KB925766 (Rollup Pembaruan Oktober 2006 untuk Windows XP Media Center Edition) terinstal.

Contoh

Contoh kode berikut menunjukkan cara mendapatkan atribut yang nilainya adalah string.

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

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header mfobjects.h (termasuk Mfidl.h)
Pustaka Mfuuid.lib

Lihat juga

Atribut dan Properti

IMFAttributes

MF_ATTRIBUTE_TYPE