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 membro Contesto della struttura di 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 è l'offset nello spazio di configurazione PCI.
[in] Length
Lunghezza, in byte, di dati da leggere.
Valore restituito
La routine GetBusData restituisce la lunghezza, in byte, dei dati di configurazione letti dopo un'operazione di lettura riuscita. Se l'operazione di lettura ha esito negativo, viene restituito un valore pari a zero.
Commenti
A seconda del valore del parametro DataType , la routine GetBusData può essere chiamata solo dai livelli di richiesta di interruzione (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 l'interfaccia di virtualizzazione I/O radice singola (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 il VF in IRQL = DISPATCH_LEVEL, il driver deve inviare richieste di I/O di IRP_MN_READ_CONFIG.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | wdm.h (include Ntddk.h) |
IRQL | Vedere La sezione Osservazioni. |