다음을 통해 공유


NdisAllocateBuffer 함수(ndis.h)

참고 NDIS 5. x 더 이상 사용되지 않으며 NDIS 6으로 대체됩니다. x . 새로운 NDIS 드라이버 개발은 Windows Vista 시작하는네트워크 드라이버를 참조하세요. NDIS 5 포팅에 대한 자세한 내용입니다. x 드라이버를 NDIS 6에. x NDIS 5.x 드라이버를 NDIS 6.0 참조하세요.

NdisAllocateBuffer 이미 할당된 페이징되지 않은 메모리 블록 내에서 지정된 가상(하위) 범위를 매핑하는 버퍼 설명자를 만듭니다.

통사론

void NdisAllocateBuffer(
  [out]          PNDIS_STATUS Status,
  [out]          PNDIS_BUFFER *Buffer,
  [in, optional] NDIS_HANDLE  PoolHandle,
  [in]           PVOID        VirtualAddress,
  [in]           UINT         Length
);

매개 변수

[out] Status

이 함수가 버퍼 할당의 최종 상태를 반환하는 호출자 제공 변수에 대한 포인터로, Buffer 유효한 버퍼 설명자 포인터를 반환하고 그렇지 않으면 NDIS_STATUS_FAILURE 경우 NDIS_STATUS_SUCCESS.

[out] Buffer

이 함수가 할당된 버퍼 설명자에 대한 포인터를 반환하는 호출자 제공 변수에 대한 포인터입니다.

[in, optional] PoolHandle

NdisAllocateBufferPool대한 이전 호출에서 반환된 핸들을 지정합니다.

[in] VirtualAddress

반환된 버퍼 설명자에 매핑할 이전에 할당된 시스템 공간 메모리의 기본 가상 주소에 대한 포인터입니다.

[in] Length

매핑할 바이트 수를 지정합니다.

반환 값

없음

발언

반환 값: 없음

NdisAllocateBuffer 패킷 헤더 또는 NIC 수신 버퍼에 사용되는 메모리와 같이 이전에 할당된 메모리의 지정된 범위를 매핑하기 위해 버퍼 설명자에 대한 스토리지를 할당하고 초기화합니다.

버퍼 설명자 할당은 NdisAllocateBufferPool 만드는 버퍼 풀에 그립니다. 드라이버는 초기화 중에 NdisAllocateBufferPool 호출하는 경우 필요한 버퍼 설명자를 할당하기 위해 필요한 만큼 NdisAllocateBuffer 호출할 수 있습니다.

모든 하위 수준 NDIS 드라이버는 버퍼 풀의 패킷에 연결하는 모든 버퍼 설명자를 할당해야 합니다. 최고 수준의 프로토콜 드라이버만 가상 메모리 범위를 매핑하는 OS 종속 설명자를 지정할 수 있으며, 이러한 메모리 설명자가 NDIS 버퍼 설명자와 동일한 경우 최상위 프로토콜은 이러한 설명자를 매개 변수로 전달하여 NdisXxx 함수에 전달할 수 있습니다.

  • 대상 플랫폼: 유니버설

요구 사항

요구
헤더 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL IRQL <= DISPATCH_LEVEL

참고 항목