15,471
社区成员
发帖
与我相关
我的任务
分享
DETOUR_TRAMPOLINE(HANDLE WINAPI MyCreateFileW(LPCWSTR lpFileName,DWORD dwDesiredAccess,DWORD dwShareMode,LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORD dwCreationDisposition,DWORD dwFlagsAndAttributes,HANDLE hTemplateFile), CreateFileW);
HANDLE WINAPI NewCreateFileW(LPCWSTR lpFileName,DWORD dwDesiredAccess,DWORD dwShareMode,LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORD dwCreationDisposition,DWORD dwFlagsAndAttributes,HANDLE hTemplateFile)
{
TCHAR szBuffer[1024];
UINT fixed;
CString Drive_Letter;
CString Drive="G:";
fixed=GetDriveType(Drive);
if (fixed==DRIVE_REMOVABLE)
{
Drive_Letter=Drive.Mid(0,1);
wsprintf(szBuffer,TEXT("%s"),Drive_Letter);
if(wcsncmp(lpFileName, (LPCWSTR)szBuffer,1) ==0 )
{
SetLastError(ERROR_ACCESS_DENIED);
return INVALID_HANDLE_VALUE;
}
}
return MyCreateFileW(lpFileName,dwDesiredAccess,dwShareMode,lpSecurityAttributes,dwCreationDisposition,dwFlagsAndAttributes,hTemplateFile);
}