-
-
[求助][求助]我在研究Kmdkit4d的示例代码,有一个地方我怎么也想不明白
-
发表于: 2010-9-30 18:28 3067
-
我在研究Kmdkit4d的示例代码,有一个地方我怎么也想不明白
见ProcessMon,第62行
g_hDevice := CreateFile('\\.\ProcessMon', GENERIC_READ or GENERIC_WRITE,
0, nil, OPEN_EXISTING, 0, 0);
if g_hDevice <> INVALID_HANDLE_VALUE then
begin
DeleteService(g_hService);
g_hEvent := CreateEvent(nil, False, false, nil);
tgd := TGetData.Create(False);
if not DeviceIoControl(g_hDevice, IOCTL_SET_NOTIFY,
@g_hEvent, SizeOf(g_hEvent), nil, 0,
dwBytesReturned, nil) then
begin
ShowMessage('无法设置通知!');
end;
end;
为什么如果设备打开成功,反而要删除服务,删除服务之后,为什么又可以用DeviceIoControl和设备通信?
见ProcessMon,第62行
g_hDevice := CreateFile('\\.\ProcessMon', GENERIC_READ or GENERIC_WRITE,
0, nil, OPEN_EXISTING, 0, 0);
if g_hDevice <> INVALID_HANDLE_VALUE then
begin
DeleteService(g_hService);
g_hEvent := CreateEvent(nil, False, false, nil);
tgd := TGetData.Create(False);
if not DeviceIoControl(g_hDevice, IOCTL_SET_NOTIFY,
@g_hEvent, SizeOf(g_hEvent), nil, 0,
dwBytesReturned, nil) then
begin
ShowMessage('无法设置通知!');
end;
end;
为什么如果设备打开成功,反而要删除服务,删除服务之后,为什么又可以用DeviceIoControl和设备通信?
赞赏
他的文章
赞赏
雪币:
留言: