GET_SET_DEVICE_DATA Rückruffunktion (wdm.h)
Die GetBusData- Routine liest Daten aus dem Konfigurationsraum des Geräts.
GET_SET_DEVICE_DATA GetSetDeviceData;
ULONG GetSetDeviceData(
[in] PVOID Context,
[in] ULONG DataType,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
)
{...}
[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.
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.
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.
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | wdm.h (include Ntddk.h) |
IRQL- | Siehe Abschnitt "Hinweise". |