IDE_HW_CONTROL 콜백 함수(irb.h)
IdeHwControl 미니포트 드라이버 루틴은 미니포트 드라이버에 플러그 앤 플레이(PnP) 및 전원 이벤트에 대해 알 수 있습니다.
참고 ATA 포트 드라이버 및 ATA 미니포트 드라이버 모델은 나중에 변경되거나 사용할 수 없습니다. 대신 Storport 드라이버 및 Storport 미니포트 드라이버 모델을 사용하는 것이 좋습니다.
구문
IDE_HW_CONTROL IdeHwControl;
BOOLEAN IdeHwControl(
[in] PVOID ChannelExtension,
[in] IDE_CONTROL_ACTION ControlAction,
[in, out] PVOID Parameters
)
{...}
매개 변수
[in] ChannelExtension
채널 확장에 대한 포인터입니다.
[in] ControlAction
수행할 컨트롤 작업을 나타내는 IDE_CONTROL_ACTION 형식의 열거자 값을 포함합니다.
[in, out] Parameters
컨트롤 동작과 연결된 매개 변수를 포함하는 버퍼에 대한 포인터입니다. 이 매개 변수는 다음 표의 값 중 하나를 가질 수 있습니다.
제어 작업 | 매개 변수 | Description |
---|---|---|
IdeStart | 매개 변수는 IDE_CHANNEL_CONFIGURATION 형식의 구조를 가리킵니다. | 포트 드라이버가 채널을 시작하고 있음을 나타냅니다. |
IdeVendorDefined | 매개 변수는 IDE_VENDOR_DEFINED_POWER_INFO 형식의 구조를 가리킵니다. | 공급업체에서 정의한 전원 이벤트가 발생했음을 나타냅니다. |
반환 값
작업이 성공하면 IdeHwControl은 TRUE를 반환합니다. 그렇지 않으면 FALSE를 반환합니다.
설명
포트 드라이버는 이 루틴을 호출하기 전에 채널에 미해결 I/O가 없는지 확인합니다. 미니포트 드라이버는 시스템이 다른 전원 상태에 들어갈 때 자체 전원 정책 메서드를 가질 수 있습니다. 이를 위해 미니포트 드라이버는 다음을 수행해야 합니다.
- 미니포트 드라이버의 INF 파일에 전원 정책 설정 체계를 추가합니다. 미니포트 드라이버 정의 전원 정책을 표시하려면 GUID가 필요합니다. 전원 설정 지시문에 대한 자세한 내용은 INF AddPowerSetting 지시문을 참조하세요. GUID에 대한 자세한 내용은 디스크 설정에서 확인할 수 있습니다.
- 컨트롤 작업 IdeStart를 사용하여 미니포트 드라이버 루틴 IdeHwControl이 호출되는 경우:
- ChannelConfiguration 구조에서 SupportedAdvances.AdvancedChannelConfigurationSupported 필드를 확인합니다.
- ChannelConfiguration 구조에서 AdvancedChannelConfiguration->Present.VendorDefinedPower 필드를 확인합니다.
- 이전에 나열된 두 필드의 값이 모두 TRUE인 경우 이 버전의 ATA 포트 드라이버는 공급업체에서 정의한 전원 관리를 지원합니다.
- ATA 포트 드라이버에서 공급업체 정의 전원 관리를 지원하는 경우 미니포트 드라이버는 AdvancedChannelConfiguration->VendorDefinedPower.ValidGuids 및 AdvancedChannelConfiguration->VendorDefinedPower.Guid[] 필드를 설정하여 특수 전원 관리 처리에 등록할 수 있습니다(후자는 미니포트 드라이버의 INF 파일에서 전원 정책의 GUID여야 함).
- 공급업체에서 정의한 전원 관리가 등록되면 미니포트 드라이버는 시스템 전원 구성표가 변경될 때 제어 작업 IdeVendorDefined를 사용하여 IdeHwControl 루틴에 대한 호출을 받을 수 있습니다.
- 미니포트 드라이버는 컨트롤 작업 IdeVendorDefined를 사용하여 IdeHwControl 루틴을 처리하는 동안 다음을 수행해야 합니다.
- 구조체 IDE_VENDOR_DEFINED_POWER_INFO 매개 변수 필드의 SettingGuid 필드를 미니포트 드라이버가 등록한 GUID와 비교하여 이 채널에 대한 호출인지 확인합니다. GUID가 일치하지 않는 경우 미니포트 드라이버는 호출을 완료하고 아무 작업도 수행하지 않아야 합니다.
- 구조체 IDE_VENDOR_DEFINED_POWER_INFO 매개 변수 필드에서 값 필드를 가져와서 적절한 미니포트 드라이버별 전원 관리 작업을 수행합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | irb.h(Irb.h 포함) |