NdisFreeMemoryWithTagPriority function (ndis.h)
The NdisFreeMemoryWithTagPriority function releases memory that was allocated with the NdisAllocateMemoryWithTagPriority function.
Syntax
void NdisFreeMemoryWithTagPriority(
[in] NDIS_HANDLE NdisHandle,
[in] PVOID VirtualAddress,
[in] ULONG Tag
);
Parameters
[in] NdisHandle
An NDIS driver or instance handle that was obtained during caller initialization. This should be the same handle that the driver passed to the NdisAllocateMemoryWithTagPriority function. For example, a miniport driver can use the NDIS handle that it obtained from the NdisMRegisterMiniportDriver or MiniportInitializeEx function. Other NDIS drivers can use the handles from the following functions:
[in] VirtualAddress
A pointer to the base virtual address of the allocated memory. This address was returned by the NdisAllocateMemoryWithTagPriority function.
[in] Tag
A string, delimited by single quotation marks, with up to four characters, usually specified in reversed order. The NDIS-supplied default tag for this call is 'maDN', but the caller can override this default by supplying an explicit value.
Return value
None
Remarks
Because noncached memory and contiguous memory are seldom released until the allocating miniport driver is unloading, a caller of NdisFreeMemoryWithTagPriority usually is running at IRQL = PASSIVE_LEVEL for these types of de-allocations. In any case:
- When a caller of NdisFreeMemoryWithTagPriority releases contiguous memory, it must be running at IRQL = PASSIVE_LEVEL.
- When a caller of NdisFreeMemoryWithTagPriority releases noncached memory, it must be running at IRQL < DISPATCH_LEVEL.
- When a caller of NdisFreeMemoryWithTagPriority releases memory that is neither contiguous nor noncached, it must be running at IRQL <= DISPATCH_LEVEL.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported in NDIS 6.20 and later. |
Target Platform | Universal |
Header | ndis.h (include Ndis.h) |
Library | Ndis.lib |
IRQL | See Remarks section. |
DDI compliance rules | NdisAllocateMemoryWithTagPriority_Cleanup(ndis), NdisAllocateMemoryWithTagPriority_InitFail(ndis) |