PcInitializeAdapterDriver 함수(portcls.h)
PcInitializeAdapterDriver 함수는 어댑터 드라이버를 PortCls 시스템 드라이버에 바인딩합니다. 디바이스 추가 및 제거를 위한 IRP 처리기 및 처리기가 드라이버 개체에 설치됩니다. 둘 이상의 클래스 드라이버에 바인딩해야 하는 어댑터 드라이버는 이 함수를 호출하면 안 됩니다.
구문
PORTCLASSAPI NTSTATUS PcInitializeAdapterDriver(
[in] PDRIVER_OBJECT DriverObject,
[in] PUNICODE_STRING RegistryPathName,
[in] PDRIVER_ADD_DEVICE AddDevice
);
매개 변수
[in] DriverObject
DRIVER_OBJECT 형식의 시스템 구조인 드라이버 개체에 대한 포인터입니다. 이 포인터는 어댑터의 DriverEntry 함수에 매개 변수로 전달됩니다.
[in] RegistryPathName
어댑터의 DriverEntry 함수에 매개 변수로 전달될 레지스트리 경로 이름을 지정합니다.
[in] AddDevice
어댑터의 AddDevice 함수에 대한 포인터입니다. ntddk.h에서 정의되는 PDRIVER_ADD_DEVICE 형식의 포인터입니다.
NTSTATUS
(*PDRIVER_ADD_DEVICE)(
IN struct _DRIVER_OBJECT *DriverObject,
IN struct _DEVICE_OBJECT *PhysicalDeviceObject
);
반환 값
PcInitializeAdapterDriver는 호출에 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 적절한 오류 코드를 반환합니다.
설명
이 함수 호출에 제공된 AddDevice 처리기는 PcAddAdapterDevice를 호출해야 합니다. 자세한 내용은 시작 시퀀스를 참조하세요.
PcInitializeAdapterDriver 함수는 다음 IRP에 대한 처리기에 대한 포인터를 드라이버 개체에 로드합니다.
- IRP_MJ_CLOSE
- IRP_MJ_CREATE
- IRP_MJ_DEVICE_CONTROL
- IRP_MJ_FLUSH_BUFFERS
- IRP_MJ_PNP
- IRP_MJ_POWER
- IRP_MJ_QUERY_SECURITY
- IRP_MJ_READ
- IRP_MJ_SET_SECURITY
- IRP_MJ_SYSTEM_CONTROL
- IRP_MJ_WRITE
자체 IRP 처리기에 대한 포인터로 위의 포인터 중 하나 이상을 덮어쓰는 어댑터 드라이버는 IRP를 PortCls로 전달하기 위해 처리기 루틴 내에서 PcDispatchIrp 을 호출할 수 있습니다. 코드 예제는 Microsoft WDK(Windows 드라이버 키트)의 SB16 샘플 오디오 드라이버를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | PortCls 시스템 드라이버는 Microsoft Windows 98/Me 및 Windows 2000 이상 운영 체제에서 PcInitializeAdapterDriver 함수를 구현합니다. |
대상 플랫폼 | 유니버설 |
헤더 | portcls.h(Portcls.h 포함) |
라이브러리 | Portcls.lib |
IRQL | PASSIVE_LEVEL |