GET_SET_DEVICE_DATA Rückruffunktion (wdm.h)

Die GetBusData-Routine liest Daten aus dem Konfigurationsbereich des Geräts.

Syntax

GET_SET_DEVICE_DATA GetSetDeviceData;

ULONG GetSetDeviceData(
  [in] PVOID Context,
  [in] ULONG DataType,
  [in] PVOID Buffer,
  [in] ULONG Offset,
  [in] ULONG Length
)
{...}

Parameter

[in] Context

Ein Zeiger auf schnittstellenspezifische Kontextinformationen. Der Aufrufer übergibt den Wert, der als Kontextelement der BUS_INTERFACE_STANDARD-Struktur für die Schnittstelle übergeben wird.

[in] DataType

Der Typ der zu lesenden Busdaten. Weitere Informationen finden Sie in der Erläuterung des WhichSpace-Parameters in IRP_MN_READ_CONFIG.

[in] Buffer

Ein Zeiger auf den Puffer, der die Konfigurationsinformationen enthält, die aus dem Konfigurationsbereich des Geräts gelesen werden sollen.

[in] Offset

Der Offset in die busspezifischen Gerätedaten, an denen dieser Lesevorgang beginnt. Wenn der DataType-Parameter beispielsweise PCI_WHICHSPACE_CONFIG ist, ist der Offset-Parameterwert der Offset-Wert in den PCI-Konfigurationsbereich.

[in] Length

Die Länge der zu lesenden Daten in Bytes.

Rückgabewert

Die GetBusData-Routine gibt die Länge der Konfigurationsdaten in Bytes zurück, die nach einem erfolgreichen Lesevorgang gelesen werden. Wenn der Lesevorgang nicht erfolgreich ist, wird der Wert 0 zurückgegeben.

Hinweise

Abhängig vom Wert des DataType-Parameters kann die GetBusData-Routine nur von den interrupt request levels (IRQLs) aufgerufen werden, die in der folgenden Tabelle definiert sind.

DataType-Wert IRQL
PCI_WHICHSPACE_CONFIG <= DIRQL
PCI_WHICHSPACE_ROM <= APC_LEVEL
PCCARD_COMMON_MEMORY

PCCARD_COMMON_MEMORY_INDIRECT

<= DISPATCH_LEVEL
PCCARD_ATTRIBUTE_MEMORY

PCCARD_ATTRIBUTE_MEMORY_INDIRECT

<= DISPATCH_LEVEL
PCCARD_PCI_CONFIGURATION_SPACE <= DIRQL
 

Die folgenden Hinweise gelten für Treiber für virtuelle PCI Express-Funktionen (PCIe) auf Geräten, die die Single-Root-E/A-Virtualisierungsschnittstelle (SR-IOV) unterstützen:

  • Treiber für PCIe-VFs sollten die GetBusData-Routine unter IRQL <= APC_LEVEL aufrufen.
  • Um PCI-Konfigurationsdaten für den VF unter IRQL = DISPATCH_LEVEL zu lesen, muss der Treiber E/A-Anforderungen von IRP_MN_READ_CONFIG ausstellen.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile wdm.h (ntddk.h einschließen)
IRQL Weitere Informationen finden Sie im Abschnitt mit den Hinweisen.

Weitere Informationen

BUS_INTERFACE_STANDARD

IRP_MN_READ_CONFIG