NdisFreeMemoryWithTagPriority 함수(ndis.h)
NdisFreeMemoryWithTagPriority 함수는 다음과 함께 할당된 메모리를 해제합니다. NdisAllocateMemoryWithTagPriority 함수입니다.
통사론
void NdisFreeMemoryWithTagPriority(
[in] NDIS_HANDLE NdisHandle,
[in] PVOID VirtualAddress,
[in] ULONG Tag
);
매개 변수
[in] NdisHandle
호출자 초기화 중에 가져온 NDIS 드라이버 또는 인스턴스 핸들입니다. 드라이버가 전달한 것과 동일한 핸들이어야 합니다. NdisAllocateMemoryWithTagPriority 함수입니다. 예를 들어 미니포트 드라이버는 NDIS 핸들에서 가져온 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) |