Metode IKsPin::KsQueryMediums
[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Pengambilan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine , dan Pengambilan Audio/Video di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]
Metode ini KsQueryMediums
mengambil media yang didukung oleh pin.
Sintaks
HRESULT KsQueryMediums(
[out] KSMULTIPLE_ITEM **ppmi
);
Parameter
-
ppmi [out]
-
Alamat pointer ke struktur KSMULTIPLE_ITEM .
Mengembalikan nilai
Jika metode berhasil, metode akan mengembalikan S_OK. Jika gagal, kode kesalahan HRESULT akan dikembalikan.
Keterangan
Metode ini mengembalikan struktur KSMULTIPLE_ITEM yang dialokasikan tugas, yang diikuti oleh nol atau lebih struktur REGPINMEDIUM . Anggota Count dari struktur KSMULTIPLE_ITEM menentukan jumlah struktur REGPINMEDIUM . Setiap struktur REGPINMEDIUM mendefinisikan media yang didukung oleh pin.
Pemanggil harus membebaskan struktur yang dikembalikan, menggunakan fungsi CoTaskMemFree .
Anda harus menyertakan Ks.h sebelum Ksproxy.h.
Contoh
Fungsi pembantu berikut mencoba mencocokkan pin dengan media tertentu.
HRESULT FindMatchingMedium(
IPin *pPin,
REGPINMEDIUM *pMedium,
bool *pfMatch)
{
IKsPin* pKsPin = NULL;
KSMULTIPLE_ITEM *pmi;
*pfMatch = false;
HRESULT hr = pPin->QueryInterface(IID_IKsPin, (void **)&pKsPin);
if (FAILED(hr))
return hr; // Pin does not support IKsPin.
hr = pKsPin->KsQueryMediums(&pmi);
pKsPin->Release();
if (FAILED(hr))
return hr; // Pin does not support mediums.
if (pmi->Count)
{
// Use pointer arithmetic to reference the first medium structure.
REGPINMEDIUM *pTemp = (REGPINMEDIUM*)(pmi + 1);
for (ULONG i = 0; i < pmi->Count; i++, pTemp++)
{
if (pMedium->clsMedium == pTemp->clsMedium)
{
*pfMatch = true;
break;
}
}
}
CoTaskMemFree(pmi);
return S_OK;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
Header |
|
Pustaka |
|
Lihat juga