Másolás változóba

Másolás változóba
2010-02-02T16:49:47+01:00
2010-02-04T21:42:50+01:00
2022-11-16T13:00:33+01:00
pokember
Sziasztok

Hálózaton keresztül szeretném elküldeni egy fájl tartalmát.A send függvény egyik paramétere egy változó amiben a küldött adat van.Hogy lehet egy fájl tartalmát változóba másolni?
Eddig jutottam:

.386
.model flat, stdcall
option casemap :none
include windows.inc

includelib kernel32.lib
includelib user32.lib

include kernel32.inc
include user32.inc

.data
filenev db "c:\listen.pls",0

.data?
hfile dd ?
fmeret dd ?

.code
start:
invoke CreateFile,addr filenev,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL
mov hfile,eax
invoke GetFileSize,eax,NULL
mov fmeret,eax
invoke GlobalAlloc,GMEM_FIXED,fmeret
invoke ReadFile,hfile,addr membuff,addr fmeret,nbyte,NULL
invoke ExitProcess,0
end start
Mutasd a teljes hozzászólást!
Én tudom, mi a baj!
A readFile-nak az UTOLSÓ ELŐTTI paramétere nem lehet NULL.
Meg kell adni egy pointert, hogy hova jelezze ki, hogy mennyi bájtot olvasott a fájlból tényleg.
Az utolsó előtti paraméternek ilyennek kell lennie: "addr valami".
Az adatatszegmensben így kell deklarálni:
valami dd ?
Aztán ezt olvasva ellenőrzöd, hány bájtot olvasott.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd