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