| |
|
|
 |
Beschreibung:
CreateFile ouvrez une Dossier ou bien erzeugt une Dossier et ouvrez vous.
Deklaration:
DEF @CreateFile(7) !kernel32,CreateFileA
paramètre:
1.paramètre: Adresse eines Cordes ou bien Bereichsvariable avec einem String, qui den Dateinamen contient.
2.paramètre: Flags pour den gewünschten Zugriff sur cela Handle. Unterschiedliche Flags peut avec + addiert volonté.=> -$0 = Erlaubt es, Geräteattribute abzufragen. -$80000000 = Lesezugriff. -$40000000 = Schreibzugriff.
3.paramètre: Flags pour gemeinsamen Dateizugriff. => -$0 = ne...aucune gleichzeitiger Zugriff. -$1 = Dossier peux de anderen Operationen zum Lesen ouvert volonté. -$2 = Dossier peux de anderen Operationen zum écrivons ouvert volonté.
4.paramètre: Security-Attributes Struktur ou bien pour cela erzeugte objet. peux aussi 0 son.
5.paramètre: un Flag, qui angiebt, comment qui Dossier erzeugt volonté soll. -$1 = Erzeugt une neue Dossier. si qui Dossier bereits besteht, schlägt qui Funktion fehl. -$2 = Erzeugt une neue Dossier. si qui Dossier bereits besteht, wird vous überschrieben. -$3 = Öffnet une existierende Dossier. -$4 = Öffnet une existierende Dossier. Existiert vous pas, wird vous erzeugt. -$5 = Öffnet une Dossier et löscht en le contenu.
6.paramètre: Flags pour Dateiattribute. Ungleiche Flags peut avec + addiert volonté.=> -$00000020 = Dossier wird comme ‚Archiv’ gekennzeichnet. -$00000800 = Dossier wird comme ‚komprimiert’ gekennzeichnet. -$00000002 = Dossier wird versteckt. -$00000001 = Dossier wird avec Schreibschutz versehen. -$00000004 = Dossier wird comme Systemdatei gekennzeichnet. -$00000080 = Dossier wird ist une normale Dossier. cette Flag wird de allen anderen Flags überschrieben. -$00000100 = Dossier wird comme temporärer grenier verwendet. -$80000000 = Schreiboperationen avoir lieu direct sur qui Dossier, wobei qui Cache umgangen wird. -$40000000 = Überlappende Lese- et Schreiboperationen peut durchgeführt volonté. -$20000000 = qui Dossier wird sans Zwischenpuffer ou bien Caching ouvert. -$10000000 = Optimiert den Cache pour den wahlfreien Zugriff. -$8000000 = Optimiert den Cache pour den sequentiellen Zugriff. -$4000000 = Löscht qui Dossier, si alle ses Handles geschlossen sommes. -$2000000 = Öffnet qui Dossier pour une Backup- ou bien Restore-Aktion. Es volonté dabei qui Dateisicherheitsprüfungen überschrieben, si qui aufrufende Prozess qui aktivierten Administrationsprivilegien SeBackupPrivilege et SeRestorePrivilege besitzt. -$1000000 = Gibt à, cela qui Zugriff sur qui Dossier gemäß qui POSIX-régulariser avoir lieu soll. si CreateFile qui Clientseite einer Pipe ouvrez, peux aussi encore einer qui folgenden Flags addiert volonté. => -$0 = Ermöglicht, den Client avec qui Stufe ‚Anonymous’ trop erzeugen. -$00010000 = Ermöglicht, den Client avec qui Stufe ‚Identification’ trop erzeugen. -$00020000 = Ermöglicht, den Client avec qui Stufe ‚Impersonation’ trop erzeugen. -$00030000 = Ermöglicht, den Client avec qui Stufe ‚Delegation’ trop erzeugen. -$00040000 = Gibt à, dass qui Sicherheitsmodus dynamisch ist. -$00080000 = Gibt à, dass dem Server seulement qui aktivierten Aspekte des Sicherheitskontexts des Clients zur Disposition stehen.
7.paramètre: ici peux un Handle einer ‚Schablonendatei’ angegeben volonté. Dateiattribute volonté de cette Dossier übernommen. cette paramètre peux zéro son.
Rückgabewert:
0 chez Misserfolg, ansonsten cela Handle qui Dossier.
Beispiele:
KompilierenMarqueSéparationDEF @CreateFile(7) !kernel32,CreateFileA
Def @CloseHandle(1) !kernel32,CloseHandle
DEF @WriteFile(5) !kernel32,WriteFile
Declare Dateiname$,DateiHandle&
Declare Button&
LET DATEINAME$=C:TEST.TXT
LET DateiHandle&=@CreateFile(@ADDR(Dateiname$),$80000000+$40000000,0,0,4,$80,0)
@CloseHandle(DateiHandle&)
WINDOWSTYLE 31
Windowtitle Datei erzeugen
WINDOW 0,0-640,440
Let Button&=@Createbutton(%HWND,Datei löschen,20,200,200,30)
While 0=0
Waitinput
IF @GetFocus(Button&)
ASSIGN #1,Dateiname$
Erase #1
Enablewindow Button&,0
Beep 1
Endif
WEND
|
|
|
| |
|
|