Share via


NdisMFreeSharedMemory 함수(ndis.h)

NdisMFreeSharedMemoryNdisMAllocateSharedMemory 또는 에서 이전에 할당한 메모리를 해제합니다.DMA NIC의 드라이버에 의한 NdisMAllocateSharedMemoryAsyncEx.

구문

void NdisMFreeSharedMemory(
  [in] NDIS_HANDLE           MiniportAdapterHandle,
  [in] ULONG                 Length,
  [in] BOOLEAN               Cached,
  [in] PVOID                 VirtualAddress,
  [in] NDIS_PHYSICAL_ADDRESS PhysicalAddress
);

매개 변수

[in] MiniportAdapterHandle

MiniportInitializeEx에 원래 입력된 핸들을 지정합니다.

[in] Length

원래 할당된 바이트 수를 지정합니다.

[in] Cached

원래 할당을 캐시할 수 있는 경우 TRUE 를 지정합니다.

[in] VirtualAddress

NdisMAllocateSharedMemory 또는 NdisMAllocateSharedMemoryAsyncEx에서 반환되는 기본 가상 주소를 지정합니다.

[in] PhysicalAddress

NdisMAllocateSharedMemory 또는 NdisMAllocateSharedMemoryAsyncEx에서 반환되는 해당 물리적 주소를 지정합니다.

반환 값

없음

설명

이미 NdisMAllocateSharedMemory를 성공적으로 호출한 경우 또는DMA 디바이스의 미니포트 드라이버인 NdisMAllocateSharedMemoryAsyncEx는 다음 중 한 가지가 발생하는 경우 NdisMFreeSharedMemory를 호출합니다.

  • MiniportInitializeEx 함수는 NIC를 초기화할 수 없으므로 이 함수는 컨트롤을 반환하기 전에 해당 NIC에 대한 하드웨어 리소스의 모든 기존 클레임을 해제해야 합니다.
  • 메모리를 할당한 미니포트 드라이버가 제거되는 NIC입니다.
  • 시스템이 종료되었거나 사용자가 컴퓨터에서 사용되는 네트워크 구성 요소를 다시 구성했기 때문에 드라이버가 언로드되고 있습니다.
  • NIC에 대한 I/O 수요가 높지만 네트워크 트래픽이 평균 수준으로 가라앉은 경우 드라이버는 NdisMAllocateSharedMemoryAsyncEx 와 함께 추가 공유 메모리를 할당했습니다.
미니포트 드라이버는 NdisMFreeSharedMemory 를 호출하여 할당된 공유 메모리 범위 내에서 하위 범위를 해제할 수 없습니다. NdisMFreeSharedMemory에 전달된 매개 변수는 NdisMAllocateSharedMemory 또는 NdisMAllocateSharedMemoryAsyncEx에 전달된 매개 변수와 정확히 일치해야 합니다.

MiniportShutdownEx 함수에서는 NdisMFreeSharedMemory를 호출할 수 없습니다.

Microsoft Windows Server 2003, Windows XP 서비스 팩 1 이상 버전의 Windows를 사용하면 버스 master DMA NIC와 하위 DMA NIC가 모두 NdisMFreeSharedMemory를 호출할 수 있습니다. 이전 릴리스는 버스 master DMA NIC만 NdisMFreeSharedMemory를 호출할 수 있도록 허용합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista에서 NDIS 6.0 및 NDIS 5.1 드라이버(NdisMFreeSharedMemory(NDIS 5.1) 참조)에 대해 지원됩니다. Windows XP의 NDIS 5.1 드라이버(NdisMFreeSharedMemory(NDIS 5.1 참조))에 대해 지원됩니다.
대상 플랫폼 유니버설
헤더 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 규정 준수 규칙 Irql_Miniport_Driver_Function(ndis), NdisMFreeSharedMemory(ndis)

추가 정보

MiniportHaltEx

MiniportInitializeEx

MiniportSharedMemoryAllocateComplete

MiniportShutdownEx

NdisMAllocateSharedMemory

NdisMAllocateSharedMemoryAsyncEx