다음을 통해 공유


AtaPortRegistryControllerKeyRead 함수(irb.h)

AtaPortRegistryControllerKeyRead 루틴은 레지스트리 키 HKLM\CurrentControlSet\Services\<service name>\ControllerN아래에 표시된 값 이름과 연결된 데이터를 읽습니다. 여기서 N은 컨트롤러의 수입니다.

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

구문

BOOLEAN AtaPortRegistryControllerKeyRead(
  [in]            PVOID  ChannelExtension,
  [in]            UCHAR  ControllerNumber,
  [in]            PCHAR  ValueName,
  [in]            UCHAR  ValueType,
  [out, optional] PUCHAR Buffer,
                  PULONG BufferLength
);

매개 변수

[in] ChannelExtension

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

[in] ControllerNumber

컨트롤러 번호를 포함합니다.

[in] ValueName

읽을 레지스트리 값의 이름을 포함합니다.

[in] ValueType

레지스트리 값에 포함된 데이터의 형식을 나타냅니다. 이 매개 변수는 다음 표에 표시된 값 중 하나를 할당해야 합니다.

값 형식 의미
IDE_REG_DWORD 4 바이트 숫자 값입니다.
IDE_REG_BINARY 이진 데이터.
IDE_REG_SZ null로 끝나는 유니코드 문자열입니다.

[out, optional] Buffer

결과를 복사할 버퍼에 대한 포인터입니다.

BufferLength

복사할 데이터 바이트 수에 대한 포인터입니다. 버퍼가 부족하여 작업이 실패하면 Length 가 가리키는 위치가 레지스트리에 있는 데이터의 실제 길이로 업데이트됩니다.

반환 값

작업이 성공하면 AtaPortRegistryControllerKeyReadTRUE를 반환합니다. 그렇지 않으면 FALSE를 반환합니다. 미니포트 드라이버가 올바른 루틴에서 호출하지 않으면 AtaPortRegistryControllerKeyRead 루틴도 FALSE 를 반환합니다.

설명

버퍼의 버퍼는 AtaPortRegistryAllocateBuffer를 사용하여 할당해야 합니다.

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

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 irb.h(Ata.h, Irb.h 포함)

추가 정보

AtaChannelInitRoutine

AtaPortRegistryAllocateBuffer

IdeHwControl