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;
Angehörige
Type
Identifiziert den Ressourcentyp. Der für Type angegebene Konstantenwert gibt an, welche Struktur innerhalb der u Union gültig ist, wie in der folgenden Tabelle angegeben. (Diese Kennzeichen werden sowohl in CM_PARTIAL_RESOURCE_DESCRIPTOR als auch in IO_RESOURCE_DESCRIPTOR Strukturen verwendet, es sei denn, es wird angegeben.)
Typwert | U-Member-Unterstruktur |
---|---|
CmResourceTypePort- | u.Port |
CmResourceTypeInterrupt | u.Interrupt oder u.MessageInterrupt. Wenn das CM_RESOURCE_INTERRUPT_MESSAGE Flag von Flags festgelegt ist, verwenden Sie u.MessageInterrupt; andernfalls verwenden Sie u.Interrupt. |
CmResourceTypeMemory | u.Memory |
CmResourceTypeMemoryLarge | Einer von u.Memory40, u.Memory48oder u.Memory64. Die CM_RESOURCE_MEMORY_LARGE_XXX- Flags, die im Flags Element 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-(Nicht in IO_RESOURCE_DESCRIPTORverwendet) |
CmResourceTypePcCardConfig | u.DevicePrivate- |
CmResourceTypeMfCardConfig | u.DevicePrivate- |
CmResourceTypeConnection | u.Connection |
CmResourceTypeConfigData- | Reserviert für die Systemverwendung. |
CmResourceTypeNonArbitrated | 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 | Für das Gerät ist die ausschließliche Verwendung der Ressource erforderlich. |
CmResourceShareDriverExclusive | Der Treiber erfordert die ausschließliche 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 bitweise zusammengehörig sein):
CmResourceTypePort-Ressourcentyp
Flagge | Definition |
---|---|
CM_RESOURCE_PORT_MEMORY | Auf das Gerät wird im Speicheradressbereich zugegriffen. |
CM_RESOURCE_PORT_IO | Auf das Gerät wird im E/A-Adressbereich zugegriffen. |
CM_RESOURCE_PORT_10_BIT_DECODE | Das Gerät decodiert 10 Bit der Portadresse. |
CM_RESOURCE_PORT_12_BIT_DECODE | Das Gerät decodiert 12 Bit der Portadresse. |
CM_RESOURCE_PORT_16_BIT_DECODE | Das Gerät decodiert 16 Bit der Portadresse. |
CM_RESOURCE_PORT_POSITIVE_DECODE | Das Gerät verwendet "positive Decodierung" anstelle von "subtrahierender Decodierung". (Im Allgemeinen verwenden PCI-Geräte positive Decodierung und ISA-Busse subtrahierende Decodierung.) |
CM_RESOURCE_PORT_PASSIVE_DECODE | Das Gerät decodiert den Port, aber der Treiber verwendet ihn nicht. |
CM_RESOURCE_PORT_WINDOW_DECODE | Reserviert für die Systemverwendung. |
CmResourceTypeInterrupt-Ressourcentyp
Flagge | Definition |
---|---|
CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE | Die IRQ-Zeile wird vom Typ "Level" ausgelöst. (Diese IRQs können normalerweise freigegeben werden.) |
CM_RESOURCE_INTERRUPT_LATCHED | Die IRQ-Linie wird vom Rand ausgelöst. |
CM_RESOURCE_INTERRUPT_MESSAGE | Wenn dieses Kennzeichen festgelegt ist, handelt es sich bei dem Interrupt um einen Signalunterbruch. Andernfalls handelt es sich bei dem Interrupt um einen zeilenbasierten 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 Kennzeichen kann ab Windows 8 festgelegt werden. Weitere Informationen zu sekundären Unterbrechungen finden Sie unter GPIO Interrupts. |
CM_RESOURCE_INTERRUPT_WAKE_HINT | Der Interrupt kann das Betriebssystem aus einem Leerlaufzustand oder einem Ruhezustand des Systems aufwachen. Dieses Kennzeichen kann ab Windows 8 festgelegt werden. Weitere Informationen zu Wake-Funktionen finden Sie unter Aktivieren von Device Wake-Up. |
CmResourceTypeMemory-Ressourcentyp
Flagge | 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 aktiviert 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
Flagge | Definition |
---|---|
CM_RESOURCE_MEMORY_LARGE_40 | Der Speicherdeskriptor verwendet den u.Memory40 Member. |
CM_RESOURCE_MEMORY_LARGE_48 | Der Speicherdeskriptor verwendet den u.Memory48 Member. |
CM_RESOURCE_MEMORY_LARGE_64 | Der Speicherdeskriptor verwendet das u.Memory64 Member. |
CmResourceTypeDma-Ressourcentyp
Flagge | 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 Busmaster-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 Member anstelle des Dma- Mitglieds. Das DmaV3 Mitglied ist ab Windows 8 verfügbar. |
u
Definiert die u Union.
u.Generic
Wird nicht verwendet.
u.Generic.Start
Wird nicht verwendet.
u.Generic.Length
Wird nicht verwendet.
u.Port
Gibt einen Bereich von E/A-Portadressen mithilfe der folgenden Member an.
Treiber für Windows Vista und höhere Versionen des Windows-Betriebssystems können RtlCmDecodeMemIoResource- und RtlCmEncodeMemIoResource- verwenden, um das u.Port-Mitglied zu lesen und zu aktualisieren, anstatt es direkt zu aktualisieren.
u.Port.Start
Für Rohressourcen: Gibt die busrelative physische Adresse des niedrigsten Bereichs zusammenhängender E/A-Portadressen an, die dem Gerät zugeordnet sind.
Für übersetzte Ressourcen: Gibt die physische Systemadresse des niedrigsten Bereichs zusammenhängender E/A-Portadressen an, die dem Gerät zugeordnet sind.
Weitere Informationen zu unformatierten und übersetzten Ressourcen finden Sie in den Hinweisen.
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 Elementen an:
u.Interrupt.Level
Für Rohressourcen: Gibt den busspezifischen IRQL des Geräts an (falls für die Plattform und den Bus geeignet).
Für übersetzte Ressourcen: Gibt die DIRQL an, die dem Gerät zugewiesen ist.
Weitere Informationen zu unformatierten und übersetzten Ressourcen finden Sie in den Hinweisen.
u.Interrupt.Group
Gibt die Prozessorgruppennummer an. Dieses Element ist nur vorhanden, wenn die NT_PROCESSOR_GROUPS Konstante zur Kompilierungszeit definiert ist. Dieses Mitglied kann nur unter Windows 7 und neueren Versionen von Windows nichtzero sein. Die Group und Affinity Mitglieder geben gemeinsam 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 Gruppen- 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 unformatierten und übersetzten Ressourcen finden Sie in den Hinweisen.
u.Interrupt.Affinity
Enthält einen KAFFINITY--typierten Bitmaskenwert, der angibt, dass der Satz von Prozessoren, die das Gerät unterbrechen kann. Um anzugeben, dass das Gerät jeden Prozessor unterbrechen kann, wird dieses Element auf -1 festgelegt.
u.MessageInterrupt
Gibt einen Nachrichtensignalunterbruch 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 unformatierten und übersetzten Ressourcen finden Sie in den Hinweisen.
u.MessageInterrupt.DUMMYUNIONNAME
Definiert die DUMMYUNIONNAME Union.
u.MessageInterrupt.DUMMYUNIONNAME.Raw
Definiert die Raw--Struktur.
u.MessageInterrupt.DUMMYUNIONNAME.Raw.Group
Gibt eine Prozessorgruppennummer an. Dieses Element ist nur vorhanden, wenn NT_PROCESSOR_GROUPS zur Kompilierungszeit definiert ist. Dieses Mitglied kann nur unter Windows 7 und neueren Versionen von Windows nichtzero sein. Die Group und Affinity Mitglieder geben gemeinsam eine Gruppenaffinität an, die angibt, welche Prozessoren die Unterbrechungen des Geräts empfangen können. Um eine Affinität für eine beliebige Gruppe anzugeben, legen Sie Gruppen- 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 Nachrichtenunterbruchunterbrechungen an.
u.MessageInterrupt.DUMMYUNIONNAME.Raw.Vector
Gibt den Unterbrechungsvektor des Geräts an.
u.MessageInterrupt.DUMMYUNIONNAME.Raw.Affinity
Gibt einen KAFFINITY-Wert an, der die Prozessoren angibt, die die Unterbrechungen des Geräts empfangen.
u.MessageInterrupt.DUMMYUNIONNAME.Translated
Der u.MessageInterrupt.Translated Mitglied hat die folgenden Mitglieder:
u.MessageInterrupt.DUMMYUNIONNAME.Translated.Level
Gibt das Gerät IRQL (DIRQL) an, das den Unterbrechungen des Geräts zugewiesen ist.
Gibt das Gerät IRQL (DIRQL) an, das den Unterbrechungen des Geräts zugewiesen ist.
u.MessageInterrupt.DUMMYUNIONNAME.Translated.Group
Gibt eine Prozessorgruppennummer an. Dieses Element ist nur vorhanden, wenn NT_PROCESSOR_GROUPS zur Kompilierungszeit definiert ist. Dieses Mitglied kann nur unter Windows 7 und neueren Versionen von Windows nichtzero sein. Die Translated.Group und Translated.Affinity Mitglieder geben eine Gruppenaffinität an, die angibt, welche Prozessoren die Unterbrechungen 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 Unterbrechungsvektor des Geräts an.
u.MessageInterrupt.DUMMYUNIONNAME.Translated.Affinity
Gibt einen KAFFINITY-Wert an, der die Prozessoren identifiziert, die die Unterbrechungen des Geräts empfangen.
u.Memory
Gibt einen Bereich von Speicheradressen mithilfe der folgenden Member an.
Treiber für Windows Vista und höhere Versionen des Windows-Betriebssystems können RtlCmDecodeMemIoResource- und RtlCmEncodeMemIoResource- verwenden, um das u.Memory-Mitglied zu lesen und zu aktualisieren, anstatt es direkt zu aktualisieren.
u.Memory.Start
Für Rohressourcen: Gibt die busrelative physische Adresse des niedrigsten Bereichs zusammenhängender Speicheradressen an, die dem Gerät zugeordnet sind.
Für übersetzte Ressourcen: Gibt die physische Systemadresse des niedrigsten Bereichs zusammenhängender Speicheradressen an, die dem Gerät zugeordnet sind.
Weitere Informationen zu unformatierten und übersetzten Ressourcen finden Sie in den Hinweisen.
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 Nummer des DMA-Kanals auf einem DMA-Systemcontroller an, den das Gerät verwenden kann.
u.Dma.Port
Gibt die Nummer des DMA-Ports an, den ein MCA-Typ-Gerät 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-Controller des Systems 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 System-DMA-Controller zum Übertragen von Daten an oder vom Gerät verwendet.
u.DmaV3.Reserved1
Wird nicht verwendet.
u.DmaV3.Reserved2
Wird nicht verwendet.
u.DmaV3.Reserved3
Wird nicht verwendet.
u.DevicePrivate
Reserviert für die Systemverwendung.
u.DevicePrivate.Data[3]
u.BusNumber
Gibt Busnummern mit den folgenden Mitgliedern 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 dem Gerät zugewiesenen Busse an.
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_DATAund CM_SERIAL_DEVICE_DATA.
u.DeviceSpecificData.DataSize
Gibt die Anzahl der an das Ende der CM_PARTIAL_RESOURCE_DESCRIPTOR Struktur angefügten Bytes an.
u.DeviceSpecificData.Reserved1
Wird nicht verwendet.
u.DeviceSpecificData.Reserved2
Wird nicht verwendet.
u.Memory40
Gibt einen Bereich von Speicheradressen mithilfe der folgenden Member an.
Das mitglied u.Memory40 ist nur unter Windows Vista und höheren Versionen des Windows-Betriebssystems verfügbar. Treiber müssen RtlCmDecodeMemIoResource und RtlCmEncodeMemIoResource- verwenden, um dieses Mitglied zu lesen und zu aktualisieren, anstatt es direkt zu aktualisieren.
u.Memory40.Start
Für Rohressourcen: Gibt die busrelative physische Adresse des niedrigsten Bereichs zusammenhängender Speicheradressen an, die dem Gerät zugeordnet sind.
Für übersetzte Ressourcen: Gibt die physische Systemadresse des niedrigsten Bereichs zusammenhängender Speicheradressen an, die dem Gerät zugeordnet sind.
Weitere Informationen zu unformatierten und übersetzten Ressourcen finden Sie in den Hinweisen.
u.Memory40.Length40
Enthält die hohe 32-Bit-Länge der 40-Bit-Länge (in Bytes) des Bereichs der zugeordneten Speicheradressen. Die niedrigsten 8 Bits werden als Null behandelt.
u.Memory48
Gibt einen Bereich von Speicheradressen mithilfe der folgenden Member 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 Mitglied zu lesen und zu aktualisieren, anstatt es direkt zu aktualisieren.
u.Memory48.Start
Für Rohressourcen: Gibt die busrelative physische Adresse des niedrigsten Bereichs zusammenhängender Speicheradressen an, die dem Gerät zugeordnet sind.
Für übersetzte Ressourcen: Gibt die physische Systemadresse des niedrigsten Bereichs zusammenhängender Speicheradressen an, die dem Gerät zugeordnet sind.
Weitere Informationen zu unformatierten und übersetzten Ressourcen finden Sie in den Hinweisen.
u.Memory48.Length48
Enthält die hohen 32 Bits der 48-Bit-Länge (in Byte) des Bereichs zugeordneter Speicheradressen. Die niedrigsten 16 Bits werden als Null behandelt.
u.Memory64
Gibt einen Bereich von Speicheradressen mithilfe der folgenden Member 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 Mitglied zu lesen und zu aktualisieren, anstatt es direkt zu aktualisieren.
u.Memory64.Start
Für Rohressourcen: Gibt die busrelative physische Adresse des niedrigsten Bereichs zusammenhängender Speicheradressen an, die dem Gerät zugeordnet sind.
Für übersetzte Ressourcen: Gibt die physische Systemadresse des niedrigsten Bereichs zusammenhängender Speicheradressen an, die dem Gerät zugeordnet sind.
Weitere Informationen zu unformatierten und übersetzten Ressourcen finden Sie in den Hinweisen.
u.Memory64.Length64
Enthält die hohen 32 Bit der 64-Bit-Länge (in Bytes) des Bereichs zugeordneter Speicheradressen. Die niedrigsten 32 Bits werden als Null behandelt.
u.Connection
Gibt eine Verbindung mit einem seriellen Bus oder seriellen Anschlussoder an eine Reihe von allgemeinen I/O- Pins (GPIO) an. Die folgenden Member beschreiben diese Verbindung.
Das u.Connection Mitglied ist ab Windows 8 verfügbar.
u.Connection.Class
Gibt die Verbindungsklasse an. Dieses Element 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 | Greifen Sie über einen seriellen Bus oder seriellen Anschluss auf das Gerät zu. |
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 an einen seriellen Anschluss angeschlossen. |
u.Connection.Reserved1
Wird nicht verwendet.
u.Connection.Reserved2
Wird nicht verwendet.
u.Connection.IdLowPart
Enthält die unteren 32 Bits der 64-Bit-Verbindungs-ID.
u.Connection.IdHighPart
Enthält die oberen 32 Bit der 64-Bit-Verbindungs-ID.
Bemerkungen
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 (systeminterne physische) Ressource beschreiben. Weitere Informationen finden Sie unter Raw and Translated Resources and IRP_MN_START_DEVICE.
Es kann nur 1DeviceSpecificData--Block vorhanden 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) |