Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
I driver possono accodare le funzioni di callback degli elementi di lavoro di I/O per un'esecuzione successiva. NDIS chiama la funzione di callback specificata dal driver in IRQL = PASSIVE_LEVEL. Ciò migliora le prestazioni del sistema consentendo alla funzione corrente di ritornare immediatamente, mentre il driver esegue il lavoro successivamente a un IRQL inferiore.
NDIS 6.0 e versioni successive forniscono funzioni wrapper per le routine dell'elemento di lavoro I/O del kernel IoAllocateWorkItem, IoFreeWorkIteme IoQueueWorkItem. Anziché la struttura privata IO_WORKITEM, NDIS usa la struttura privata NDIS_IO_WORKITEM.
I driver NDIS 6.0 chiamano la funzione NdisAllocateIoWorkItem per allocare un elemento di lavoro. I driver miniport NDIS passano NdisAllocateIoWorkItem l'handle dell'adattatore passato alla funzione MiniportInitializeEx. NdisAllocateIoWorkItem ottiene l'oggetto del dispositivo associato all'handle e passa l'oggetto del dispositivo alla routine IoAllocateWorkItem. I driver di filtro passano un handle di filtro.
Nota I driver di protocollo non possono usare NdisAllocateIoWorkItem perché NDIS non associa i driver di protocollo agli oggetti dispositivo.
I driver NDIS chiamano la funzione NdisQueueIoWorkItem per accodare gli elementi di lavoro. Gli elementi di lavoro NDIS usano il tipo di coda CriticalWorkQueue.
I driver NDIS devono chiamare la funzione NdisFreeIoWorkItem per liberare le risorse associate a un elemento di lavoro che NdisAllocateIoWorkItem ha allocato.