Freigeben über


KSDEVICE-Struktur (ks.h)

Die KSDEVICE-Struktur beschreibt ein WDM-funktionsfähiges Gerät, das von AVStream verwaltet wird.

Syntax

typedef struct _KSDEVICE {
  const KSDEVICE_DESCRIPTOR *Descriptor;
  KSOBJECT_BAG              Bag;
  PVOID                     Context;
  PDEVICE_OBJECT            FunctionalDeviceObject;
  PDEVICE_OBJECT            PhysicalDeviceObject;
  PDEVICE_OBJECT            NextDeviceObject;
  BOOLEAN                   Started;
  SYSTEM_POWER_STATE        SystemPowerState;
  DEVICE_POWER_STATE        DevicePowerState;
} KSDEVICE, *PKSDEVICE;

Angehörige

Descriptor

Ein Zeiger auf eine KSDEVICE_DESCRIPTOR Struktur, die die Merkmale des Geräts und die statischen Filter beschreibt, die von ihr unterstützt werden.

Bag

Dieses Element gibt den KSOBJECT_BAG (entspricht dem Typ PVOID) an, der dem Gerät zugeordnet ist. Siehe Objektbehälter.

Context

Ein Zeiger auf einen Speicherspeicherort, der Kontextinformationen für das Gerät enthält. AVStream speichert einen Zeiger auf eine Geräteerweiterung in diesem Member für Minidriver, die eine Geräteerweiterung in AVStrMiniDeviceStart-zuordnen. Der für den Kontext zugewiesene Speicher sollte mithilfe von KsAddItemToObjectBagin den Objektbehälter eingefügt werden. Kontext- wird zur Erstellungszeit für NULL- initialisiert.

FunctionalDeviceObject

Ein Zeiger auf eine DEVICE_OBJECT Struktur, bei der es sich um das WDM-funktionsfähige Geräteobjekt für das zu beschreibende Gerät handelt.

PhysicalDeviceObject

Ein Zeiger auf eine DEVICE_OBJECT Struktur, bei der es sich um das physische WDM-Geräteobjekt für das zu beschreibende Gerät handelt.

NextDeviceObject

Ein Zeiger auf eine DEVICE_OBJECT Struktur, die das nächste Gerät im Treiberstapel ist, wie durch IoAttachDeviceToDeviceStackbestimmt.

Started

Dieses Mitglied gibt an, ob dieses bestimmte Gerät gestartet wurde oder nicht. Wenn TRUE-, wurde das Gerät gestartet. Wenn FALSE-, wurde das Gerät nicht gestartet. Diese Kennzeichnung wird während der Verarbeitung der IRP_MN_START_DEVICE festgelegt und während der Verarbeitung der IRP_MN_STOP_DEVICEzurückgesetzt. Ein Gerät, das nicht gestartet wird, gibt STATUS_DEVICE_NOT_READY als Reaktion auf alle Anforderungen zum Erstellen eines Filters zurück.

SystemPowerState

Ein SYSTEM_POWER_STATE typisierter Wert, der den aktuellen Leistungsstatus des Systems angibt. SYSTEM_POWER_STATE Werte werden in wdm.hdefiniert.

DevicePowerState

Ein DEVICE_POWER_STATE typisierter Wert, der den aktuellen Energiezustand des Geräts angibt. DEVICE_POWER_STATE Werte werden in wdm.hdefiniert.

Bemerkungen

Clients verwenden diese Struktur in der Regel, wenn sie ein bestimmtes PnP- oder Power Management-Verhalten implementieren müssen, das nicht von AVStream bereitgestellt wird. Ein Zeiger auf eine KSDEVICE-Struktur ist der erste Parameter für alle in KSDEVICE_DISPATCHangegebenen Verteilerroutinen, und der Client kann die Kontextinformationen verwenden, um seinen eigenen Kontext für diese Routinen anzufügen. Darüber hinaus können Clients einen Zeiger auf die KSDEVICE-Struktur von einem WDM-Geräteobjektzeiger abrufen, indem sie KsGetDeviceForDeviceObjectaufrufen.

Wie bereits erwähnt, wird Context- zum Erstellen NULL- initialisiert. Nachfolger dieser KSDEVICE-Struktur weisen jedoch die entsprechenden Context- Member auf den Wert des Context Member des übergeordneten Objekts fest. Dies geschieht, wenn das neue Objekt erstellt wird. Weitere Informationen finden Sie unter AVStream-Objekthierarchie und Objektbehälter. Siehe auch die Referenzseiten für die möglichen AVStream-untergeordneten Objekte: KSFILTERFACTORY, KSFILTER und KSPIN-.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Microsoft Windows XP und höheren Betriebssystemen und in Microsoft DirectX 8.0 und höheren Versionen.
Header- ks.h (enthalten Ks.h)

Siehe auch

KSDEVICE_DESCRIPTOR

KSDEVICE_DISPATCH

KSFILTER-

KSFILTERFACTORY

KSPIN-

KsAddItemToObjectBag

KsGetDeviceForDeviceObject