Driver Problems? Questions? Issues?
Put OSR's experience to work for you! Contact us for assistance with:
|
Monthly Seminars at OSR Headquarters
East Coast USA
Writing WDF Drivers I: Core Concepts, Manchester, NH, 7 May 2018
Kernel Debugging & Crash Analysis for Windows, Manchester, NH, 21 May 2018 |
|
Welcome, Guest
You must login to post to this list |
Message 1 of 16
12 Jan 17 04:32
|
||
|
||
Gettin HANDLE AND PASS IT TO USERMODE -- STATUS_OBJECT_TYPE_MISMATCH
|
Message 2 of 16
12 Jan 17 04:51
|
||
|
||
Gettin HANDLE AND PASS IT TO USERMODE -- STATUS_OBJECT_TYPE_MISMATCH
status is = Error Status : c0000024 STATUS_OBJECT_TYPE_MISMATCHFor the UserMode access mode you should provide the object type for ObOpenObjectByPointer. Also get rid of FILE_ALL_ACCESS in favor of PROCESS_ALL_ACCESS. #include (*data).ProcessHandle = is a null handle that i am getting from user process.I hope data is allocated in the kernel space and not a user space pointer. |
Message 3 of 16
12 Jan 17 07:07
|
||
|
||
Gettin HANDLE AND PASS IT TO USERMODE -- STATUS_OBJECT_TYPE_MISMATCH
|
Message 4 of 16
12 Jan 17 07:10
|
||
|
||
Gettin HANDLE AND PASS IT TO USERMODE -- STATUS_OBJECT_TYPE_MISMATCH
I hope data is allocated in the kernel space and not a user space pointer.I think that exactly what i am doing.It's a user space pointer. KERNEL_GET_HANDLE test; DeviceIoControl(.....test.....). So how can i fix this? |
Message 5 of 16
12 Jan 17 07:28
|
||
|
||
Gettin HANDLE AND PASS IT TO USERMODE -- STATUS_OBJECT_TYPE_MISMATCH
So how can i fix this?Define the IOCTL as METHOD_BUFFERED. The system will allocate a kernel buffer and copies data to it from user space. Do not forget to set Irp->IoStatus.Information = sizeof( KERNEL_GET_HANDLE ) before calling IoCompleteRequest ( or whatever method you use in KMDF for IOCTL processing) so the system copies data from the kernel space buffer to the user space on IRP completion. Do not forget to provide an output buffer for DeviceIoControl , this can be the same as an input buffer. |
Message 6 of 16
12 Jan 17 07:36
|
||
|
||
Gettin HANDLE AND PASS IT TO USERMODE -- STATUS_OBJECT_TYPE_MISMATCH
|
Message 7 of 16
12 Jan 17 08:37
|
||
|
||
Gettin HANDLE AND PASS IT TO USERMODE -- STATUS_OBJECT_TYPE_MISMATCH
|
Message 8 of 16
12 Jan 17 08:56
|
||
|
||
Gettin HANDLE AND PASS IT TO USERMODE -- STATUS_OBJECT_TYPE_MISMATCH
|
Message 9 of 16
12 Jan 17 09:19
|
||
|
||
Gettin HANDLE AND PASS IT TO USERMODE -- STATUS_OBJECT_TYPE_MISMATCH
Why aren't you using usermode function OpenProcess which does exactly what you are trying to do?For science purposes only I need to learn. |
Message 10 of 16
12 Jan 17 09:22
|
||
|
||
Gettin HANDLE AND PASS IT TO USERMODE -- STATUS_OBJECT_TYPE_MISMATCH
|
Message 11 of 16
12 Jan 17 10:12
|
||
|
||
Gettin HANDLE AND PASS IT TO USERMODE -- STATUS_OBJECT_TYPE_MISMATCH
|
Message 12 of 16
14 Jan 17 05:21
|
||
|
||
Gettin HANDLE AND PASS IT TO USERMODE -- STATUS_OBJECT_TYPE_MISMATCH
|
Message 13 of 16
14 Jan 17 10:08
|
||
|
||
Gettin HANDLE AND PASS IT TO USERMODE -- STATUS_OBJECT_TYPE_MISMATCH
|
Message 14 of 16
14 Jan 17 10:26
|
||
|
||
Gettin HANDLE AND PASS IT TO USERMODE -- STATUS_OBJECT_TYPE_MISMATCH
|
Message 15 of 16
14 Jan 17 10:31
|
||
|
||
Gettin HANDLE AND PASS IT TO USERMODE -- STATUS_OBJECT_TYPE_MISMATCH
|
Message 16 of 16
14 Jan 17 23:29
|
||
|
||
Gettin HANDLE AND PASS IT TO USERMODE -- STATUS_OBJECT_TYPE_MISMATCH
|
|