IMFAttributes::Metode GetBlob (mfobjects.h)
Mengambil array byte yang terkait dengan kunci. Metode ini menyalin array ke dalam buffer yang dialokasikan pemanggil.
Sintaks
HRESULT GetBlob(
[in] REFGUID guidKey,
[out] UINT8 *pBuf,
[in] UINT32 cbBufSize,
[out] UINT32 *pcbBlobSize
);
Parameter
[in] guidKey
GUID yang mengidentifikasi nilai mana yang akan diambil. Jenis atribut harus MF_ATTRIBUTE_BLOB.
[out] pBuf
Penunjuk ke buffer yang dialokasikan oleh pemanggil. Jika kunci ditemukan dan nilainya adalah array byte, metode menyalin array ke dalam buffer ini. Untuk menemukan ukuran buffer yang diperlukan, panggil IMFAttributes::GetBlobSize.
[in] cbBufSize
Ukuran buffer pBuf , dalam byte.
[out] pcbBlobSize
Menerima ukuran array byte. 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. |
|
Buffer tidak cukup besar untuk array. |
|
Kunci yang ditentukan tidak ditemukan. |
|
Nilai atribut bukan array byte. |
Keterangan
Anda juga dapat menggunakan metode IMFAttributes::GetAllocatedBlob , yang mengalokasikan buffer untuk menahan array byte.
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) diinstal.
Contoh
Contoh kode berikut menunjukkan cara mendapatkan atribut yang nilainya adalah array byte.
HRESULT AttributeGetBlob(IMFAttributes *pAttributes)
{
HRESULT hr = S_OK;
UINT32 cbBlob = 0;
BYTE *pBlob = NULL;
hr = pAttributes->GetBlobSize(MY_ATTRIBUTE, &cbBlob);
if (SUCCEEDED(hr))
{
pBlob = new BYTE[cbBlob];
if (pBlob == NULL)
{
hr = E_OUTOFMEMORY;
}
}
if (SUCCEEDED(hr))
{
hr = pAttributes->GetBlob(MY_ATTRIBUTE, pBlob, cbBlob, &cbBlob);
}
if (pBlob)
{
delete [] pBlob;
}
return hr;
}
Persyaratan
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
Saran dan Komentar
Kirim dan lihat umpan balik untuk