EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE 콜백 함수(acxcircuit.h)
EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE 콜백은 회로 팩터리가 하드웨어 준비 단계에 있을 때 드라이버에서 기능을 추가하는 데 사용됩니다.
구문
EVT_ACX_FACTORY_CIRCUIT_PREPARE_HARDWARE EvtAcxFactoryCircuitPrepareHardware;
NTSTATUS EvtAcxFactoryCircuitPrepareHardware(
WDFDEVICE Device,
ACXFACTORYCIRCUIT Factory,
WDFCMRESLIST ResourcesRaw,
WDFCMRESLIST ResourcesTranslated
)
{...}
매개 변수
Device
ACX 회로와 연결된 WDFDEVICE 개체( 프레임워크 개체 요약에 설명됨)입니다.
Factory
기존 회로 팩터리 ACXFACTORYCIRCUIT 개체입니다. ACX 개체에 대한 자세한 내용은 ACX 개체 요약을 참조하세요.
ResourcesRaw
하드웨어 준비 단계에 사용할 원시 리소스를 설명하는 WDF 리소스 목록입니다. 디바이스의 하드웨어 리소스 목록을 나타내는 WDF 프레임워크 리소스 목록 개체입니다. 원시 리소스에 대한 자세한 내용은 Framework-Based 드라이버용 하드웨어 리소스를 참조하세요.
ResourcesTranslated
하드웨어 준비 단계에 사용할 번역된 리소스를 설명하는 WDF 리소스 목록입니다. 디바이스의 하드웨어 리소스 목록을 나타내는 WDF 프레임워크 리소스 목록 개체입니다. 번역된 리소스 목록에 대한 자세한 내용은 원시 및 번역된 리소스를 참조하세요.
반환 값
호출에 성공하면 를 반환합니다 STATUS_SUCCESS
. 그렇지 않으면 적절한 오류 코드를 반환합니다. 자세한 내용은 NTSTATUS 값 사용을 참조하세요.
설명
EvtAcxFactoryCircuitPrepareHardware 콜백 함수를 등록하려면 드라이버가 AcxFactoryCircuitInitSetAcxCircuitPnpPowerCallbacks 메서드를 호출해야 합니다.
드라이버가 ACXFACTORYCIRCUIT에 대한 EvtAcxFactoryCircuitPrepareHardware 콜백 함수를 등록한 경우 WDF 프레임워크가 드라이버의 EvtDevicePrepareHardware 콜백 함수를 호출한 후 ACX 프레임워크는 함수를 호출합니다.
EvtAcxFactoryCircuitPrepareHardware 콜백 함수는 수신하는 ResourcesRaw 및 ResourcesTranslated 핸들을 사용하여 디바이스의 원시 및 번역된 하드웨어 리소스에 액세스합니다. 콜백 함수는 WdfCmResourceListGetCount 및 WdfCmResourceListGetDescriptor 를 호출하여 리소스 목록을 트래버스할 수 있습니다. 이 콜백 함수는 리소스 목록을 수정할 수 없습니다.
리소스 목록 및 리소스가 표시되는 순서에 대한 자세한 내용은 원시 및 번역된 리소스를 참조하세요.
일반적으로 드라이버의 EvtAcxFactoryCircuitPrepareHardware 콜백 함수는 필요한 경우 다음을 수행합니다.
- 드라이버가 디바이스에 할당된 메모리에 액세스할 수 있도록 실제 메모리 주소를 ACXFACTORYCIRCUIT의 가상 주소에 매핑합니다.
- 필요에 따라 드라이버의 EvtAcxFactoryCircuitPrepareHardware 콜백 함수는 작업 항목을 큐에 대기하여 시간이 많이 걸리는 다른 구성 작업을 완료할 수 있습니다. 이러한 작업에 작업 항목을 사용하면 디바이스의 시작 시간이 시스템 부팅 시간을 늘리지 않도록 할 수 있습니다. 자세한 내용은 프레임워크 작업 항목 사용을 참조하세요.
- 일반적으로 펌웨어 로드를 비롯한 다른 모든 하드웨어 초기화 작업은 디바이스가 작동(D0) 상태가 될 때마다 발생하므로 드라이버의 EvtDeviceD0Entry 콜백 함수에서 수행되어야 합니다.
ResourcesRaw 및 ResourcesTranslated 핸들은 드라이버의 EvtDeviceReleaseHardware 콜백 함수가 반환될 때까지 EvtAcxCircuitPrepareHardware/EvtDevicePrepareHardware 콜백 함수가 수신하는 유효한 상태로 유지됩니다.
드라이버가 EvtAcxFactoryCircuitPrepareHardware 콜백에 실패하면 ACXFACTORYCIRCUIT 개체가 삭제 보류 중 상태로 배치됩니다.
하드웨어 리소스에 대한 자세한 내용은 하드웨어 리소스 소개를 참조하세요.
ACX 및 WDF 프레임워크가 이러한 콜백 함수를 호출하는 시기에 대한 자세한 내용은 PnP 및 전원 관리 시나리오를 참조하세요.
이 콜백 함수를 제공하는 드라이버에 대한 자세한 내용은 함수 드라이버에서 PnP 및 전원 관리 지원을 참조하세요.
ACX 요구 사항
최소 ACX 버전: 1.0
ACX 버전에 대한 자세한 내용은 ACX 버전 개요를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | acxcircuit.h |
IRQL | PASSIVE_LEVEL |