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 |
---|---|
|
Metode berhasil. |
|
Panjang string terlalu besar agar pas dalam nilai UINT32 . |
|
Buffer tidak cukup besar untuk menahan string. |
|
Kunci yang ditentukan tidak ditemukan. |
|
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 |