ReadFile что то не пойму:

Тема в разделе "WASM.ASSEMBLER", создана пользователем h0kum, 21 фев 2005.

  1. h0kum

    h0kum New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2003
    Сообщения:
    47
    написал следующее:

    invoke CreateFile,addr BanFile,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE _NORMAL,NULL

    .if eax!=-1

    mov hFile,eax

    invoke GetFileSize,hFile,NULL

    mov dword ptr [BanFileSize],eax

    invoke GlobalAlloc,GMEM_MOVEABLE or GMEM_ZEROINIT,[BanFileSize]

    mov hMem,eax

    invoke GlobalLock,hMem

    mov pMem,ax

    invoke ReadFile,hFile,pMem,MEMSIZE-1,NULL,NULL

    invoke SendMessage,hEditor,WM_SETTEXT,NULL,pMem

    .endif

    на строке:

    invoke ReadFile,hFile,pMem,MEMSIZE-1,addr FileSize,NULL

    ошибка, в отладчике:

    00401392 . 6A 00 PUSH 0

    00401394 . 6A 00 PUSH 0; /pOverlapped = NULL

    00401396 . 68 FEFF0000 PUSH 0FFFE; |pBytesRead = 0000FFFE

    0040139B . 6A 00 PUSH 0; |BytesToRead = 0

    0040139D . 66:FF35 924240>PUSH WORD PTR DS:[pMem];Buffer = NULL

    004013A4 . FF35 8A424000 PUSH DWORD PTR DS:[hFile];File = NULL

    004013AA . E8 8B010000 CALL SDI._ReadFile@20;ReadFile



    я не пойму откуда 0040139B появилась!?
     
  2. Funbit

    Funbit Member

    Публикаций:
    0
    Регистрация:
    13 апр 2003
    Сообщения:
    92
    Адрес:
    Russia
    что-то я не пойму вот это:

    mov pMem,ax

    и почему 2 разные строки с ReadFile?

    invoke ReadFile,hFile,pMem,MEMSIZE-1,NULL,NULL

    это вообще работать не будет, последние 2 параметра не могут быть одновременно NULL'ами...



    а какой компилятор используешь ?
     
  3. h0kum

    h0kum New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2003
    Сообщения:
    47
    всё понял

    спасибо :)