StorPortSynchronizeAccess 함수(storport.h)
StorPortSynchronizeAccess 루틴은 미니포트 드라이버의 디바이스 확장에 대한 동기화된 액세스를 제공합니다.
구문
STORPORT_API BOOLEAN StorPortSynchronizeAccess(
[in] PVOID HwDeviceExtension,
[in] PSTOR_SYNCHRONIZED_ACCESS SynchronizedAccessRoutine,
[in, optional] PVOID Context
);
매개 변수
[in] HwDeviceExtension
하드웨어 디바이스 확장에 대한 포인터입니다. 포트 드라이버가 미니포트 드라이버를 대신하여 할당하고 초기화하는 HBA당 스토리지 영역입니다. 미니포트 드라이버는 일반적으로 HBA 상태 및 HBA에 대한 매핑된 액세스 범위와 같은 HBA 관련 정보를 이 확장에 저장합니다. 이 영역은 미니포트 드라이버가 StorPortInitialize를 호출한 직후 미니포트 드라이버에서 사용할 수 있습니다. 포트 드라이버는 디바이스를 제거할 때 이 메모리를 해제합니다.
[in] SynchronizedAccessRoutine
인터럽트 개체와 연결된 ISR의 실행과 실행을 동기화할 호출자 제공 루틴에 대한 포인터입니다. 이 루틴의 프로토타입은 이 항목의 뒷부분에 있는 설명 섹션을 참조하세요.
[in, optional] Context
호출 시 호출자가 제공한 콜백 루틴에 전달할 컨텍스트 영역에 대한 포인터입니다.
반환 값
SynchronizedAccessRoutine의 반환 값입니다.
설명
전체 이중 모드에서 작동하고 HwStorStartIo 루틴과 인터럽트 서비스 루틴 간에 공유되는 정보에 액세스하는 미니포트 드라이버는 이 루틴을 사용하여 공유 데이터에 동기화된 방식으로 액세스해야 합니다.
미니포트 드라이버는 StorPortSynchronizeAccess에 콜백 루틴을 전달하고 StorPortSynchronizeAccess 는 중요한 데이터 구조에 대한 단독 액세스를 보장한 후 호출합니다. 미니포트 드라이버의 콜백 루틴은 다음 프로토타입을 따라야 합니다.
typedef
BOOLEAN
(* PSTOR_SYNCHRONIZED_ACCESS) (
IN PVOID HwDeviceExtension,
IN PVOID Context
);
여기서 HwDeviceExtension 은 하드웨어 디바이스 확장에 대한 포인터이며 Context 는 StorPortSynchronizeAccess를 호출할 때 호출자가 제공한 것과 동일한 컨텍스트 정보에 대한 포인터일 뿐입니다.
자세한 내용은 동기화되지 않은 미니포트 드라이버 루틴 내의 동기화된 액세스를 참조하세요.
동기화 루틴에 대한 자세한 내용은 KeSynchronizeExecution을 참조하세요.
요구 사항
| 대상 플랫폼 | 유니버설 |
| 헤더 | storport.h(Storport.h 포함) |
| 라이브러리 | Storport.lib |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기