Français
Stammtisch & le café

MapViewOfFile.

 


Beschreibung:

MapViewOfFile bildet un (avec CreateFileMapping erzeugtes ou bien OpenFileMapping geöffnetes) Dateiabbildungsprojekt im Speicherbereich des aufrufenden Prozesses ab et liefert une Anfangsadresse zurück.




Deklaration:

Def @MapViewOfFile(5) !kernel32,MapViewOfFile




paramètre:

1.paramètre: Handle des avec CreateFileMapping erzeugten Dateiabbildungsprojektes comme LongInt.
2.paramètre: un Flag Zugriffsmodus sur den Speicherbereich. =>
-$2 = Schreib- et Lesezugriff.
-$4 = seulement Lesezugriff.
-$000F001F = Schreib- et Lesezugriff (comment $2)
-$1 = sous NT-basierten Windowsversionen trouver Changements qui Dossier seulement im Speicherbereich des aktuellen Prozesses statt – sur qui Platte et dans Abbildungen anderer Prozesse wird rien geschrieben. sous pas NT-basierten Systemen wird zwar aussi qui Mappingbereich anderer Prozesse geändert, qui Dossier qui Platte ändert sich mais pas.
3.paramètre: qui oberen 32 Bits qui Startadresse des avec CreateFileMapping erzeugten Speicherbereichs, ab dem cela Mapping commencer soll.
4.paramètre: qui unteren 32 Bits qui Startadresse des avec CreateFileMapping erzeugten Speicherbereichs, ab dem cela Mapping commencer soll.
5.paramètre: Nombre de trop übertragenden Bytes comme LongInt.



Rückgabewert:

0 chez Misserfolg, ansonsten qui Startadresse des Speicherbereichs.


Beispiele:

Beispiel 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 wird qui Variable erzeugt"
WINDOW 0,0-300,400
Déclarer Variable&,Tick&,nom$,Ausgelesen#
Déclarer Speicherhandle&,Speicheraddr&
Laisser nom$="AH-Variable"
LET Speicherhandle&=@CreateFileMapping($FFFFFFFF,0,4,0,4,@addr(nom$))
LET Speicheraddr&=@MapViewOfFile(Speicherhandle&,2,0,0,0)
Drawtext 0,50,"Handle des Speicherbereichs:"+@STR$(Speicherhandle&)
LET TICK&=&GETTICKCOUNT

Whilenot %MENUITEM=-2

    IF &GETTICKCOUNT-Tick&>10000

        Laisser 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))+"                   "
    Dispose 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 wird qui Variable ausgelesen"
WINDOWSTYLE 31+512
WINDOW 300,0-300,400
Déclarer Speicherhandle&,Ausgelesen#,nom$
Déclarer Speicheraddr&
Déclarer Variable&
Laisser Variable&=0
Laisser nom$="AH-Variable"

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

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

Wend

LET Speicherhandle&=@OpenFileMapping(2,0,@ADDR(nom$))
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 zum Auslesen"
    Drawtext 0,21,"F2 drücken zum 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

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



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

3.504 Views

Untitledvor 0 min.

Themeninformationen

cet Thema hat 1 participant:

unbekannt (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie