阅读:1522回复:1
我在做文件读取拦截时出现蓝屏?代码如下
我在做文件读取拦截时出现蓝屏,代码如下:
ppIFSFileHookFunc PrevHook; PUCHAR Aa1Device::ConvertPath( int drive, path_t ppath, PUCHAR fullpathname ) { int i = 0; _QWORD result; if( drive != 0xFF ) { fullpathname[0] = drive+\'A\'-1; fullpathname[1] = \':\'; i = 2; } UniToBCSPath( &fullpathname, ppath->pp_elements, 260 , BCS_WANSI, &result ); return( fullpathname ); } int _cdecl MyIfsHook(pIFSFunc pfn, int fn, int Drive, int ResType, int CodePage, pioreq pir) { int retvar,i; unsigned char fullpathname[260]; switch(fn) { case IFSFN_READ: { retvar=(*PrevHook)(pfn, fn, Drive, ResType, CodePage, pir); Aa1Device::ConvertPath( Drive, pir->ir_ppath, fullpathname ); return TRUE;//retvar; } default: return (*PrevHook)(pfn, fn, Drive, ResType, CodePage, pir); } } BOOL Aa1Device::OnSysDynamicDeviceInit() { PrevHook = IFSMgr_InstallFileSystemApiHook(MyIfsHook); if (PrevHook==NULL) return FALSE; else return TRUE; } BOOL Aa1Device::OnSysDynamicDeviceExit() { IFSMgr_RemoveFileSystemApiHook(MyIfsHook); return TRUE; } DWORD Aa1Device::OnW32DeviceIoControl(PIOCTLPARAMS pDIOCParams) { return 0; } ring3代码如下: handle=::CreateFile(\"\\\\\\\\.\\\\aa1.vxd\",0,0,0,CREATE_NEW,FILE_FLAG_DELETE_ON_CLOSE,NULL); if (handle==INVALID_HANDLE_VALUE) AfxMessageBox(\"error\"); |
|
沙发#
发布于:2003-02-19 21:41
求路径时出错了
读和写的时候不能直接用这个办法 给你一个非常有名的程序,虽然有点繁琐,不过还可以。 98是用Vtoolsd开发的 |
|
|