Condividi tramite


Funzione HalGetBusDataByOffset (ntddk.h)

Avvertimento

HalGetBusDataByOffset e HalSetBusDataByOffset vengono forniti per la compatibilità con le versioni precedenti, ma devono essere usati solo se non è possibile usare i metodi consigliati in Accesso allo spazio di configurazione del dispositivo.

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 per i tipi di bus supportati è sempre MaximumBusDataType. L'unico busDataType supportato è PCIConfiguration Tutti gli altri tipi sono deprecati.

[in] BusNumber

Numero assegnato dal sistema e in base zero 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 lo slot e i numeri di 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 del mantenimento dei valori forniti dal sistema dei membri di sola lettura. Si noti che per un dispositivo PCI di tipo 1, HalSetBusDataByOffset impedisce le scritture nei 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 letta dallo spazio di configurazione.

Osservazioni

I driver di dispositivo chiamano questa funzione durante l'inizializzazione per individuare i dispositivi in un determinato bus di I/O. È possibile usare i dati di configurazione specifici del tipo di 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 legga mai o scriva dati all'esterno dell'intervallo specificato dall'offset e dalla lunghezza di input. Anche se la lunghezza di input è esattamente una parola a 1 byte o a 2 byte, questa funzione non accede mai ad alcun dato all'esterno dell'intervallo richiesto.

Fabbisogno

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

Vedere anche

BUS_DATA_TYPE

HalGetBusData

HalSetBusDataByOffset

HalSetBusData

HalTranslateBusAddress

PCI_COMMON_CONFIG