Macro NdisInitializeListHead (ndis.h)

La funzione NdisInitializeListHead inizializza una coda collegata doubly e gestita dal driver.

Sintassi

void NdisInitializeListHead(
  [in]  _ListHead
);

Parametri

[in] _ListHead

Puntatore all'archiviazione non di paging allocata dal driver per l'intestazione della coda o dell'elenco interlocked.

Valore restituito

nessuno

Osservazioni

NdisInitializeListHead può essere chiamato da una funzione MiniportInitializeEx o dalla routine DriverEntry di un driver di protocollo se il driver accoda internamente le richieste. Tuttavia, i driver miniport raramente configurano code interne perché la libreria NDIS serializza le richieste e i pacchetti inviati ai driver miniport.

Qualsiasi driver NDIS che gestisce una coda interna è responsabile della sincronizzazione degli accessi delle funzioni driver alle voci in coda. Le funzioni NdisInterlockedXxxList assicurano che solo una funzione driver possa accedere alle voci in coda in qualsiasi momento, anche se il driver è in esecuzione in un computer multiprocessore, perché la coda è protetta da un blocco spin fornito dal chiamante.

Per una coda interlocked, il driver deve anche fornire spazio di archiviazione non in pagine per un blocco spin. Deve inizializzare il blocco di selezione con la funzione NdisAllocateSpinLock prima di passare un puntatore a tale blocco spin a una delle funzioni NdisInterlockedXxxList .

I chiamanti di NdisInitializeListHead possono essere eseguiti in qualsiasi IRQL. Se NdisInitializeListHead viene chiamato in IRQL >= DISPATCH_LEVEL l'archiviazione per ListHead deve essere residente.

Requisiti

Requisito Valore
Client minimo supportato Supportato per i driver NDIS 6.0 e NDIS 5.1 (vedere NdisInitializeListHead (NDIS 5.1)) in Windows Vista. Supportato per i driver NDIS 5.1 (vedere NdisInitializeListHead (NDIS 5.1)) in Windows XP.
Piattaforma di destinazione Desktop
Intestazione ndis.h (include Ndis.h)
IRQL Qualsiasi livello (vedere la sezione Osservazioni)

Vedi anche

DriverEntry dei driver del protocollo NDIS

MiniportInitializeEx

NdisAllocateSpinLock

NdisInterlockedInsertHeadList NdisInterlockedInsertTailList NdisInterlockedRemoveHeadList