|
Тема |
Как се предава параметър към API от asm |
|
Автор | Jorko (Нерегистриран) | |
Публикувано | 26.05.08 16:22 |
|
|
Това работи
for i:=1 to 7 do
Buffer:=i;
hf:=CreateFile(PChar('C:\Rab\Test.txt'), GENERIC_WRITE, FILE_SHARE_READ,
Nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
NumToWrite:=7;
SuccessWrite:=WriteFile(hf, Buffer, NumToWrite, NumWriten, Nil);
SetEndOfFile(hf);
CloseHandle(hf);
Пише Buffer-a във файл.(първите 7 байта).
Това долу не работи.
GetLastError след него дава 3, което значи, че не предавам пътя до файла добре. Помогнете ми как да го предам?
FileNameBuffer:array[1..200] of byte;
FileName:='C:\Rab\Test.txt';
for i:=1 to length(FileName) do
FileNameBuffer:=ord(FileName);
FileNameBuffer[length(FileName)]:=0;
NumToWrite:=7;
asm
lea ebx,FileNameBuffer
push ebx
mov ebx,GENERIC_WRITE
push ebx
mov ebx,FILE_SHARE_READ
push ebx
xor ebx,ebx
push ebx
mov ebx,OPEN_EXISTING
push ebx
mov ebx,FILE_ATTRIBUTE_NORMAL
push ebx
xor ebx,ebx
push ebx
call CreateFile
end;
|
| |
|
|
|