다음을 통해 공유


StorPortAllocateMdl 함수(storport.h)

StorPortAllocateMdl 루틴은 지정된 비페이지 풀 메모리를 설명하기 위해 MDL을 할당합니다.

구문

ULONG StorPortAllocateMdl(
  [in]  PVOID HwDeviceExtension,
  [in]  PVOID BufferPointer,
  [in]  ULONG NumberOfBytes,
  [out] PVOID *Mdl
);

매개 변수

[in] HwDeviceExtension

HBA(호스트 버스 어댑터)의 하드웨어 디바이스 확장에 대한 포인터입니다.

[in] BufferPointer

MDL에서 설명할 버퍼의 기본 가상 주소에 대한 포인터입니다.

[in] NumberOfBytes

이 매개 변수는 MDL이 설명할 버퍼의 길이(바이트)를 지정합니다.

[out] Mdl

할당된 MDL을 받을 포인터입니다.

반환 값

StorPortAllocateMdl은 다음 상태 코드 중 하나를 반환합니다.

반환 코드 설명
STOR_STATUS_NOT_IMPLEMENTED
이 함수는 활성 운영 체제에서 구현되지 않습니다.
STOR_STATUS_SUCCESS
루틴이 MDL을 성공적으로 할당했음을 나타냅니다.
STOR_STATUS_INVALID_PARAMETER
MDL을 받을 포인터가 NULL입니다.

버퍼에 대한 포인터가 NULL입니다.

STOR_STATUS_INVALID_IRQL
잘못된 IRQL에서 호출이 이루어졌습니다.
STOR_STATUS_INSUFFICIENT_RESOURCES
지정된 버퍼를 설명하기 위해 MDL을 할당할 수 없습니다.

설명

미니포트 드라이버는 StorPortAllocateMdl 루틴을 호출하여 MDL을 할당하여 페이징되지 않은 풀의 메모리 블록을 설명합니다. MDL을 해제하기 위해 미니포트 드라이버는 StorPortFreeMdl 루틴을 호출합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 storport.h(Storport.h 포함)
IRQL <=DISPATCH_LEVEL
DDI 규정 준수 규칙 StorPortIrql(storport)