NtWriteFile

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

  1. 984259h

    984259h New Member

    Публикаций:
    0
    Регистрация:
    25 авг 2007
    Сообщения:
    194
    Вообщем NtWriteFile возвращает еррор ntstatus = 0x00000103 STATUS_PENDING (The operation that was requested is pending completion.) вызов делаю с юзер моде
    ???
     
  2. Sunzer

    Sunzer Member

    Публикаций:
    0
    Регистрация:
    25 май 2008
    Сообщения:
    256
    И? Этой информации не достаточно, какие параметры для функции для начала? Что и для чего открываете?
     
  3. 984259h

    984259h New Member

    Публикаций:
    0
    Регистрация:
    25 авг 2007
    Сообщения:
    194
    Примерно так
    Код (Text):
    1.    HANDLE hFile;
    2.    UNICODE_STRING UnStrFileName;
    3.    IO_STATUS_BLOCK IoStatusBlock;
    4.    RtlInitUnicodeString(&UnStrFileName,L"\\??\\C:\\Temp\\my.dll");
    5.    OBJECT_ATTRIBUTES ObjectAttributes;
    6.    InitializeObjectAttributes(&ObjectAttributes,&UnStrFileName,0,NULL,NULL);
    7.    NTSTATUS NtStatus = NtCreateFile(&hFile,FILE_GENERIC_WRITE,&ObjectAttributes,&IoStatusBlock,NULL,0,FILE_SHARE_WRITE,FILE_CREATE,0,NULL,0);
    8.    if(NT_SUCCESS(NtStatus))
    9.    {
    10.       DWORD dwKey;
    11.       LARGE_INTEGER FileOffset;
    12.       NtStatus = NtWriteFile(hFile,NULL,NULL,NULL,&IoStatusBlock,lpBuffer,dwBufferLen,&FileOffset,&dwKey);
    13.       if(NT_SUCCESS(NtStatus))
    14.                {
    15.          bRet = TRUE;
    16.       }
    17.       NtClose(hFile);
    18.    }
     
  4. 984259h

    984259h New Member

    Публикаций:
    0
    Регистрация:
    25 авг 2007
    Сообщения:
    194
    Незаметил вообще то пишет в файл просто смотрел в ошибку а записывает после закрытия хендла ))
    NtWriteFile возвращеет в STATUS_PENDING в реализации винды если NtStatus == STATUS_PENDING то NtWaitForSingleObject(hFile,FALSE,NULL);