GET_SET_DEVICE_DATA funzione di callback (wdm.h)
La routine GetBusData legge i dati dallo spazio di configurazione del dispositivo.
Sintassi
GET_SET_DEVICE_DATA GetSetDeviceData;
ULONG GetSetDeviceData(
[in] PVOID Context,
[in] ULONG DataType,
[in] PVOID Buffer,
[in] ULONG Offset,
[in] ULONG Length
)
{...}
Parametri
[in] Context
Puntatore a informazioni di contesto specifiche dell'interfaccia. Il chiamante passa il valore passato come Context membro della struttura BUS_INTERFACE_STANDARD per l'interfaccia.
[in] DataType
Tipo di dati del bus da leggere. Per altre informazioni, vedere la discussione del parametro WhichSpace in IRP_MN_READ_CONFIG.
[in] Buffer
Puntatore al buffer che contiene le informazioni di configurazione da leggere dallo spazio di configurazione del dispositivo.
[in] Offset
Offset nei dati del dispositivo specifici del bus in cui inizia questa operazione di lettura. Ad esempio, se il parametro DataType è PCI_WHICHSPACE_CONFIG, il valore del parametro offset offset è l'offset nello spazio di configurazione PCI.
[in] Length
Lunghezza, in byte, dei dati da leggere.
Valore restituito
La routine GetBusData restituisce la lunghezza, in byte, dei dati di configurazione letti dopo un'operazione di lettura completata. Se l'operazione di lettura ha esito negativo, viene restituito un valore pari a zero.
Osservazioni
A seconda del valore del parametro DataType, la routine GetBusData può essere chiamata solo dai livelli di richiesta di interrupt (IRQLs) definiti nella tabella seguente.
valore DataType | 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 |
Le osservazioni seguenti si applicano ai driver per le funzioni virtuali PCI Express (PCIe) nei dispositivi che supportano la singola interfaccia di virtualizzazione di I/O radice (SR-IOV):
- I driver per le macchine virtuali PCIe devono chiamare la routine getBusData in IRQL <= APC_LEVEL.
- Per leggere i dati di configurazione PCI per VF in IRQL = DISPATCH_LEVEL, il driver deve inviare richieste di I/O di IRP_MN_READ_CONFIG.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | wdm.h (include Ntddk.h) |
IRQL | Vedere la sezione Osservazioni. |