Auf Englisch lesen

Teilen über


GET_SET_DEVICE_DATA Rückruffunktion (wdm.h)

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

Syntax

C++
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 Context Member 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 parameters WhichSpace 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, in denen dieser Lesevorgang beginnt. Wenn beispielsweise der DataType Parameter PCI_WHICHSPACE_CONFIGist, ist der Offset Parameterwert der Offset in PCI Configuration Space.

[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 ein Wert von Null zurückgegeben.

Bemerkungen

Abhängig vom Wert des DataType-Parameters kann die GetBusData- Routine nur von den in der folgenden Tabelle definierten Interruptanforderungsebenen (IRQLs) aufgerufen werden.

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(PCIe)-Funktionen (VFs) auf Geräten, die die einzelne I/O-Virtualisierung (SR-IOV) -Schnittstelle unterstützen:

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

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- wdm.h (include Ntddk.h)
IRQL- Siehe Abschnitt "Hinweise".

Siehe auch

BUS_INTERFACE_STANDARD

IRP_MN_READ_CONFIG