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