NdisFreeMemoryWithTagPriority 함수(ndis.h)
NdisFreeMemoryWithTagPriority 함수는 와 함께 할당된 메모리를 해제합니다. NdisAllocateMemoryWithTagPriority 함수입니다.
구문
void NdisFreeMemoryWithTagPriority(
[in] NDIS_HANDLE NdisHandle,
[in] PVOID VirtualAddress,
[in] ULONG Tag
);
매개 변수
[in] NdisHandle
호출자 초기화 중에 가져온 NDIS 드라이버 또는 instance 핸들입니다. 드라이버가 에 전달한 것과 동일한 핸들이어야 합니다. NdisAllocateMemoryWithTagPriority 함수입니다. 예를 들어 미니포트 드라이버는 에서 가져온 NDIS 핸들을 사용할 수 있습니다. NdisMRegisterMiniportDriver 또는 MiniportInitializeEx 함수입니다. 다른 NDIS 드라이버는 다음 함수의 핸들을 사용할 수 있습니다.
[in] VirtualAddress
할당된 메모리의 기본 가상 주소에 대한 포인터입니다. 이 주소는 에서 반환되었습니다. NdisAllocateMemoryWithTagPriority 함수입니다.
[in] Tag
작은따옴표로 구분된 문자열로, 일반적으로 역순으로 지정된 최대 4자입니다. 이 호출에 대해 NDIS에서 제공하는 기본 태그는 'maDN'이지만 호출자는 명시적 값을 제공하여 이 기본값을 재정의할 수 있습니다.
반환 값
없음
설명
할당된 미니포트 드라이버가 언로드될 때까지 캐시되지 않은 메모리 및 연속 메모리가 거의 해제되지 않으므로 일반적으로 NdisFreeMemoryWithTagPriority 호출자는 이러한 유형의 할당 해제에 대해 IRQL = PASSIVE_LEVEL 실행됩니다. 어떤 경우든 다음을 수행합니다.
- NdisFreeMemoryWithTagPriority 호출자가 연속 메모리를 해제하는 경우 IRQL = PASSIVE_LEVEL 실행되어야 합니다.
- NdisFreeMemoryWithTagPriority 호출자가 캐시되지 않은 메모리를 해제하는 경우 IRQL < DISPATCH_LEVEL 실행 중이어야 합니다.
- NdisFreeMemoryWithTagPriority 호출자가 연속되거나 캐시되지 않은 메모리를 해제하는 경우 IRQL <= DISPATCH_LEVEL 실행되어야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | NDIS 6.20 이상에서 지원됩니다. |
대상 플랫폼 | 유니버설 |
헤더 | ndis.h(Ndis.h 포함) |
라이브러리 | Ndis.lib |
IRQL | 설명 섹션을 참조하십시오. |
DDI 규정 준수 규칙 | NdisAllocateMemoryWithTagPriority_Cleanup(ndis), NdisAllocateMemoryWithTagPriority_InitFail(ndis) |