다음을 통해 공유


AtaPortRegistryAllocateBuffer 함수(irb.h)

AtaPortRegistryAllocateBuffer 루틴은 레지스트리 작업에 대한 버퍼를 할당합니다.

참고 ATA 포트 드라이버 및 ATA 미니포트 드라이버 모델은 나중에 변경되거나 사용할 수 없습니다. 대신 Storport 드라이버Storport 미니포트 드라이버 모델을 사용하는 것이 좋습니다.
 

구문

PVOID AtaPortRegistryAllocateBuffer(
  [in] PVOID ChannelExtension,
       ULONG BufferSize
);

매개 변수

[in] ChannelExtension

채널 확장에 대한 포인터입니다.

BufferSize

버퍼의 길이(바이트)를 지정합니다.

반환 값

AtaPortRegistryAllocateBuffer 는 성공 시 할당된 버퍼에 대한 포인터를 반환합니다. 그렇지 않으면 NULL을 반환합니다.

설명

포트 드라이버를 사용하면 미니포트 드라이버가 모든 레지스트리 작업에 대해 하나의 버퍼를 할당할 수 있습니다. 미니포트 드라이버가 AtaPortRegistryAllocateBuffer를 사용하여 버퍼를 할당한 후 나중에 AtaPortRegistryAllocateBuffer 에 대한 호출이 실패하고 NULL을 반환합니다. 미니포트 드라이버가 AtaPortRegistryFreeBuffer 루틴을 호출하여 할당된 버퍼를 해제한 후 AtaPortRegistryAllocateBuffer를 호출하여 버퍼를 다시 할당할 수 있습니다.

미니포트 드라이버는 AtaChannelInitRoutine 루틴 또는 IdeHwControl 루틴에서 AtaPortRegistryAllocateBuffer를 호출해야 합니다. 다른 루틴에서는 AtaPortRegistryAllocateBuffer 를 호출할 수 없습니다. 또한 미니포트 드라이버는 IdeHwControl 루틴이 호출되고 ControlAction 매개 변수에서 StartChannel 또는 StopChannel 값이 있는 경우에만 IdeHwControl 루틴에서 AtaPortRegistryAllocateBuffer를 호출할 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 irb.h(Ata.h, Irb.h 포함)
라이브러리 Ataport.lib; Pciidex.lib

추가 정보

AtaChannelInitRoutine

AtaPortRegistryFreeBuffer

IdeHwControl