IKsPropertySet::Get method

[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 Get mengambil properti yang diidentifikasi oleh kumpulan properti GUID dan ID properti.

Sintaks

HRESULT Get(
  [in]  REFGUID guidPropSet,
  [in]  DWORD   dwPropID,
  [in]  LPVOID  pInstanceData,
  [in]  DWORD   cbInstanceData,
  [out] LPVOID  pPropData,
  [in]  DWORD   cbPropData,
  [out] DWORD   *pcbReturned
);

Parameter

guidPropSet [in]

GUID set properti .

dwPropID [in]

Pengidentifikasi properti dalam kumpulan properti.

pInstanceData [in]

Penunjuk ke array byte yang berisi data instans untuk properti .

cbInstanceData [in]

Ukuran array yang diberikan dalam pInstanceData, dalam byte.

pPropData [out]

Penunjuk ke array byte yang menerima data properti.

cbPropData [in]

Ukuran array yang diberikan dalam pPropData, dalam byte.

pcbReturned [out]

Menerima jumlah byte yang disalin metode ke array pPropData .

Nilai kembali

Mengembalikan nilai HRESULT . Nilai yang mungkin termasuk yang berikut ini.

Menampilkan kode Deskripsi
S_OK
Berhasil.
E_PROP_SET_UNSUPPORTED
Kumpulan properti tidak didukung.
E_PROP_ID_UNSUPPORTED
ID properti tidak didukung untuk kumpulan properti yang ditentukan.

 

Keterangan

Catatan

Antarmuka lain dengan nama ini ada di file header dsound.h. Kedua antarmuka tidak kompatibel. Antarmuka IKsControl , yang di dokumentasikan di DirectShow DDK, sekarang menjadi antarmuka yang direkomendasikan untuk melewati set properti antara driver WDM dan komponen mode pengguna.

 

Untuk mengambil properti, alokasikan buffer yang kemudian akan diisi metode ini. Untuk menentukan ukuran buffer yang diperlukan, tentukan NULL untuk pPropData dan nol (0) untuk cbPropData. Metode ini mengembalikan ukuran buffer yang diperlukan dalam pcbReturned.

Anda harus menyertakan Ks.h sebelum Ksproxy.h.

Contoh

Contoh berikut mengkueri pin untuk kategori pin-nya, dengan mengambil properti AMPROPERTY_PIN_CATEGORY . (Lihat Menyematkan Set Properti.)

HRESULT GetPinCategory(IPin *pPin, GUID *pPinCategory)
{
    IKsPropertySet *pKs = NULL;

    HRESULT hr = pPin->QueryInterface(IID_PPV_ARGS(&pKs));
    if (FAILED(hr))
    {
        return hr;
    }

    // Try to retrieve the pin category.
    DWORD cbReturned = 0;
    hr = pKs->Get(AMPROPSETID_Pin, AMPROPERTY_PIN_CATEGORY, NULL, 0, 
        pPinCategory, sizeof(GUID), &cbReturned);
    
    // If this succeeded, pPinCategory now contains the category GUID.

    SafeRelease(&pKs);
    return hr;
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung
Windows 2000 Server [hanya aplikasi desktop]
Header
Ksproxy.h
Pustaka
Strmiids.lib

Lihat juga

Kode Kesalahan dan Keberhasilan

Antarmuka IKsPropertySet

Set Properti