Freigeben über


IKsControl-Schnittstelle (ks.h)

Die IKsControl Schnittstelle ist eine COM-Formatschnittstelle, die auf AVStream-Filtern und -Pins implementiert ist. Es ermöglicht Clients im Kernelmodus den Zugriff auf AVStream-Automatisierungsobjekte (Eigenschaften, Methoden und Ereignisse).

Informationen zum Kernelmodusäquivalent dieser Schnittstelle finden Sie in der IKsControl (ksproxy.h) Kernelstream-Proxy-COM-Schnittstelle.

Erbschaft

Die IKsControl Schnittstelle erbt von der IUnknown Schnittstelle.

Methodik

Die IKsControl--Schnittstelle verfügt über diese Methoden.

 
IKsControl::KsEvent

Die IKsControl::KsEvent-Methode aktiviert oder deaktiviert ein Ereignis zusammen mit anderen definierten Supportvorgängen, die für einen Ereignissatz verfügbar sind.
IKsControl::KsMethod

Die IKsControl::KsMethod-Methode sendet eine Methode an ein KS-Objekt zusammen mit allen anderen definierten Supportvorgängen, die für einen Methodensatz verfügbar sind.
IKsControl::KsProperty

Die IKsControl::KsProperty-Methode legt eine Eigenschaft fest oder ruft Eigenschaftsinformationen zusammen mit allen anderen definierten Supportvorgängen ab, die für einen Eigenschaftensatz verfügbar sind.

Bemerkungen

HINWEIS: Die IKsControl Schnittstelle sollte nicht mit KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY Eigenschaften unter KSPROPERTYSETID_ExtendedCameraControl Eigenschaftensatz verwendet werden. Verwenden Sie bitte IMFExtendedCameraController.

Minidriver rufen in der Regel die IKsControl Schnittstelle über einen Aufruf von KsPinGetConnectedFilterInterface oder KsPinGetConnectedPinInterfaceab. Da es sich um eine COM-Schnittstelle handelt, ruft der Funktionsaufruf zum Abrufen dieser Schnittstelle die QueryInterface--Methode auf, die wiederum die AddRef--Methode aufruft. Daher muss der Minidriver diese Schritte nicht ausführen.

Sobald der Client jedoch mit der IKsControl Schnittstelle fertig ist, muss er IKsControl- mit einem Aufruf der Release-Methode freigeben.

Minidriver, die in C geschrieben wurden, bearbeiten die IKsControl Schnittstelle als Struktur, die einen Zeiger auf eine Tabelle mit Funktionen anstelle einer abstrakten C++-Basisklasse enthält.

Ein Client, der in C++ geschrieben wurde, führt folgende Aktionen aus:

IKsControl *Control;

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

Ein in C geschriebener Client verwendet jedoch stattdessen diesen Code:

IKsControl *Control;

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

Weitere Informationen finden Sie unter AVStream Overview.

Anforderungen

Anforderung Wert
Zielplattform- Fenster
Header- ks.h (enthalten Ks.h)

Siehe auch

IKsControl(ksproxy.h)

KsPinGetConnectedFilterInterface

KsPinGetConnectedPinInterface