Antarmuka IKsControl (ks.h)

Antarmuka IKsControl adalah antarmuka gaya COM yang diimplementasikan pada filter dan pin AVStream. Ini memungkinkan klien dalam mode kernel untuk mengakses objek otomatisasi AVStream (properti, metode, dan peristiwa).

Lihat antarmuka COM proksi kernel-streaming IKsControl (ksproxy.h) untuk informasi tentang mode kernel yang setara dengan antarmuka ini.

Warisan

Antarmuka IKsControl mewarisi dari antarmuka IUnknown .

Metode

Antarmuka IKsControl memiliki metode ini.

 
IKsControl::KsEvent

Metode IKsControl::KsEvent memungkinkan atau menonaktifkan peristiwa, bersama dengan operasi dukungan lain yang ditentukan yang tersedia pada set peristiwa.
IKsControl::KsMethod

Metode IKsControl::KsMethod mengirimkan metode ke objek KS, bersama dengan operasi dukungan lain yang ditentukan yang tersedia pada set metode.
IKsControl::KsProperty

Metode IKsControl::KsProperty mengatur properti atau mengambil informasi properti, bersama dengan operasi dukungan lain yang ditentukan yang tersedia pada kumpulan properti.

Keterangan

CATATAN: Antarmuka IKsControl tidak boleh digunakan dengan properti KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY di bawah set properti KSPROPERTYSETID_ExtendedCameraControl , silakan gunakan IMFExtendedCameraController.

Minidriver biasanya memperoleh antarmuka IKsControl melalui panggilan ke KsPinGetConnectedFilterInterface atau KsPinGetConnectedPinInterface. Karena ini adalah antarmuka gaya COM, panggilan fungsi untuk mendapatkan antarmuka ini memanggil metode QueryInterface , yang pada gilirannya memanggil metode AddRef . Oleh karena itu, minidriver tidak harus melakukan langkah-langkah ini.

Namun, segera setelah klien selesai dengan antarmuka IKsControl , klien harus merilis IKsControl dengan panggilan ke metode Rilis .

Minidriver yang ditulis dalam C memanipulasi antarmuka IKsControl sebagai struktur yang berisi penunjuk ke tabel fungsi alih-alih kelas dasar abstrak C++.

Klien yang ditulis dalam C++ melakukan hal berikut:

IKsControl *Control;

if (NT_SUCCESS (
  KsPinGetConnectedPinInterface (
    Pin,
    IID_IKsControl,
    (PVOID *)&Control) )
) {
  Control -> KsProperty (...);
  Control -> Release ();
}

Namun, klien yang ditulis dalam C menggunakan kode ini sebagai gantinya:

IKsControl *Control;

    If (NT_SUCCESS (
      KsPinGetConnectedPinInterface (
        Pin,
        IID_IKsControl,
        (PVOID *)&Control) )
    ) {
      Control -> lpVtbl -> KsProperty (...);
      Control -> lpVtbl -> Release ();
    }

Untuk informasi selengkapnya, lihat Gambaran Umum AVStream.

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header ks.h (termasuk Ks.h)

Lihat juga

IKsControl(ksproxy.h)

KsPinGetConnectedFilterInterface

KsPinGetConnectedPinInterface