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) |