다음을 통해 공유


AtaPortRegistryControllerKeyWriteDeferred 함수(irb.h)

AtaPortRegistryControllerKeyWriteDeferred 루틴은 레지스트리 키 HKLM\CurrentControlSet\Services\<service name>\ControllerN지정된 값 이름에 데이터를 비동기적으로 씁니다. 여기서 N 컨트롤러의 수입니다.

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

통사론

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

매개 변수

[in] ChannelExtension

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

[in] ControllerNumber

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

[in] ValueName

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

[in] ValueType

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

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

[in] Buffer

레지스트리 값에 쓸 데이터가 들어 있는 원본 버퍼에 대한 포인터입니다.

BufferLength

복사할 데이터 바이트 수에 대한 포인터입니다. 작업이 실패하면 Length 가리키는 위치가 레지스트리에 성공적으로 복사된 데이터의 길이로 업데이트됩니다.

반환 값

AtaPortRegistryControllerKeyWriteDeferred 작업이 성공하면 TRUE 반환합니다. 그렇지 않으면 false 반환됩니다. 미니포트 드라이버가 올바른 루틴에서 호출하지 않는 경우 루틴은 FALSE 반환합니다.

발언

값 이름이 없으면 AtaPortRegistryControllerKeyWriteDeferred 루틴은 값 이름에 대한 항목을 만들고 입력 데이터를 새로 만든 값 이름 아래에 저장합니다.

미니포트 드라이버는 채널 인터페이스에 정의된 루틴 중 하나에서 AtaPortRegistryControllerKeyWriteDeferred 루틴을 호출할 수 있습니다.

Buffer 가리키는 버퍼는 AtaPortRegistryAllocateBuffer사용하여 할당해야 합니다. 포트 드라이버가 키 데이터 쓰기를 지연하기 때문에 미니포트 드라이버는 AtaPortRegistryControllerKeyWriteDeferred 호출한 후 이 버퍼를 다시 사용하면 안 됩니다. 미니포트 드라이버가 버퍼를 다시 사용하는 경우 포트 드라이버가 레지스트리 키에 저장할 기회가 있기 전에 버퍼의 데이터를 덮어쓸 수 있습니다. 포트 드라이버는 미니포트 드라이버가 AtaPortRegistryFreeBuffer 호출하여 버퍼를 해제할 때 버퍼를 플러시합니다.

요구 사항

요구
대상 플랫폼 바탕 화면
헤더 irb.h(Ata.h, Irb.h 포함)

참고 항목

AtaPortRegistryAllocateBuffer

AtaPortRegistryFreeBuffer