NdisAllocateIoWorkItem, fonction (ndis.h)
Les pilotes NDIS appellent la fonction NdisAllocateIoWorkItem pour allouer un élément de travail. Pour plus d’informations, consultez Éléments de travail D’E/S NDIS.
Syntaxe
NDIS_HANDLE NdisAllocateIoWorkItem(
[in] NDIS_HANDLE NdisObjectHandle
);
Paramètres
[in] NdisObjectHandle
Handle d’un objet NDIS associé à un objet de périphérique ou à un objet pilote.
Valeur retournée
Si NdisAllocateIoWorkItem alloue correctement un élément de travail, il retourne un handle à l’élément de travail. En cas d’échec, NdisAllocateIoWorkItem retourne NULL.
Remarques
Les pilotes de miniport NDIS transmettent NdisAllocateIoWorkItem l’une ou l’autre des deux poignées : le handle d’adaptateur que NDIS a transmis à la fonction MiniportInitializeEx ou le handle de pilote miniport que NDIS a retourné lorsque le pilote miniport appelé NdisMRegisterMiniportDriver.
Les pilotes de filtre NDIS peuvent passer NdisAllocateIoWorkItem le handle de pilote de filtre retourné par NDIS lorsque le pilote de filtre appelé NdisFRegisterFilterDriver.
Les pilotes miniportS et les pilotes de filtre NDIS peuvent également passer NdisAllocateIoWorkItem le handle de périphérique NDIS retourné par NDIS lorsque le pilote appelé NdisRegisterDeviceEx. NdisAllocateIoWorkItem obtient l’objet d’appareil ou l’objet pilote qui est associé au handle et passe l’objet de périphérique ou de pilote à la fonction IoAllocateWorkItem .
Les pilotes NDIS doivent appeler la fonction NdisFreeIoWorkItem pour libérer les ressources associées à un élément de travail alloué par NdisAllocateIoWorkItem .
Les pilotes peuvent appeler NdisFreeIoWorkItem dans la routine de rappel passée à NdisQueueIoWorkItem.
Si un pilote miniport a utilisé le handle que NDIS a passé à MiniportInitializeEx quand il a appelé NdisAllocateIoWorkItem, l’élément de travail doit être libéré avant ou dans l’appel de la fonction MiniportHaltEx des pilotes.
Si un pilote miniport a utilisé le handle que NdisMRegisterMiniportDriver a retourné lorsque le pilote appelé NdisAllocateIoWorkItem, le pilote doit libérer l’élément de travail avant le déchargement du pilote.
En général, un pilote doit libérer l’élément de travail avant le déchargement du pilote.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.0 et versions ultérieures. |
Plateforme cible | Universal |
En-tête | ndis.h (inclure Ndis.h) |
Bibliothèque | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Règles de conformité DDI | Init_NdisAllocateIoWorkItem(ndis),Irql_Miscellaneous_Function(ndis) |