다음을 통해 공유


IDmaChannel::AllocateBuffer 메서드(portcls.h)

AllocateBuffer 메서드는 포트 드라이버 및 DMA 하드웨어에서 액세스할 수 있는 공통 버퍼를 할당합니다.

구문

NTSTATUS AllocateBuffer(
  ULONG             BufferSize,
  PPHYSICAL_ADDRESS PhysicalAddressConstraint
);

매개 변수

BufferSize

할당할 버퍼의 크기(바이트)를 지정합니다.

PhysicalAddressConstraint

버퍼의 실제 주소에 배치할 선택적 제약 조건을 지정합니다. 이 매개 변수가 NULL이 아닌 경우 제약 조건 주소에 설정된 비트만 버퍼의 시작부터 끝까지 달라집니다. 예를 들어 64킬로바이트 경계를 넘지 않는 버퍼를 요청하려면 실제 주소 제약 조건 0x000000000000FFFF 지정합니다.

반환 값

이 메서드는 NTSTATUS를 반환합니다. AllocateBuffer는 호출이 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 메서드는 적절한 오류 코드를 반환합니다.

설명

이 메서드는 이전에 할당된 버퍼가 FreeBuffer를 호출하여 먼저 해제되지 않는 한 DMA 채널 개체를 만든 후에 한 번만 호출해야 합니다.

요구 사항

요구 사항
헤더 portcls.h
IRQL PASSIVE_LEVEL

추가 정보

IDmaChannel