Freigeben über


NdisAllocateIoWorkItem-Funktion (ndis.h)

NDIS-Treiber rufen die NdisAllocateIoWorkItem--Funktion auf, um eine Arbeitsaufgabe zuzuweisen. Weitere Informationen finden Sie unter NDIS I/O Work Items.

Syntax

NDIS_HANDLE NdisAllocateIoWorkItem(
  [in] NDIS_HANDLE NdisObjectHandle
);

Parameter

[in] NdisObjectHandle

Das Handle eines NDIS-Objekts, das einem Geräteobjekt oder Treiberobjekt zugeordnet ist.

Rückgabewert

Wenn NdisAllocateIoWorkItem erfolgreich eine Arbeitsaufgabe zuweist, wird ein Handle an die Arbeitsaufgabe zurückgegeben. Wenn ein Fehler auftritt, gibt NdisAllocateIoWorkItemNULL-zurück.

Bemerkungen

NDIS miniport drivers pass NdisAllocateIoWorkItem eines von zwei Handles: der Adapterziehpunkt, den NDIS an die MiniportInitializeEx-Funktion übergeben hat, oder der Miniport-Treiberhandle, den NDIS beim Aufrufen des Miniporttreibers zurückgegeben hat NdisMRegisterMiniportDriver.

NDIS-Filtertreiber können NdisAllocateIoWorkItem den von NDIS zurückgegebenen Filtertreiberhandle übergeben, wenn der Filtertreiber NdisFRegisterFilterDriveraufgerufen wird.

NDIS miniport drivers and filter drivers can also pass NdisAllocateIoWorkItem the NDIS device handle that NDIS returned when the driver called NdisRegisterDeviceEx. NdisAllocateIoWorkItem ruft das Dem Handle zugeordnete Geräteobjekt oder Treiberobjekt ab und übergibt das Geräteobjekt oder Treiberobjekt an die IoAllocateWorkItem--Funktion.

Hinweis Protokolltreiber nicht NdisAllocateIoWorkItem- verwenden können, da NDIS keine Protokolltreiber mit Geräteobjekten oder Treiberobjekten verknüpft.
 
NDIS-Treiber rufen die NdisQueueIoWorkItem--Funktion auf, um Arbeitsaufgaben in die Warteschlange zu stellen. Nachdem ein Treiber NdisQueueIoWorkItem-aufgerufen hat, ruft NDIS die vom Treiber angegebene Rückruffunktion bei IRQL = PASSIVE_LEVEL auf. Dies kann die Systemleistung verbessern, indem die aktuelle Funktion sofort beendet werden kann und der Treiber später an einem niedrigeren IRQL arbeiten kann.

NDIS-Treiber müssen die NdisFreeIoWorkItem--Funktion aufrufen, um die Ressourcen freizugeben, die einer Arbeitsaufgabe zugeordnet NdisAllocateIoWorkItem zugeordnet sind.

Treiber können NdisFreeIoWorkItem- in der Rückrufroutine aufrufen, die an NdisQueueIoWorkItemübergeben wird.

Wenn ein Miniporttreiber den Handle verwendet hat, den NDIS an MiniportInitializeEx übergeben hat, wenn er NdisAllocateIoWorkItem-aufgerufen hat, muss die Arbeitsaufgabe vor oder im Aufruf der Treiber MiniportHaltEx Funktion freigegeben werden.

Wenn ein Miniporttreiber das Handle verwendet hat, das NdisMRegisterMiniportDriver zurückgegeben wird, wenn der Treiber NdisAllocateIoWorkItemaufgerufen wird, muss der Treiber die Arbeitsaufgabe freigeben, bevor der Treiber entladen wird.

Im Allgemeinen muss ein Treiber die Arbeitsaufgabe freigeben, bevor der Treiber entladen wird.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.0 und höher.
Zielplattform- Universal
Header- ndis.h (include Ndis.h)
Library Ndis.lib
IRQL- <= DISPATCH_LEVEL
DDI-Complianceregeln Init_NdisAllocateIoWorkItem(ndis), Irql_Miscellaneous_Function(ndis)

Siehe auch

IoAllocateWorkItem-

MiniportHaltEx

MiniportInitializeEx-

NDIS-E/A-Arbeitsaufgaben

NdisFRegisterFilterDriver-

NdisFreeIoWorkItem-

NdisMRegisterMiniportDriver-

NdisQueueIoWorkItem

NdisRegisterDeviceEx-