Announcement

Collapse
No announcement yet.

Memory Mapped Files

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Memory Mapped Files

    Habs jetzt mal mit Createfilemapping versucht:

    Mein Problem ist das aber, dass nichts reingeschrieben wird da k immer False is?
    Was mach ich falsch?

    Code:
    char *test;
    test = (char *)malloc( _MAX_PATH );
    test = "Hallo!";
    
    HANDLE hfile;
    
    hfile = CreateFileMapping(
    (HANDLE) 0xFFFFFFFF,
    NULL,
    PAGE_READWRITE,
    0,
    sizeof(test),
    "Testfile");
    
    if (hfile == NULL)
    cout<<"Fehler"<<endl;
    
    HANDLE hmappedfile;
    
    hmappedfile = MapViewOfFile(
    hfile,
    FILE_MAP_WRITE,
    0,
    0,
    0);
    
    
    unsigned long *writtenBytes;
    writtenBytes = (unsigned long *)malloc( _MAX_PATH );
    bool k = WriteFile(hmappedfile,test,strlen(test),writtenByt es,NULL);
    
    cout<<k<<endl;

  • #2
    Habe da mal so gelöst
    Code:
     
    
    hMapObject = CreateFileMapping((HANDLE) 0xFFFFFFFF,NULL,PAGE_READWRITE,0,4096,"dllmemfilemap");
    if(hMapObject==NULL)
    return FALSE;
    fInit=(GetLastError()!=ERROR_ALREADY_EXISTS);
    lpvMem=MapViewOfFile(hMapObject,FILE_MAP_WRITE,0,0,0);
    if(lpvMem==NULL)
    return FALSE;
    if(fInit)
    memset(lpvMem,0,4096);
     
    ....
     
     
    memcpy(lpvMem,&DLL,sizeof(DLL));
    Christian

    Comment


    • #3
      Hi! Kannst du mir das mit memset und memcpy bitte erklären?
      Danke!

      Comment


      • #4
        hmmm

        http://www.cplusplus.com/reference/c...string/memset/
        http://www.cplusplus.com/reference/c...string/memcpy/
        Christian

        Comment

        Working...
        X