2014-09-21 2 views
0

Эта простая программа MASM продолжает сбой.Программа Masm не работает. (Использование Win32 API - CreateFile)

Я использую Win32 API

CreateFile функция не работает, и делает мой крах приложения.

.386 
.model flat,stdcall 
option casemap:none 
include \masm32\include\windows.inc 
include \masm32\include\kernel32.inc 
includelib \masm32\lib\kernel32.lib 
include \masm32\include\user32.inc 
includelib \masm32\lib\user32.lib 

.data 
filename byte "dummy.txt", 0 

.code 
main PROC 

    INVOKE CreateFile, 
       filename, 
       GENERIC_WRITE, 
       0, 
       NULL, 
       CREATE_NEW, 
       FILE_ATTRIBUTE_NORMAL, 
       NULL 

    invoke ExitProcess,NULL 
main ENDP 
END main 

Может ли кто-нибудь помочь?

ответ

2

Первый аргумент CreateFile - это адрес имя файла, а не первые пару символов имени файла. Так что вам нужно разместить ADDR оператора, прежде чем filename в вашем invoke:

INVOKE CreateFile, 
      ADDR filename, 
      GENERIC_WRITE, 
      0, 
      NULL, 
      CREATE_NEW, 
      FILE_ATTRIBUTE_NORMAL, 
      NULL 
+0

Спасибо для вашего друга помощи – Khalsa

 Смежные вопросы

  • Нет связанных вопросов^_^