 |
Descripción:
CreateFile öffnet una Expediente oder producido una Expediente y öffnet ellos.
Deklaration:
DEF @CreateFile(7) !kernel32,CreateFileA
Parámetro:
1.Parámetro: Adresse uno Cuerdas oder Bereichsvariable con un String, el el Dateinamen enthält.
2.Parámetro: Flags para el deseado Zugriff el Handle. Unterschiedliche Flags puede con + addiert voluntad.=> -$0 = Erlaubt lo, Geräteattribute abzufragen. -$80000000 = Lesezugriff. -$40000000 = Schreibzugriff.
3.Parámetro: Flags para gemeinsamen Dateizugriff. => -$0 = Kein gleichzeitiger Zugriff. -$1 = Expediente kann de otro Operationen para Lesen geöffnet voluntad. -$2 = Expediente kann de otro Operationen para Carta geöffnet voluntad.
4.Parámetro: Security-Attributes Struktur oder para el erzeugte Objeto. Kann auch 0 ser.
5.Parámetro: Ein Flag, el angiebt, como Expediente producido voluntad se. -$1 = Erzeugt una neue Expediente. Wenn el Expediente ya besteht, schlägt el Función fehl. -$2 = Erzeugt una neue Expediente. Wenn el Expediente ya besteht, se ellos überschrieben. -$3 = Öffnet una existierende Expediente. -$4 = Öffnet una existierende Expediente. Existiert ellos no, se ellos producido. -$5 = Öffnet una Expediente y löscht deren Inhalt.
6.Parámetro: Flags para Dateiattribute. Ungleiche Flags puede con + addiert voluntad.=> -$00000020 = Expediente se como ‚Archiv’ gekennzeichnet. -$00000800 = Expediente se como ‚komprimiert’ gekennzeichnet. -$00000002 = Expediente se versteckt. -$00000001 = Expediente es con Schreibschutz versehen. -$00000004 = Expediente se como Systemdatei gekennzeichnet. -$00000080 = Expediente se es una normale Expediente. Dieser Flag se de allen otro Flags überschrieben. -$00000100 = Expediente se como temporärer Speicher verwendet. -$80000000 = Schreiboperationen tener lugar direkt en el Expediente, wobei el Cache umgangen se. -$40000000 = Überlappende Lese- y Schreiboperationen puede durchgeführt voluntad. -$20000000 = El Expediente se sin Zwischenpuffer oder Caching geöffnet. -$10000000 = Optimiert el Cache para el wahlfreien Zugriff. -$8000000 = Optimiert el Cache para el sequentiellen Zugriff. -$4000000 = Löscht el Expediente, si todos ihre Handles geschlossen son. -$2000000 = Öffnet el Expediente para una Backup- oder Restore-Aktion. Lo voluntad esta el Dateisicherheitsprüfungen überschrieben, si la aufrufende Prozess el aktivierten Administrationsprivilegien SeBackupPrivilege y SeRestorePrivilege besitzt. -$1000000 = Gibt a, el el Zugriff en el Expediente gemäß el POSIX-Regeln tener lugar se. Wenn CreateFile el Clientseite uno Pipe öffnet, kann auch todavía uno el folgenden Flags addiert voluntad. => -$0 = Ermöglicht, el Client con el Stufe ‚Anonymous’ a erzeugen. -$00010000 = Ermöglicht, el Client con el Stufe ‚Identification’ a erzeugen. -$00020000 = Ermöglicht, el Client con el Stufe ‚Impersonation’ a erzeugen. -$00030000 = Ermöglicht, el Client con el Stufe ‚Delegation’ a erzeugen. -$00040000 = Gibt a, dass el Sicherheitsmodus dynamisch es. -$00080000 = Gibt a, dass el Server sólo el aktivierten Aspekte des Sicherheitskontexts des Clients disponible posición.
7.Parámetro: Hier kann una Handle uno ‚Schablonendatei’ angegeben voluntad. Dateiattribute voluntad de dieser Expediente übernommen. Dieser Parámetro kann null ser.
Rückgabewert:
0 en Misserfolg, ansonsten el Handle el Expediente.
Beispiele:
KompilierenMarcaSeparaciónDEF @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
|
|