KSDEVICE_DESCRIPTOR-Struktur (ks.h)
Die KSDEVICE_DESCRIPTOR-Struktur beschreibt die Merkmale eines bestimmten Geräts.
Syntax
typedef struct _KSDEVICE_DESCRIPTOR {
const KSDEVICE_DISPATCH *Dispatch;
ULONG FilterDescriptorsCount;
const KSFILTER_DESCRIPTOR const * * FilterDescriptors;
ULONG Version;
ULONG Flags;
PVOID Alignment;
} KSDEVICE_DESCRIPTOR, *PKSDEVICE_DESCRIPTOR;
Member
Dispatch
Ein Zeiger auf die Clientverteilungstabelle für dieses Gerät. Diese Dispatchtabelle enthält Clientverteilungsfunktionen für PNP-Nachrichten wie Hinzufügen, Starten, Beenden, Entfernen. Clients müssen keine Dispatchtabelle bereitstellen, es sei denn, sie möchten Rückrufe für die in der Verteilungstabelle beschriebenen PNP-Nachrichten empfangen. Jeder Member der Verteilertabelle kann NULL sein, um anzugeben, dass der Client keine Benachrichtigung für diese bestimmte Nachricht empfangen möchte. Weitere Informationen finden Sie unter KSDEVICE_DISPATCH.
FilterDescriptorsCount
Dieser Member enthält die Anzahl von Filterdeskriptoren für dieses Gerät, die im FilterDescriptors-Element bereitgestellt wird. Null ist ein gesetzlicher Wert für dieses Element. Clients können Filterfactorys dynamisch mit der KsCreateFilterFactory-Funktion erstellen, anstatt sie im Gerätedeskriptor statisch zu beschreiben.
FilterDescriptors
Ein Zeiger auf ein Array von Filterdeskriptoren, die Filter beschreiben, die von diesem Gerät erstellt werden können. Dieser Member kann NULL sein, wenn FilterDescriptorsCount null ist. Weitere Informationen finden Sie unter KSFILTER_DESCRIPTOR.
Version
Ein Wert vom Typ ULONG. Dies sollte nur einer der Werte in der folgenden Tabelle sein oder beim Schreiben einer Vorversion 0x100 Treibers auf 0 festgelegt werden.
Wert | BESCHREIBUNG |
---|---|
KSDEVICE_DESCRIPTOR_VERSION | Gibt die Unterstützung des AVStrMiniDeviceQueryInterface-Dispatchs von KSDEVICE_DISPATCH an. |
KSDEVICE_DESCRIPTOR_VERSION_2 | Gibt die Unterstützung des Flags-Elements von KSDEVICE_DESCRIPTOR an. |
Flags
Ein Wert vom Typ ULONG. Derzeit ist nur ein Flag definiert.
Flag | Beschreibung |
---|---|
KSDEVICE_FLAG_ENABLE_REMOTE_WAKEUP | Gibt an, dass das Gerät die Remotereaktivierung unterstützt. |
Alignment
Hinweise
In den meisten Fällen wird diese Struktur in Verbindung mit KsInitializeDriver in der DriverEntry-Funktion des Clients verwendet, um das Gerät zu initialisieren. Diese Struktur wird auch verwendet, um Geräte mit den Funktionen KsInitializeDevice und KsCreateDevice manuell zu initialisieren oder zu erstellen.
Wenn Sie Version auf KSDEVICE_DESCRIPTOR_VERSION_2 festlegen und Ihren Treiber auf einer frühen Version von AVStream ausführen, die keine Flags unterstützt, werden alle Flags als null betrachtet.
Ebenso führt die Verwendung eines früheren Versionsdeskriptors für spätere Versionen von AVStream dazu, dass keine Flags angegeben werden.
Anforderungen
Anforderung | Wert |
---|---|
Header | ks.h (ks.h einschließen) |