こんにちは
、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 CallBack Function では、 FileHandle From NtSetInformationFile function を渡して GetFileNameFromHandle() 関数を呼び出しているため、 GetFileNameFromHandle Function 内で同じ Handle を使用して CreateFileMapping を呼び出しています。
上記のコードに何か問題がある場合は、私を助けてください。