| |
|
|
CreateFile öffnet eine File oder erzeugt eine File und öffnet sie.
Parameter:
P:X1# | Adresse eines Strings oder Bereichsvariable mit einem String, der den Dateinamen enthält. | P:L2 | Flags per den gewünschten Zugriff auf das Handle. Unterschiedliche Flags können mit + addiert werden.=>
$0 | = Erlaubt es, Geräteattribute abzufragen. | $80000000 | = Lesezugriff. | $40000000 | = Schreibzugriff. |
| P:L3 | Flags per gemeinsamen Dateizugriff. =>
$0 | = Kein gleichzeitiger Zugriff. | $1 | = File kann von anderen Operationen zum Lesen geöffnet werden. | $2 | = File kann von anderen Operationen zum Schreiben geöffnet werden. |
| P:L4 | Security-Attributes Struktur oder per das erzeugte Objekt. Kann auch 0 sein. | P:L5 | Ein Flag, der angibt, wie die File erzeugt werden soll.
$1 | = Erzeugt eine neue File. Wenn die File bereits besteht, schlägt die Funktion fehl. | $2 | = Erzeugt eine neue File. Wenn die File bereits besteht, wird sie überschrieben. | $3 | = Öffnet eine existierende File. | $4 | = Öffnet eine existierende File. Existiert sie nicht, wird sie erzeugt. | $5 | = Öffnet eine File und löscht deren Inhalt. |
| P:L6 | Flags per Dateiattribute. Ungleiche Flags können mit + addiert werden.=>
$00000020 | = File wird als 'Archiv' gekennzeichnet. | $00000800 | = File wird als 'komprimiert' gekennzeichnet. | $00000002 | = File wird versteckt. | $00000001 | = File wird mit Schreibschutz versehen. | $00000004 | = File wird als Systemdatei gekennzeichnet. | $00000080 | = File wird ist eine normale File. Dieser Flag wird von allen anderen Flags überschrieben. | $00000100 | = File wird als temporärer Speicher verwendet. | $80000000 | = Schreiboperationen erfolgen direkt auf die File, wobei der Cache umgangen wird. | $40000000 | = Überlappende Lese- und Schreiboperationen können durchgeführt werden. | $20000000 | = Die File wird ohne Zwischenpuffer oder Caching geöffnet. | $10000000 | = Optimiert den Cache per den wahlfreien Zugriff. | $8000000 | = Optimiert den Cache per den sequentiellen Zugriff. | $4000000 | = Löscht die File, wenn alle ihre Handles geschlossen sind. | $2000000 | = Öffnet die File per eine Backup- oder Restore-Aktion. Es werden dabei die Dateisicherheitsprüfungen überschrieben, wenn der aufrufende Prozess die aktivierten Administrationsprivilegien SeBackupPrivilege und SeRestorePrivilege besitzt. | $1000000 | = Gibt an, das der Zugriff auf die File gemäß der POSIX-Regeln erfolgen soll. |
Wenn CreateFile die Clientseite einer Pipe öffnet, kann auch noch einer der folgenden Flags addiert werden. =>
| $0 | = Ermöglicht, den Client mit der Stufe 'Anonymous' zu erzeugen. | $00010000 | = Ermöglicht, den Client mit der Stufe 'Identification' zu erzeugen. | $00020000 | = Ermöglicht, den Client mit der Stufe 'Impersonation' zu erzeugen. | $00030000 | = Ermöglicht, den Client mit der Stufe 'Delegation' zu erzeugen. | $00040000 | = Gibt an, dass der Sicherheitsmodus dynamisch ist. | $00080000 | = Gibt an, dass dem Server nur die aktivierten Aspekte des Sicherheitskontexts des Clients zur Verfügung stehen. |
| P:L7 | Hier kann ein Handle einer 'Schablonendatei' angegeben werden. Dateiattribute werden von dieser File übernommen. Dieser Parameter kann null sein.
|
| Achtung! CreateFile necessario zum Erhalten eines Handles immer das Zugriffsrecht SYNCRONIZE! Hat der Aktuelle User dieses Recht auf das File-Handle nicht, schlägt das Öffnen des Handles fehl! Diese Tatsache ist nirgendwo sonst dokumentiert, aber extrem wichtig, wenn es z.B. um das Ändern von Zugriffsrechten geht!
|
|
|
| |
|
|