CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur (wdm.h)
Die CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur gibt eine oder mehrere Systemhardwareressourcen eines einzelnen Typs an, die einem Gerät zugewiesen sind. Diese Struktur wird verwendet, um ein Array innerhalb einer CM_PARTIAL_RESOURCE_LIST-Struktur zu erstellen.
Syntax
typedef struct _CM_PARTIAL_RESOURCE_DESCRIPTOR {
UCHAR Type;
UCHAR ShareDisposition;
USHORT Flags;
union {
struct {
PHYSICAL_ADDRESS Start;
ULONG Length;
} Generic;
struct {
PHYSICAL_ADDRESS Start;
ULONG Length;
} Port;
struct {
#if ...
USHORT Level;
USHORT Group;
#else
ULONG Level;
#endif
ULONG Vector;
KAFFINITY Affinity;
} Interrupt;
struct {
union {
struct {
USHORT Group;
USHORT Reserved;
USHORT MessageCount;
ULONG Vector;
KAFFINITY Affinity;
} Raw;
struct {
#if ...
USHORT Level;
USHORT Group;
#else
ULONG Level;
#endif
ULONG Vector;
KAFFINITY Affinity;
} Translated;
} DUMMYUNIONNAME;
} MessageInterrupt;
struct {
PHYSICAL_ADDRESS Start;
ULONG Length;
} Memory;
struct {
ULONG Channel;
ULONG Port;
ULONG Reserved1;
} Dma;
struct {
ULONG Channel;
ULONG RequestLine;
UCHAR TransferWidth;
UCHAR Reserved1;
UCHAR Reserved2;
UCHAR Reserved3;
} DmaV3;
struct {
ULONG Data[3];
} DevicePrivate;
struct {
ULONG Start;
ULONG Length;
ULONG Reserved;
} BusNumber;
struct {
ULONG DataSize;
ULONG Reserved1;
ULONG Reserved2;
} DeviceSpecificData;
struct {
PHYSICAL_ADDRESS Start;
ULONG Length40;
} Memory40;
struct {
PHYSICAL_ADDRESS Start;
ULONG Length48;
} Memory48;
struct {
PHYSICAL_ADDRESS Start;
ULONG Length64;
} Memory64;
struct {
UCHAR Class;
UCHAR Type;
UCHAR Reserved1;
UCHAR Reserved2;
ULONG IdLowPart;
ULONG IdHighPart;
} Connection;
} u;
} CM_PARTIAL_RESOURCE_DESCRIPTOR, *PCM_PARTIAL_RESOURCE_DESCRIPTOR;
Member
Type
Gibt den Ressourcentyp an. Der für Type angegebene konstante Wert gibt an, welche Struktur innerhalb der u union gültig ist, wie in der folgenden Tabelle angegeben. (Diese Flags werden sowohl in CM_PARTIAL_RESOURCE_DESCRIPTOR - als auch in IO_RESOURCE_DESCRIPTOR-Strukturen verwendet, sofern nicht angegeben.)
Typwert | u-Member-Unterstruktur |
---|---|
CmResourceTypePort | u.Port |
CmResourceTypeInterrupt | u.Interrupt oder u.MessageInterrupt. Wenn das CM_RESOURCE_INTERRUPT_MESSAGE Flags festgelegt ist, verwenden Sie u.MessageInterrupt; verwenden Sie andernfalls u.Interrupt. |
CmResourceTypeMemory | u.Memory |
CmResourceTypeMemoryLarge | Einer von u.Memory40, u.Memory48 oder u.Memory64. Die CM_RESOURCE_MEMORY_LARGE_XXX-Flags , die im Flags-Member festgelegt sind, bestimmt, welche Struktur verwendet wird. |
CmResourceTypeDma | u.Dma (wenn CM_RESOURCE_DMA_V3 nicht festgelegt ist) oder u.DmaV3 (wenn CM_RESOURCE_DMA_V3 Flag festgelegt ist) |
CmResourceTypeDevicePrivate | u.DevicePrivate |
CmResourceTypeBusNumber | u.BusNumber |
CmResourceTypeDeviceSpecific | u.DeviceSpecificData(In IO_RESOURCE_DESCRIPTOR nicht verwendet.) |
CmResourceTypePcCardConfig | u.DevicePrivate |
CmResourceTypeMfCardConfig | u.DevicePrivate |
CmResourceTypeConnection | u.Connection |
CmResourceTypeConfigData | Ist für das System reserviert. |
CmResourceTypeNonArbitrated | Wird nicht verwendet. |
ShareDisposition
Gibt an, ob die beschriebene Ressource freigegeben werden kann. Gültige Konstantenwerte sind in der folgenden Tabelle aufgeführt:
Wert | Bedeutung |
---|---|
CmResourceShareDeviceExclusive | Das Gerät erfordert die exklusive Verwendung der Ressource. |
CmResourceShareDriverExclusive | Der Treiber erfordert die exklusive Verwendung der Ressource. Wird für WDM-Treiber nicht unterstützt. |
CmResourceShared | Die Ressource kann ohne Einschränkung freigegeben werden. |
Flags
Enthält Flagbits, die für den Ressourcentyp spezifisch sind, wie in den folgenden Tabellen angegeben (Flags können nach Bedarf bitweise ORediert werden):
CmResourceTypePort-Ressourcentyp
Flag | Definition |
---|---|
CM_RESOURCE_PORT_MEMORY | Auf das Gerät wird im Speicheradressraum zugegriffen. |
CM_RESOURCE_PORT_IO | Auf das Gerät wird im E/A-Adressraum zugegriffen. |
CM_RESOURCE_PORT_10_BIT_DECODE | Das Gerät decodiert 10 Bits der Portadresse. |
CM_RESOURCE_PORT_12_BIT_DECODE | Das Gerät decodiert 12 Bits der Portadresse. |
CM_RESOURCE_PORT_16_BIT_DECODE | Das Gerät decodiert 16 Bits der Portadresse. |
CM_RESOURCE_PORT_POSITIVE_DECODE | Das Gerät verwendet "positive Decodierung" anstelle von "subtraktiver Decodierung". (Im Allgemeinen verwenden PCI-Geräte positive Decodierung, und ISA-Busse verwenden subtraktive Decodierung.) |
CM_RESOURCE_PORT_PASSIVE_DECODE | Das Gerät decodiert den Port, aber der Treiber verwendet ihn nicht. |
CM_RESOURCE_PORT_WINDOW_DECODE | Ist für das System reserviert. |
CmResourceTypeInterrupt-Ressourcentyp
Flag | Definition |
---|---|
CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE | Die IRQ-Zeile wird level-triggered. (Diese IRQs sind in der Regel teilbar.) |
CM_RESOURCE_INTERRUPT_LATCHED | Die IRQ-Linie wird am Rand ausgelöst. |
CM_RESOURCE_INTERRUPT_MESSAGE | Wenn dieses Flag festgelegt ist, handelt es sich bei dem Interrupt um einen Interrupt mit Nachrichtensignal. Andernfalls ist der Interrupt ein zeilenbasierter Interrupt. |
CM_RESOURCE_INTERRUPT_POLICY_INCLUDED | Wird nicht mit der CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur verwendet. Weitere Informationen zu diesem Flag finden Sie unter IO_RESOURCE_DESCRIPTOR. |
CM_RESOURCE_INTERRUPT_SECONDARY_INTERRUPT | Der Interrupt ist ein sekundärer Interrupt. Dieses Flag kann ab Windows 8 festgelegt werden. Weitere Informationen zu sekundären Interrupts finden Sie unter GPIO-Interrupts. |
CM_RESOURCE_INTERRUPT_WAKE_HINT | Der Interrupt ist in der Lage, das Betriebssystem aus einem Leerlaufzustand mit geringem Stromverbrauch oder einem Ruhezustand des Systems zu wecken. Dieses Flag kann ab Windows 8 festgelegt werden. Weitere Informationen zu Aktivierungsfunktionen finden Sie unter Aktivieren der Gerätereaktivierung. |
CmResourceTypeMemory-Ressourcentyp
Flag | Definition |
---|---|
CM_RESOURCE_MEMORY_READ_WRITE | Der Speicherbereich ist lesbar und schreibbar. |
CM_RESOURCE_MEMORY_READ_ONLY | Der Speicherbereich ist schreibgeschützt. |
CM_RESOURCE_MEMORY_WRITE_ONLY | Der Speicherbereich ist schreibgeschützt. |
CM_RESOURCE_MEMORY_PREFETCHABLE | Der Speicherbereich kann vorab abgerufen werden. |
CM_RESOURCE_MEMORY_COMBINEDWRITE | Zwischenspeicherung kombinierter Schreibvorgänge ist zulässig. |
CM_RESOURCE_MEMORY_24 | Das Gerät verwendet die 24-Bit-Adressierung. |
CM_RESOURCE_MEMORY_CACHEABLE | Der Speicherbereich kann zwischengespeichert werden. |
CmResourceTypeMemoryLarge-Ressourcentyp
Flag | Definition |
---|---|
CM_RESOURCE_MEMORY_LARGE_40 | Der Speicherdeskriptor verwendet das u.Memory40-Element . |
CM_RESOURCE_MEMORY_LARGE_48 | Der Speicherdeskriptor verwendet das u.Memory48-Element . |
CM_RESOURCE_MEMORY_LARGE_64 | Der Speicherdeskriptor verwendet das u.Memory64-Element . |
CmResourceTypeDma-Ressourcentyp
Flag | Definition |
---|---|
CM_RESOURCE_DMA_8 | 8-Bit-DMA-Kanal |
CM_RESOURCE_DMA_16 | 16-Bit-DMA-Kanal |
CM_RESOURCE_DMA_32 | 32-Bit-DMA-Kanal |
CM_RESOURCE_DMA_8_AND_16 | 8-Bit- und 16-Bit-DMA-Kanal |
CM_RESOURCE_DMA_BUS_MASTER | Das Gerät unterstützt Bus-master DMA-Übertragungen. |
CM_RESOURCE_DMA_TYPE_A | Typ A DMA |
CM_RESOURCE_DMA_TYPE_B | Typ B DMA |
CM_RESOURCE_DMA_TYPE_F | Typ F DMA |
CM_RESOURCE_DMA_V3 | Verwenden Sie das DmaV3-Element anstelle des Dma-Elements . Das DmaV3-Element ist ab Windows 8 verfügbar. |
u
Definiert die u-Union .
u.Generic
Nicht verwendet.
u.Generic.Start
Nicht verwendet.
u.Generic.Length
Nicht verwendet.
u.Port
Gibt einen Bereich von E/A-Portadressen mit den folgenden Membern an.
Treiber für Windows Vista und höhere Versionen des Windows-Betriebssystems können RtlCmDecodeMemIoResource und RtlCmEncodeMemIoResource verwenden, um das u.Port-Element zu lesen und zu aktualisieren, anstatt es direkt zu aktualisieren.
u.Port.Start
Für Rohressourcen: Gibt die busrelative physische Adresse der niedrigsten eines Bereichs zusammenhängender E/A-Portadressen an, die dem Gerät zugeordnet sind.
Für übersetzte Ressourcen: Gibt die physische Systemadresse der niedrigsten eines Bereichs zusammenhängender E/A-Portadressen an, die dem Gerät zugeordnet sind.
Weitere Informationen zu rohen und übersetzten Ressourcen finden Sie unter Hinweise.
u.Port.Length
Die Länge des Bereichs der zugeordneten E/A-Portadressen in Bytes.
u.Interrupt
Gibt einen Interruptvektor und eine -Ebene mit den folgenden Membern an:
u.Interrupt.Level
Für Rohressourcen: Gibt die busspezifische IRQL des Geräts an (falls für die Plattform und den Bus geeignet).
Für übersetzte Ressourcen: Gibt die dem Gerät zugewiesene DIRQL an.
Weitere Informationen zu rohen und übersetzten Ressourcen finden Sie unter Hinweise.
u.Interrupt.Group
Gibt die Prozessorgruppennummer an. Dieses Element ist nur vorhanden, wenn die NT_PROCESSOR_GROUPS Konstante zur Kompilierzeit definiert ist. Dieser Member kann nur unter Windows 7 und höheren Versionen von Windows als "nonzero" verwendet werden. Die Gruppen- und Affinitätsmitglieder geben zusammen eine Gruppenaffinität an, die angibt, welche Prozessoren das Gerät unterbrechen kann. Um eine Affinität für eine beliebige Gruppe anzugeben, legen Sie Gruppe auf ALL_PROCESSOR_GROUPS fest.
u.Interrupt.Vector
Für Rohressourcen: Gibt den busspezifischen Interruptvektor des Geräts an (falls für die Plattform und den Bus geeignet).
Für übersetzte Ressourcen: Gibt den globalen Systemunterbrechungsvektor an, der dem Gerät zugewiesen ist.
Weitere Informationen zu rohen und übersetzten Ressourcen finden Sie unter Hinweise.
u.Interrupt.Affinity
Enthält einen KAFFINITY-typisierten Bitmaskenwert, der den Prozessorsatz angibt, den das Gerät unterbrechen kann. Um anzugeben, dass das Gerät einen beliebigen Prozessor unterbrechen kann, ist dieses Element auf -1 festgelegt.
u.MessageInterrupt
Gibt einen von Nachrichten signalisierten Interrupt an. Dieses Mitglied ist eine Gewerkschaft. Verwenden Sie u.MessageInterrupt.Raw für Rohressourcen und u.MessageInterrupt.Translated für übersetzte Ressourcen. Diese Art von Ressource wird nur unter Windows Vista und höheren Versionen des Windows-Betriebssystems zurückgegeben.
Weitere Informationen zu rohen und übersetzten Ressourcen finden Sie unter Hinweise.
u.MessageInterrupt.DUMMYUNIONNAME
Definiert die DUMMYUNIONNAME-Union .
u.MessageInterrupt.DUMMYUNIONNAME.Raw
Definiert die Rohstruktur .
u.MessageInterrupt.DUMMYUNIONNAME.Raw.Group
Gibt eine Prozessorgruppennummer an. Dieses Element ist nur vorhanden, wenn NT_PROCESSOR_GROUPS zur Kompilierzeit definiert ist. Dieser Member kann nur unter Windows 7 und höheren Versionen von Windows als "nonzero" verwendet werden. Die Gruppen- und Affinitätsmitglieder geben zusammen eine Gruppenaffinität an, die angibt, welche Prozessoren die Interrupts des Geräts empfangen können. Um eine Affinität für eine beliebige Gruppe anzugeben, legen Sie Gruppe auf ALL_PROCESSOR_GROUPS fest.
u.MessageInterrupt.DUMMYUNIONNAME.Raw.Reserved
Wird nicht verwendet.
u.MessageInterrupt.DUMMYUNIONNAME.Raw.MessageCount
Gibt die Anzahl der für diesen Treiber generierten Nachrichtensignalunterbrechungen an.
u.MessageInterrupt.DUMMYUNIONNAME.Raw.Vector
Gibt den Interruptvektor des Geräts an.
u.MessageInterrupt.DUMMYUNIONNAME.Raw.Affinity
Gibt einen KAFFINITY-Wert an, der die Prozessoren angibt, die die Interrupts des Geräts empfangen.
u.MessageInterrupt.DUMMYUNIONNAME.Translated
Das u.MessageInterrupt.Translated-Element verfügt über die folgenden Member:
u.MessageInterrupt.DUMMYUNIONNAME.Translated.Level
Gibt die GERÄTE-IRQL (DIRQL) an, die den Interrupts des Geräts zugewiesen ist.
Gibt die GERÄTE-IRQL (DIRQL) an, die den Interrupts des Geräts zugewiesen ist.
u.MessageInterrupt.DUMMYUNIONNAME.Translated.Group
Gibt eine Prozessorgruppennummer an. Dieses Element ist nur vorhanden, wenn NT_PROCESSOR_GROUPS zur Kompilierzeit definiert ist. Dieser Member kann nur unter Windows 7 und höheren Versionen von Windows als "nonzero" verwendet werden. Die Mitglieder Translated.Group und Translated.Affinity geben zusammen eine Gruppenaffinität an, die angibt, welche Prozessoren die Interrupts des Geräts empfangen können. Um eine Affinität für eine beliebige Gruppe anzugeben, legen Sie Translated.Group auf ALL_PROCESSOR_GROUPS fest.
u.MessageInterrupt.DUMMYUNIONNAME.Translated.Vector
Gibt den Interruptvektor des Geräts an.
u.MessageInterrupt.DUMMYUNIONNAME.Translated.Affinity
Gibt einen KAFFINITY-Wert an, der die Prozessoren identifiziert, die die Interrupts des Geräts empfangen.
u.Memory
Gibt einen Bereich von Speicheradressen mit den folgenden Membern an.
Treiber für Windows Vista und höhere Versionen des Windows-Betriebssystems können RtlCmDecodeMemIoResource und RtlCmEncodeMemIoResource verwenden, um den u.Memory-Member zu lesen und zu aktualisieren, anstatt es direkt zu aktualisieren.
u.Memory.Start
Für Rohressourcen: Gibt die busrelative physische Adresse der niedrigsten eines Bereichs zusammenhängender Speicheradressen an, die dem Gerät zugeordnet sind.
Für übersetzte Ressourcen: Gibt die physische Systemadresse der niedrigsten eines Bereichs zusammenhängender Speicheradressen an, die dem Gerät zugeordnet sind.
Weitere Informationen zu rohen und übersetzten Ressourcen finden Sie unter Hinweise.
u.Memory.Length
Gibt die Länge des Bereichs der zugeordneten Speicheradressen in Bytes an.
u.Dma
Gibt eine DMA-Einstellung mit einem der folgenden Member an:
u.Dma.Channel
Gibt die Anzahl des DMA-Kanals auf einem System-DMA-Controller an, den das Gerät verwenden kann.
u.Dma.Port
Gibt die Nummer des DMA-Ports an, den ein Gerät vom Typ MCA verwenden kann.
u.Dma.Reserved1
Wird nicht verwendet.
u.DmaV3
Gibt die DMA-Einstellungen für einen Treiber an, der Version 3 der DMA_OPERATIONS-Struktur verwendet.
Das u.DmaV3-Mitglied ist ab Windows 8 verfügbar.
u.DmaV3.Channel
Gibt die Nummer des DMA-Kanals auf dem DMA-Systemcontroller an, der dem Gerät zugeordnet ist.
u.DmaV3.RequestLine
Gibt die Nummer der Anforderungszeile auf dem DMA-Systemcontroller an, der dem Gerät zugeordnet ist.
u.DmaV3.TransferWidth
Gibt die Breite des Datenbus in Bits an, den der dem Gerät zugeordnete DMA-Systemcontroller zum Übertragen von Daten an oder vom Gerät verwendet.
u.DmaV3.Reserved1
Nicht verwendet.
u.DmaV3.Reserved2
Nicht verwendet.
u.DmaV3.Reserved3
Nicht verwendet.
u.DevicePrivate
Ist für das System reserviert.
u.DevicePrivate.Data[3]
u.BusNumber
Gibt Busnummern mithilfe der folgenden Member an:
u.BusNumber.Start
Gibt die niedrigste Nummer eines Bereichs zusammenhängender Busse an, die dem Gerät zugeordnet sind.
u.BusNumber.Length
Gibt die Anzahl der Busse an, die dem Gerät zugeordnet sind.
u.BusNumber.Reserved
Wird nicht verwendet.
u.DeviceSpecificData
Gibt die Größe einer gerätespezifischen, privaten Struktur an, die am Ende der CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur angefügt wird. Wenn u.DeviceSpecificData verwendet wird, muss die CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur die letzte im CM_PARTIAL_RESOURCE_LIST-Array sein.
Beispiele für gerätespezifische Strukturen sind CM_FLOPPY_DEVICE_DATA, CM_KEYBOARD_DEVICE_DATA, CM_SCSI_DEVICE_DATA und CM_SERIAL_DEVICE_DATA.
u.DeviceSpecificData.DataSize
Gibt die Anzahl von Bytes an, die am Ende der CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur angefügt werden.
u.DeviceSpecificData.Reserved1
Nicht verwendet.
u.DeviceSpecificData.Reserved2
Nicht verwendet.
u.Memory40
Gibt einen Bereich von Speicheradressen mit den folgenden Membern an.
Das u.Memory40-Mitglied ist nur unter Windows Vista und höheren Versionen des Windows-Betriebssystems verfügbar. Treiber müssen rtlCmDecodeMemIoResource und RtlCmEncodeMemIoResource verwenden, um dieses Element zu lesen und zu aktualisieren, anstatt es direkt zu aktualisieren.
u.Memory40.Start
Für Rohressourcen: Gibt die busrelative physische Adresse der niedrigsten eines Bereichs zusammenhängender Speicheradressen an, die dem Gerät zugeordnet sind.
Für übersetzte Ressourcen: Gibt die physische Systemadresse der niedrigsten eines Bereichs zusammenhängender Speicheradressen an, die dem Gerät zugeordnet sind.
Weitere Informationen zu unformatierten und übersetzten Ressourcen finden Sie unter Hinweise.
u.Memory40.Length40
Enthält die hohen 32 Bit der 40-Bit-Länge (in Byte) des Bereichs der zugeordneten Speicheradressen. Die niedrigsten 8 Bits werden als null behandelt.
u.Memory48
Gibt einen Bereich von Speicheradressen mit den folgenden Membern an.
Das u.Memory48-Mitglied ist nur unter Windows Vista und höheren Versionen des Windows-Betriebssystems verfügbar. Treiber müssen rtlCmDecodeMemIoResource und RtlCmEncodeMemIoResource verwenden, um dieses Element zu lesen und zu aktualisieren, anstatt es direkt zu aktualisieren.
u.Memory48.Start
Für Rohressourcen: Gibt die busrelative physische Adresse der niedrigsten eines Bereichs zusammenhängender Speicheradressen an, die dem Gerät zugeordnet sind.
Für übersetzte Ressourcen: Gibt die physische Systemadresse der niedrigsten eines Bereichs zusammenhängender Speicheradressen an, die dem Gerät zugeordnet sind.
Weitere Informationen zu unformatierten und übersetzten Ressourcen finden Sie unter Hinweise.
u.Memory48.Length48
Enthält die hohen 32 Bits der 48-Bit-Länge (in Bytes) des Bereichs der zugeordneten Speicheradressen. Die niedrigsten 16 Bits werden als null behandelt.
u.Memory64
Gibt einen Bereich von Speicheradressen mit den folgenden Membern an.
Das u.Memory64-Mitglied ist nur unter Windows Vista und höheren Versionen des Windows-Betriebssystems verfügbar. Treiber müssen rtlCmDecodeMemIoResource und RtlCmEncodeMemIoResource verwenden, um dieses Element zu lesen und zu aktualisieren, anstatt es direkt zu aktualisieren.
u.Memory64.Start
Für Rohressourcen: Gibt die busrelative physische Adresse der niedrigsten eines Bereichs zusammenhängender Speicheradressen an, die dem Gerät zugeordnet sind.
Für übersetzte Ressourcen: Gibt die physische Systemadresse der niedrigsten eines Bereichs zusammenhängender Speicheradressen an, die dem Gerät zugeordnet sind.
Weitere Informationen zu unformatierten und übersetzten Ressourcen finden Sie unter Hinweise.
u.Memory64.Length64
Enthält die hohen 32 Bit der 64-Bit-Länge (in Byte) des Bereichs der zugeordneten Speicheradressen. Die niedrigsten 32 Bits werden als null behandelt.
u.Connection
Gibt eine Verbindung mit einem seriellen Bus oder seriellen Port oder mit einem Satz von einem oder mehreren GPIO-Pins (General Purpose E/O ) an. Die folgenden Member beschreiben diese Verbindung.
Das u.Connection-Mitglied ist ab Windows 8 verfügbar.
u.Connection.Class
Gibt die Verbindungsklasse an. Dieser Member ist auf einen der folgenden Werte festgelegt:
Wert | Bedeutung |
---|---|
CM_RESOURCE_CONNECTION_CLASS_GPIO | Greifen Sie über einen oder mehrere Pins auf einem GPIO-Controller auf das Gerät zu. |
CM_RESOURCE_CONNECTION_CLASS_SERIAL | Zugreifen auf das Gerät über einen seriellen Bus oder seriellen Port. |
u.Connection.Type
Gibt den Verbindungstyp an.
Wenn Class = CM_RESOURCE_CONNECTION_CLASS_GPIO, wird Type auf den folgenden Wert festgelegt:
Wert | Bedeutung |
---|---|
CM_RESOURCE_CONNECTION_TYPE_GPIO_IO | Greifen Sie über GPIO-Pins, die für E/A konfiguriert sind, auf das Gerät zu. |
Auf einen GPIO-Pin, der als Interruptanforderungseingabe konfiguriert ist, wird als normale Interruptressource (CmResourceTypeInterrupt) zugegriffen.
Wenn Class = CM_RESOURCE_CONNECTION_CLASS_SERIAL, wird Type auf einen der folgenden Werte festgelegt:
Wert | Bedeutung |
---|---|
CM_RESOURCE_CONNECTION_TYPE_SERIAL_I2C | Das Gerät ist mit einem I2C-Bus verbunden. |
CM_RESOURCE_CONNECTION_TYPE_SERIAL_SPI | Das Gerät ist mit einem SPI-Bus verbunden. |
CM_RESOURCE_CONNECTION_TYPE_SERIAL_UART | Das Gerät ist mit einem seriellen Port verbunden. |
u.Connection.Reserved1
Nicht verwendet.
u.Connection.Reserved2
Nicht verwendet.
u.Connection.IdLowPart
Enthält die unteren 32 Bits der 64-Bit-Verbindungs-ID.
u.Connection.IdHighPart
Enthält die oberen 32 Bits der 64-Bit-Verbindungs-ID.
Hinweise
Eine CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur kann je nach Routine oder IRP, mit der sie verwendet wird, entweder eine rohe (busrelative) Ressource oder eine übersetzte (systemphysische) Ressource beschreiben. Weitere Informationen finden Sie unter Unformatierte und übersetzte Ressourcen und IRP_MN_START_DEVICE.
Es kann nur 1DeviceSpecificData-Block sein. Sie muss sich am Ende aller Ressourcendeskriptoren in einem vollständigen Deskriptorblock befinden.
Anforderungen
Anforderung | Wert |
---|---|
Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Wudfwdm.h) |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für