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)

Siehe auch

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