WriteFile GetLastError 5

Тема в разделе "WASM.WIN32", создана пользователем XshStasX, 22 мар 2011.

  1. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    Открываю файл с доступом на чтение/запись - успешно
    Запись же не успешна, GetLastError возвращает 5.
    вопрос почему?..
    Код (Text):
    1. void ErrorExit(LPTSTR lpszFunction)
    2. {
    3.     // Retrieve the system error message for the last-error code
    4.  
    5.     LPVOID lpMsgBuf;
    6.     LPVOID lpDisplayBuf;
    7.     DWORD dw = GetLastError();
    8.  
    9.     FormatMessage(
    10.         FORMAT_MESSAGE_ALLOCATE_BUFFER |
    11.         FORMAT_MESSAGE_FROM_SYSTEM |
    12.         FORMAT_MESSAGE_IGNORE_INSERTS,
    13.         NULL,
    14.         dw,
    15.         MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
    16.         (LPTSTR) &lpMsgBuf,
    17.         0, NULL );
    18.  
    19.     // Display the error message and exit the process
    20.  
    21.     lpDisplayBuf = (LPVOID)LocalAlloc(LMEM_ZEROINIT,
    22.         (lstrlen((LPCTSTR)lpMsgBuf)+lstrlen((LPCTSTR)lpszFunction)+40)*sizeof(TCHAR));
    23.     StringCchPrintf((LPTSTR)lpDisplayBuf,
    24.         LocalSize(lpDisplayBuf),
    25.         TEXT("%s failed with error %d: %s"),
    26.         lpszFunction, dw, lpMsgBuf);
    27.     MessageBox(NULL, (LPCTSTR)lpDisplayBuf, TEXT("Error"), MB_OK);
    28.  
    29.     LocalFree(lpMsgBuf);
    30.     LocalFree(lpDisplayBuf);
    31.    // ExitProcess(dw);
    32. };
    33.  
    34. void GateFunc(IN PBYTE pbData, IN DWORD dwSize){
    35.  
    36.     if (_GateFunc){
    37.     _GateFunc(pbData,dwSize);
    38.     }
    39.     else{
    40.         MessageBox(0,"GateFunc = NULL","",0);
    41.     };
    42.     HANDLE hFile = CreateFile("C:\\log_txt.txt",GENERIC_WRITE||GENERIC_READ,FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,0);
    43.     if (hFile == INVALID_HANDLE_VALUE)
    44.         ErrorExit("CreateFile");
    45.     if(SetFilePointer(hFile,0,0,FILE_END) == INVALID_SET_FILE_POINTER)
    46.         ErrorExit("SetFilePointer");
    47.     if(!WriteFile(hFile,pbData,dwSize,&dwSize,NULL))
    48.         ErrorExit("WriteFile");
    49.     if(!WriteFile(hFile,"ABC0",4,&dwSize,NULL))
    50.         ErrorExit("WriteFile");
    51.     CloseHandle(hFile);
    52. };
     
  2. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    замените || на |
    и включите предупреждения компилятора в настройках проекта
     
  3. XshStasX

    XshStasX New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2008
    Сообщения:
    991
    забавно... спасибо