私は MSDN のこのチュートリアルに従おうとしています: Making Named Shared Memory。
残念ながら、私はから取得NULL
しCreateFileMapping()
ます。ファイルshmfile.txt
はファイル システムに存在するため、問題は発生せず、マッピングが作成され、ファイルが共有メモリ オブジェクトとしての役割を担うと考えました。
私は何を間違っていますか?
これは私のコードです:
...
#define BUF_SIZE 256
TCHAR szName[]=TEXT("C:\\Users\\joe\\shmfolder\\shmfile.txt");
int main(){
HANDLE hMapFile; // filehandle
LPCTSTR pBuf;
hMapFile = CreateFileMapping(
INVALID_HANDLE_VALUE, // use paging file
NULL, // default security
PAGE_READWRITE, // read/write access
0, // maximum object size (high-order DWORD)
BUF_SIZE, // maximum object size (low-order DWORD)
szName); // name of mapping object
if (hMapFile == NULL)
{
_tprintf(TEXT("Could not create file mapping object (%d).\n"), GetLastError());
return 1;
}
...
}