필수 및 선택적 SCSI 미니포트 드라이버 루틴
미니포트 드라이버의 HwScsiXxx 루틴은 드라이버 작성기에서 선택한 이름을 가질 수 있습니다. DriverEntry 는 필수 이름입니다.
모든 SCSI 미니포트 드라이버에는 최소한 다음 시스템 정의 루틴이 있어야 합니다.
| 필수 루틴 | 설명 |
|---|---|
| DriverEntry | 미니포트 드라이버 초기화 |
| HwScsiFindAdapter | 컴퓨터에서 드라이버 지원 호스트 버스 어댑터(HBA)를 구성하는 방법(또는 여부)을 결정합니다. |
| HwScsiInitialize | 지원되는 HBA 초기화 |
| HwScsiStartIo | 들어오는 요청에 대한 미니포트의 HBA에 대한 작업을 시작합니다. |
| HwScsiResetBus | 버스 재설정 요청을 처리합니다. |
각 HBA 및 드라이버 디자이너에 따라 SCSI 미니포트 드라이버에는 다음 시스템 정의 루틴의 일부 또는 전부도 있습니다.
| 루틴에서 반환된 값 | 설명 |
|---|---|
| HwScsiInterrupt | HBA에서 생성된 인터럽트는 HBA가 인터럽트 생성을 생성하지 않는 경우에만 선택 사항이므로 미니포트 드라이버는 폴링하여 HBA의 모든 I/O 작업을 관리합니다. 그러나 폴링을 단독으로 사용하면 미니포트 드라이버의 성능과 HBA의 I/O 처리량에 부정적인 영향을 미칩니다. 이러한 미니포트 드라이버에는 HwScsiTimer 루틴도 있어야 합니다. |
| HwScsiDisableInterruptsCallback 및 HwScsiEnableInterruptsCallback | 인터럽트 기반 I/O 작업이 오래 걸리는 경우 지연된 I/O 처리를 처리합니다. |
| HwScsiTimer | HBA 또는 드라이버 디자이너에서 결정한 다른 용도로 긴 지연이 필요한 시간 작업입니다. HwScsiInterrupt 루틴이 없는 경우 미니포트 드라이버에는 HwScsiTimer 루틴 이 있어야 HBA의 효율적인 폴링에 HwScsiTimer 루틴을 사용할 수 있습니다. |
| HwScsiDmaStarted | HBA가 시스템 DMA 컨트롤러를 사용하는 경우 포트 드라이버에서 시스템 DMA 컨트롤러를 프로그래밍한 후 HBA 전송을 설정하는 데 필요합니다. |
| HwScsiAdapterState | HBA에 BIOS 또는 x86 실제 모드 드라이버가 없고/또는 x86 전용 Microsoft Windows 시스템에서 실행되지 않는 경우에만 선택 사항입니다. |
| HwScsiAdapterControl | 미니포트 드라이버가 플러그 앤 플레이 지원하는 경우 필요합니다. |
| HwScsiWmiExecuteMethod | 데이터 블록과 연결된 메서드를 실행합니다. 이 루틴은 선택 사항입니다. |
| HwScsiWmiFunctionControl | 이벤트 알림을 사용하거나 사용하지 않도록 설정하고 미니포트 드라이버가 수집하는 데 비용이 많이 드는 데이터 블록에 대한 데이터 수집을 사용하거나 사용하지 않도록 설정합니다. 선택 사항입니다. |
| HwScsiWmiQueryDataBlock | 단일 인스턴스 또는 데이터 블록의 모든 인스턴스를 가져옵니다. 필수 사항입니다. |
| HwScsiWmiQueryReginfo | SCSI 포트 드라이버에서 미니포트 드라이버를 대신하여 등록할 데이터 및 이벤트 블록에 대한 정보를 가져옵니다. 필수 사항입니다. |
| HwScsiWmiSetDataBlock | 데이터 블록의 단일 인스턴스에 있는 모든 데이터 항목을 변경합니다. 선택 사항입니다. |
| HwScsiWmiSetDataItem | 데이터 블록 인스턴스의 단일 데이터 항목을 변경합니다. 선택 사항입니다. |
DriverEntry를 제외한 앞의 각 미니포트 드라이버 루틴에는 해당 기능을 설명하기 위해 선택한 이름이 있습니다. 모든 미니포트 드라이버의 초기 진입점에 필요한 이름인 DriverEntry를 제외하고 미니포트 드라이버 루틴의 이름은 드라이버 작성기가 선택하는 모든 항목일 수 있습니다.
SCSI 미니포트 드라이버의 오류 처리는 SCSI 미니포트 드라이버에 대한 오류 처리 요구 사항을 설명합니다.