Español
Stammtisch & Café

MapViewOfFile.

 


Descripción:

MapViewOfFile bildet una (con CreateFileMapping erzeugtes oder OpenFileMapping geöffnetes) Dateiabbildungsprojekt en el Speicherbereich des aufrufenden Prozesses de y liefert una Anfangsadresse zurück.




Deklaration:

Def @MapViewOfFile(5) !kernel32,MapViewOfFile




Parámetro:

1.Parámetro: Handle des con CreateFileMapping erzeugten Dateiabbildungsprojektes como LongInt.
2.Parámetro: Ein Flag Zugriffsmodus en el Speicherbereich. =>
-$2 = Schreib- y Lesezugriff.
-$4 = Nur Lesezugriff.
-$000F001F = Schreib- y Lesezugriff (como $2)
-$1 = Bajo NT-basierten Windowsversionen encontrar Los cambios el Expediente sólo en el Speicherbereich des aktuellen Prozesses en lugar de – en el Platte y Abbildungen otro Prozesse se nichts geschrieben. Bajo no NT-basierten Systemen se zwar auch el Mappingbereich otro Prozesse geändert, el Expediente el Platte ändert se pero no.
3.Parámetro: El oberen 32 Bits el Startadresse des con CreateFileMapping erzeugten Speicherbereichs, de el el Mapping beginnen se.
4.Parámetro: El unteren 32 Bits el Startadresse des con CreateFileMapping erzeugten Speicherbereichs, de el el Mapping beginnen se.
5.Parámetro: Anzahl el a übertragenden Bytes como LongInt.



Rückgabewert:

0 en Misserfolg, ansonsten el Startadresse des Speicherbereichs.


Beispiele:

Ejemplo 1
DEF @CopyMemory(3) !"kernel32","RtlMoveMemory"
DEF @CreateFileMapping(6) !"kernel32","CreateFileMappingA"
Def @CloseHandle(1) !"kernel32","CloseHandle"
DEF @GetLastError() !"kernel32","GetLastError"
Def @MapViewOfFile(5) !"kernel32","MapViewOfFile"
DEf @UnmapViewOfFile(1) !"kernel32","UnmapViewOfFile"
DEF @CopyMemory(3) !"kernel32","RtlMoveMemory"
WINDOWSTYLE 31+512
Windowtitle "Hier se el Variable erzeugt"
WINDOW 0,0-300,400
Declarar Variable&,Tick&,Name$,Ausgelesen#
Declarar Speicherhandle&,Speicheraddr&
Let Name$="AH-Variable"
LET Speicherhandle&=@CreateFileMapping($FFFFFFFF,0,4,0,4,@addr(Name$))
LET Speicheraddr&=@MapViewOfFile(Speicherhandle&,2,0,0,0)
Drawtext 0,50,"Handle des Speicherbereichs:"+@STR$(Speicherhandle&)
LET TICK&=&GETTICKCOUNT

Sinestar encargado %MENUITEM=-2

    IF &GETTICKCOUNT-Tick&>10000

        Let Variable&=@RND(1000)
        @CopyMemory(Speicheraddr&,@addr(Variable&),4)
        LET TICK&=&GETTICKCOUNT

    endif

    DIM Ausgelesen#,256
    @CopyMemory(Ausgelesen#,Speicheraddr&,4)
    Drawtext 0,80,"Variale="+@STR$(@LONG(Ausgelesen#,0))+"                   "
    Disponer Ausgelesen#
    Sleep 10

WEND

@UnmapViewOfFile(Speicheraddr&)
@CloseHandle(Speicherhandle&)
Beep 1

DEF @OpenFileMapping(3) !"kernel32","OpenFileMappingA"
DEF @GetLastError() !"kernel32","GetLastError"
Def @MapViewOfFile(5) !"kernel32","MapViewOfFile"
DEf @UnmapViewOfFile(1) !"kernel32","UnmapViewOfFile"
DEF @CopyMemory(3) !"kernel32","RtlMoveMemory"
Def @CloseHandle(1) !"kernel32","CloseHandle"
Windowtitle "Hier se el Variable ausgelesen"
WINDOWSTYLE 31+512
WINDOW 300,0-300,400
Declarar Speicherhandle&,Ausgelesen#,Name$
Declarar Speicheraddr&
Declarar Variable&
Let Variable&=0
Let Name$="AH-Variable"

Mientras que @AND(Speicherhandle&=0,%MENUITEM<>-2)

    sleep 100
    LET Speicherhandle&=@OpenFileMapping(2,0,@ADDR(Name$))

Wend

LET Speicherhandle&=@OpenFileMapping(2,0,@ADDR(Name$))
LET Speicheraddr&=@MapViewOfFile(Speicherhandle&,2,0,0,0)
Drawtext 0,50,"Handle des Speicherbereichs:"+@STR$(Speicherhandle&)
DIM Ausgelesen#,256

WHILEnot %MENUITEM=-2

    Drawtext 0,0,"F1 drücken para Auslesen"
    Drawtext 0,21,"F2 drücken para Zurücksetzen..."
    Waitinput

    IF %SCANKEY=112

        @CopyMemory(Ausgelesen#,Speicheraddr&,4)
        Drawtext 0,80,"Variale="+@STR$(@LONG(Ausgelesen#,0))+"                   "
        Beep 1

    ElseIF %SCANKEY=113

        Beep 1
        @CopyMemory(Speicheraddr&,@addr(Variable&),4)
        @CopyMemory(Ausgelesen#,Speicheraddr&,4)
        Drawtext 0,80,"Variale="+@STR$(@LONG(Ausgelesen#,0))+"                     "

    Endif

WEND

Disponer Ausgelesen#
@UnmapViewOfFile(Speicheraddr&)
@CloseHandle(Speicherhandle&)
Beep 1
 
02.04.2005  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

3.507 Views

Untitledvor 0 min.

Themeninformationen

Dieses Thema ha 1 subscriber:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie