IKsControl-Schnittstelle (ks.h)

Die IKsControl-Schnittstelle ist eine SCHNITTSTELLE im COM-Stil, die für AVStream-Filter 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 unter IKsControl (ksproxy.h) kernel-streaming proxy COM-Schnittstelle.

Vererbung

Die IKsControl-Schnittstelle erbt von der IUnknown-Schnittstelle .

Methoden

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

 
IKsControl::KsEvent

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

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

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

Hinweise

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

Minidriver rufen die IKsControl-Schnittstelle in der Regel über einen Aufruf von KsPinGetConnectedFilterInterface oder KsPinGetConnectedPinInterface ab. Da es sich um eine Schnittstelle im COM-Stil 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 sind, bearbeiten die IKsControl-Schnittstelle als Struktur, die einen Zeiger auf eine Tabelle von Funktionen anstelle einer abstrakten C++-Basisklasse enthält.

Ein Client, der in C++ geschrieben ist, führt folgendes aus:

IKsControl *Control;

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

Ein Client, der in C geschrieben ist, 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 ÜBERSICHT ÜBER AVStream.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile ks.h (einschließlich Ks.h)

Weitere Informationen

IKsControl(ksproxy.h)

KsPinGetConnectedFilterInterface

KsPinGetConnectedPinInterface