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)

Weitere Informationen

KSDEVICE_DISPATCH

KSFILTER_DESCRIPTOR

KsCreateDevice

KsInitializeDevice

KsInitializeDriver