为什么还要用vxd呢,win2k以后就不在支持vxd了呀!
IPman的vxd就是动态加载的,你可以参考一下。
.....
; ;hVxD := CreateFile('//./VPACKET.VXD',
; ; ; ; ; ; ; ; ; ; ; GENERIC_READ or GENERIC_WRITE,
; ; ; ; ; ; ; ; ; ; ; 0,
; ; ; ; ; ; ; ; ; ; ; nil,
; ; ; ; ; ; ; ; ; ; ; OPEN_EXISTING,
; ; ; ; ; ; ; ; ; ; ; FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED or
; ; ; ; ; ; ; ; ; ; ; FILE_FLAG_DELETE_ON_CLOSE,
; ; ; ; ; ; ; ; ; ; ; 0);
; ; if (hVxD = INVALID_HANDLE_VALUE) then
; ; begin
; ; ; ; dwErrorCode := GetLastError();
; ; ; ; if (dwErrorCode = ERROR_NOT_SUPPORTED) then
; ; ; ; ; ; showmessage('Unable to open VxD,device does not support DeviceIOCTL')
; ; ; ; else
; ; ; ; ; ; showmessage('Unable to open VxD, Error code'+inttohex(dwErrorCode,4))
; ; end;
.......
在delphi.mychangshu.com有源程序下栽。
如果还不明白,建议你去http://www.driverdevelop.com问一下,那儿肯定有人知道。