大家
好,我正在为 CreateFileMapping 函数获取 GetLastError 5(拒绝访问)。任何人都可以帮助我吗?我的代码如下
typedef NTSTATUS(WINAPI *NtSetInformationFileNext)(HANDLE FileHandle, PIO_STATUS_BLOCK IoStatusBlock, PVOID FileInformation,
ULONG Length, FILE_INFORMATION_CLASS FileInformationClass);
NtSetInformationFileNext Real_NtSetInformationFileData = NULL;
NtSetInformationFileNext Real_NtSetInformationFileVar ;
NTSTATUS WINAPI NtSetInformationFileCallback(HANDLE FileHandle, PIO_STATUS_BLOCK IoStatusBlock, PVOID FileInformation,
ULONG Length, FILE_INFORMATION_CLASS FileInformationClass)
{
if(FileInformationClass == 10)
{
FILE_RENAME_INFORMATION *pInfo = (PFILE_RENAME_INFORMATION)FileInformation;
GetFileNameFromHandle(FileHandle);
MessageBoxW(NULL, pInfo->FileName, L"Renamed To", MB_OK);
}
return Real_NtSetInformationFileData(FileHandle, IoStatusBlock, FileInformation, Length, FileInformationClass);
}
在上面的 NtSetInformationFile 回调函数中,我通过从 NtSetInformationFile 函数传递 FileHandle 来调用 GetFileNameFromHandle() 函数,因此在 GetFileNameFromHandle 函数中,我使用相同的句柄调用 CreateFileMapping。
如果上述代码有任何问题,请帮助我。