다음을 통해 공유


AtaPortRequestSynchronizedRoutine 함수(irb.h)

AtaPortRequestSynchronizedRoutine 루틴은 미니포트 드라이버에서 ISR(인터럽트 서비스 루틴)과의 동기화를 요청하는 데 사용됩니다.

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

구문

BOOLEAN AtaPortRequestSynchronizedRoutine(
  [in] PVOID      ChannelExtension,
       IDE_HW_DPC CallBackRoutine
);

매개 변수

[in] ChannelExtension

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

CallBackRoutine

호출할 루틴에 대한 포인터입니다.

반환 값

없음

설명

이 루틴은 일반적으로 IDE_CHANNEL_CONFIGURATION 구조체의 SyncWithIsr 멤버를 FALSE로 설정하는 미니포트 드라이버에서 사용됩니다. SyncWithIsrFALSE로 설정된 경우 미니포트 드라이버는 AtaPortRequestSynchronizedRoutine 루틴을 사용하여 ISR에서 수정된 데이터 구조에 대한 동기화된 액세스를 보장해야 합니다.

ChannelExtension에 저장된 채널 확장에 대한 포인터는 호출될 때 작업자 루틴에 전달됩니다.

포트 드라이버가 SynchronizedRoutine에서 가리키는 루틴을 호출하면 ChannelExtension에 저장된 채널 확장에 포인터를 전달합니다.

SynchronizedRoutine 함수 포인터는 다음과 같이 Irb.h에서 선언됩니다.

typedef
VOID
(*IDE_HW_DPC) (
  IN PVOID ChannelExtension
  );

요구 사항

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

추가 정보

AtaPortControllerSyncRoutine