Language & API/WINDOWS DRIVER
[함수]IoRegisterDeviceInterface
강한퓨전
2016. 7. 25. 17:58
1 2 3 4 5 6 7 8 9 10 | NTSTATUS NTAPI IoRegisterDeviceInterface( _In_ PDEVICE_OBJECT PhysicalDeviceObject, _In_ CONST GUID *InterfaceClassGuid, _In_opt_ PUNICODE_STRING ReferenceString, _Out_ _When_(return==0, _At_(SymbolicLinkName->Buffer, __drv_allocatesMem(Mem))) PUNICODE_STRING SymbolicLinkName ); | cs |
[파라미터]
PhysicalDeviceObject -> PDO 포인터
InterfaceClassGuid -> GUID 클래스 포인터,
ReferenceString -> 경로를 포함 시키면 안된다. Function driver는 전통적으로 NULL 값이다. 필터 드라이브도 NULL값이다.
SymbolicLinkName -> 유니 코드 문자열 구조에 대한 포인터
[설명]
Application 이 접근하는 interface를 등록. 초기화시에 호출되지는 않고, IRP_MN_START_DEVICE 때에 호출한다. 예를 들어 COMPORT의 경우 GUID_CLASS_COMPORT를 쓴다. 이 GUID값은 interface를 등록하기 전에 CoInstaller 에서 먼저 만들어져야 한다.