能力值:
( LV2,RANK:10 )
|
-
-
2 楼
DeviceIoControl 这个函数有读写方式可设置的吗? 你去哪看到的? 看MSDN, 这个函数没有读写方式可设; 那就是设备对象的读写方式与这个函数没有什么关系咯?
MSDN:
BOOL WINAPI DeviceIoControl(
__in HANDLE hDevice,
__in DWORD dwIoControlCode,
__in LPVOID lpInBuffer,
__in DWORD nInBufferSize,
__out LPVOID lpOutBuffer,
__in DWORD nOutBufferSize,
__out LPDWORD lpBytesReturned,
__in LPOVERLAPPED lpOverlapped
);
|
能力值:
( LV7,RANK:100 )
|
-
-
3 楼
DeviceIoControl中的设备读写方式要与IoCreateDevice设定的一样!!!
|
能力值:
( LV7,RANK:100 )
|
-
-
4 楼
CTL_CODE必须遵循DDK中的定义规则,操作系统应该会预先分析RING3传入的CTL_CODE,安排内存访问方式和其他诸多事项:
METHOD_BUFFERED METHOD_IN_DIRECT METHOD_OUT_DIRECT METHOD...
这是我的看法,lz搜搜资料吧。
|
能力值:
( LV7,RANK:100 )
|
-
-
5 楼
在CTL_CODE内部定义格式上,包含了读写方式的设定。虽然理论上,你可以随意定义CTL_CODE。
#define CTL_CODE( DeviceType, Function, Method, Access) ( ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
|
能力值:
( LV7,RANK:100 )
|
-
-
6 楼
试验过了……Flags的设置只对ReadFile,WriteFile有影响,对DeviceIoControl没影响。
Flags跟CTL_CODE的Method太像了……
|
|
|