Condividi tramite


Funzione HalGetBusDataByOffset (ntddk.h)

Avviso

HalGetBusDataByOffset e HalSetBusDataByOffset sono disponibili per la compatibilità con le versioni precedenti, ma devono essere usati solo se i metodi consigliati in Accesso allo spazio di configurazione del dispositivo non possono essere usati.

Questa funzione recupera informazioni, a partire dall'offset, su uno slot o un indirizzo su un bus di I/O.

Sintassi

NTHALAPI ULONG HalGetBusDataByOffset(
  [in] BUS_DATA_TYPE BusDataType,
  [in] ULONG         BusNumber,
  [in] ULONG         SlotNumber,
  [in] PVOID         Buffer,
  [in] ULONG         Offset,
  [in] ULONG         Length
);

Parametri

[in] BusDataType

Dati del bus da recuperare. Il limite superiore dei tipi di bus supportato è sempre MaximumBusDataType. L'unico busDataType supportato è PCIConfiguration Tutti gli altri tipi sono deprecati.

[in] BusNumber

Numero assegnato in base zero e al sistema del bus nei sistemi con diversi autobus dello stesso busDataType. Questo argomento contiene anche il numero di segmento. Per specificare il numero di segmento, usare (Segmento << 8) | BusNumber

[in] SlotNumber

Numero di slot logico o posizione del dispositivo. Se si specifica PCIConfiguration come busDataType, questo valore è un valore PCI_SLOT_NUMBER, ovvero i numeri di slot e funzione combinati.

[in] Buffer

Puntatore a un buffer fornito dal chiamante per informazioni di configurazione specifiche di BusDataType.

Se si specifica PCIConfiguration, il buffer contiene le informazioni sullo spazio di configurazione PCI per il numero di funzione e slotnumber specificato. L'offset e la lunghezza specificati determinano la quantità di informazioni da fornire. Alcuni membri dello spazio di configurazione PCI hanno valori di sola lettura Il chiamante è responsabile della conservazione dei valori forniti dal sistema dei membri di sola lettura. Si noti che per un dispositivo PCI Type-1, HalSetBusDataByOffset impedisce le scritture ai registri all'interno dell'intestazione comune (primi 256 byte dello spazio di configurazione).

[in] Offset

Offset di byte nella struttura PCI_COMMON_CONFIG per cui devono essere restituite le informazioni richieste. I chiamanti possono usare la costante definita dal sistema PCI_COMMON_HDR_LENGTH per specificare l'area specifica del dispositivo di PCI_COMMON_CONFIG.

[in] Length

Numero massimo di byte nel buffer.

Valore restituito

Il valore restituito è la lunghezza effettiva letto dallo spazio di configurazione.

Commenti

I driver di dispositivo chiamano questa funzione durante l'inizializzazione per individuare i dispositivi in un particolare bus di I/O. È possibile usare i dati di configurazione specifici del bus restituiti nelle chiamate successive ad altre funzioni di configurazione e inizializzazione, ad esempio HalTranslateBusAddress.

Quando si accede all'area specifica del dispositivo dello spazio di configurazione PCI, HalGetBusDataByOffset garantisce che questa funzione non legge mai o scrive i dati all'esterno dell'intervallo specificato dall'offset di input e lunghezza. Anche se la lunghezza di input è esattamente una parola da 1 byte o da 2 byte, questa funzione non accede mai ai dati all'esterno dell'intervallo richiesto.

Requisiti

Requisito Valore
Intestazione ntddk.h (include Ntddk.h)

Vedi anche

BUS_DATA_TYPE

HalGetBusData

HalSetBusDataByOffset

HalSetBusData

HalTranslateBusAddress

PCI_COMMON_CONFIG