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 |