다음을 통해 공유


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 드라이버는 다음 함수의 핸들을 사용할 수 있습니다.

NdisRegisterProtocolDriver

NdisOpenAdapterEx

NdisFRegisterFilterDriver

filterAttach

[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)

참고 항목

filterAttach

MiniportInitializeEx

NdisAllocateMemoryWithTagPriority

NdisFRegisterFilterDriver

NdisMRegisterMiniportDriver

NdisOpenAdapterEx

NdisRegisterProtocolDriver