Funzione NdisAllocateIoWorkItem (ndis.h)
I driver NDIS chiamano la funzione NdisAllocateIoWorkItem per allocare un elemento di lavoro. Per altre informazioni, vedere elementi di lavoro di I/O NDIS.
Sintassi
NDIS_HANDLE NdisAllocateIoWorkItem(
[in] NDIS_HANDLE NdisObjectHandle
);
Parametri
[in] NdisObjectHandle
Handle di un oggetto NDIS associato a un oggetto dispositivo o a un oggetto driver.
Valore restituito
Se NdisAllocateIoWorkItem alloca correttamente un elemento di lavoro, restituisce un handle all'elemento di lavoro. Se ha esito negativo, NdisAllocateIoWorkItem restituisce NULL.
Osservazioni
I driver miniport NDIS passano NdisAllocateIoWorkItem uno dei due handle: l'handle dell'adattatore passato al MiniportInitializeEx funzione o l'handle del driver miniport restituito da NDIS quando viene chiamato il driver miniport NdisMRegisterMiniportDriver.
I driver di filtro NDIS possono passare NdisAllocateIoWorkItem l'handle del driver di filtro restituito da NDIS quando il driver di filtro ha chiamato NdisFRegisterFilterDriver.
I driver miniport NDIS e i driver di filtro possono anche passare NdisAllocateIoWorkItem l'handle del dispositivo NDIS restituito quando il driver ha chiamato NdisRegisterDeviceEx. NdisAllocateIoWorkItem ottiene l'oggetto dispositivo o l'oggetto driver associato all'handle e passa l'oggetto dispositivo o driver alla funzione IoAllocateWorkItem.
I driver NDIS devono chiamare la funzione NdisFreeIoWorkItem per liberare le risorse associate a un elemento di lavoro che NdisAllocateIoWorkItem allocato.
I driver possono chiamare NdisFreeIoWorkItem nella routine di callback passata a NdisQueueIoWorkItem.
Se un driver miniport ha utilizzato l'handle passato a MiniportInitializeEx quando ha chiamato NdisAllocateIoWorkItem, l'elemento di lavoro deve essere liberato prima o nella chiamata ai driver funzione miniportHaltEx.
Se un driver miniport ha usato l'handle che NdisMRegisterMiniportDriver restituito quando il driver ha chiamato NdisAllocateIoWorkItem, il driver deve liberare l'elemento di lavoro prima dell'scaricamento del driver.
In generale, un driver deve liberare l'elemento di lavoro prima di scaricare il driver.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato in NDIS 6.0 e versioni successive. |
piattaforma di destinazione | Universale |
intestazione | ndis.h (include Ndis.h) |
libreria | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
regole di conformità DDI | Init_NdisAllocateIoWorkItem(ndis), Irql_Miscellaneous_Function(ndis) |