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

CM_FLOPPY_DEVICE_DATA

CM_FULL_RESOURCE_DESCRIPTOR

CM_KEYBOARD_DEVICE_DATA

CM_PARTIAL_RESOURCE_LIST

CM_RESOURCE_LIST

CM_SCSI_DEVICE_DATA

CM_SERIAL_DEVICE_DATA

DMA_OPERATIONS

IO_RESOURCE_DESCRIPTOR

IRP_MN_START_DEVICE

IoConnectInterrupt

IoGetDeviceProperty

IoReportResourceForDetection

KAFFINITY

RtlCmDecodeMemIoResource

RtlCmEncodeMemIoResource