IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCTL(ntdd8042.h)
IOCTL_INTERNAL_I8042_HOOK_MOUSE 요청은 I8042prt 마우스 ISR에 ISR 콜백 루틴을 추가합니다. ISR 콜백은 선택 사항이며 상위 수준 마우스 필터 드라이버에서 제공됩니다.
I8042prt는 IOCTL_INTERNAL_MOUSE_CONNECT 요청을 받은 후 이 요청을 보냅니다. I8042prt는 동기 IOCTL_INTERNAL_I8042_HOOK_MOUSE 요청을 마우스 디바이스 스택의 맨 위로 보냅니다.
Moufiltr는 후크 마우스 요청을 수신한 후 다음과 같은 방식으로 요청을 필터링합니다.
- 상위 수준 디바이스 개체의 컨텍스트 및 ISR 콜백에 대한 포인터를 포함하는 Moufiltr에 전달된 상위 수준 정보를 저장합니다.
- 상위 수준 정보를 자체 정보로 바꿉니다.
- I8042prt의 컨텍스트와 포인터를 Moufiltr ISR 콜백에서 사용할 수 있는 콜백에 저장합니다.
주 코드
IRP_MJ_INTERNAL_DEVICE_CONTROL
입력 버퍼
Parameters.DeviceIoControl.InputBufferLength 멤버는 INTERNAL_I8042_HOOK_MOUSE 구조체의 크기(바이트)보다 크거나 같은 값으로 설정됩니다.
Parameters.DeviceIoControl.Type3InputBuffer I8042prt에 의해 처음 할당되고 설정된 INTERNAL_I8042_HOOK_MOUSE 구조를 가리킵니다.
입력 버퍼 길이
Parameters.DeviceIoControl.Type3InputBuffer I8042prt에 의해 처음 할당되고 설정된 INTERNAL_I8042_HOOK_MOUSE 구조를 가리킵니다.
출력 버퍼
없음
출력 버퍼 길이
없음
상태 블록
상태 멤버는 다음 값 중 하나로 설정됩니다.
STATUS_INVALID_PARAMETER
Parameters.DeviceIoControl.InputBufferLength INTERNAL_I8042_HOOK_MOUSE 구조체의 크기(바이트)보다 작습니다.
STATUS_SUCCESS
요청이 성공적으로 완료되었습니다.
요구 사항
요구 | 값 |
---|---|
헤더 | ntdd8042.h(Ntdd8042.h 포함) |