UDF > WinAPIEx > Files & Devices > Files >


_WinAPI_CreateFileEx

Crée ou ouvre un fichier ou un périphérique d'E/S

#include <WinAPIFiles.au3>
_WinAPI_CreateFileEx ( $sFilePath, $iCreation [, $iAccess = 0 [, $iShare = 0 [, $iFlagsAndAttributes = 0 [, $tSecurity = 0 [, $hTemplate = 0]]]]] )

Paramètres

$sFilePath Le nom du fichier ou du périphérique à créer ou ouvrir.
$iCreation L'action à prendre pour un fichier ou un périphérique qui existe ou n'existe pas. Ce paramètre doit être l'une des valeurs suivantes, qui ne peuvent pas être combinés:
    $CREATE_NEW
    $CREATE_ALWAYS
    $OPEN_EXISTING
    $OPEN_ALWAYS
    $TRUNCATE_EXISTING
$iAccess [optionnel] L'accès requis au fichier ou au périphérique, qui peut être résumé par lecture, écriture, les deux ou aucun (zéro) (par défaut).
    $GENERIC_READ
    $GENERIC_WRITE
    (Voir MSDN pour plus d'informations)
$iShare [optionnel] Le mode de partage requis du fichier ou du périphérique, qui peut être lu, écrit, les deux à la fois, supprimé, tout à la fois, ou aucun.
Si ce paramètre est 0 (par défaut) et que _WinAPI_CreateFileEx() réussit, le fichier ou le périphérique ne peut pas être partagé et ne peut pas être à nouveau ouvert jusqu'à ce que le handle du fichier ou du périphérique soit fermé.
    $FILE_SHARE_DELETE
    $FILE_SHARE_READ
    $FILE_SHARE_WRITE
$iFlagsAndAttributes [optionnel] Les attributs et les flags du fichier ou du périphérique. Ce paramètre peut prendre une ou plusieurs des valeurs suivantes:
    $FILE_ATTRIBUTE_READONLY
    $FILE_ATTRIBUTE_HIDDEN
    $FILE_ATTRIBUTE_SYSTEM
    $FILE_ATTRIBUTE_DIRECTORY
    $FILE_ATTRIBUTE_ARCHIVE
    $FILE_ATTRIBUTE_DEVICE
    $FILE_ATTRIBUTE_NORMAL
    $FILE_ATTRIBUTE_TEMPORARY
    $FILE_ATTRIBUTE_SPARSE_FILE
    $FILE_ATTRIBUTE_REPARSE_POINT
    $FILE_ATTRIBUTE_COMPRESSED
    $FILE_ATTRIBUTE_OFFLINE
    $FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
    $FILE_ATTRIBUTE_ENCRYPTED

    $FILE_FLAG_BACKUP_SEMANTICS
    $FILE_FLAG_DELETE_ON_CLOSE
    $FILE_FLAG_NO_BUFFERING
    $FILE_FLAG_OPEN_NO_RECALL
    $FILE_FLAG_OPEN_REPARSE_POINT
    $FILE_FLAG_OVERLAPPED
    $FILE_FLAG_POSIX_SEMANTICS
    $FILE_FLAG_RANDOM_ACCESS
    $FILE_FLAG_SEQUENTIAL_SCAN
    $FILE_FLAG_WRITE_THROUGH

    $SECURITY_ANONYMOUS (par défaut)
    $SECURITY_CONTEXT_TRACKING
    $SECURITY_DELEGATION
    $SECURITY_EFFECTIVE_ONLY
    $SECURITY_IDENTIFICATION
    $SECURITY_IMPERSONATION
$tSecurity [optionnel] La structure $tagSECURITY_ATTRIBUTES qui contient deux membres de données distincts mais liés: un descripteur de sécurité optionnel, et une valeur booléenne qui détermine si le handle retourné peut être hérité par les processus enfants.
Si ce paramètre est 0 (par défaut), le handle ne peut pas être hérité par un prcessus enfant et l'application peut créer le fichier ou le périphérique associé et avec le handle retourné obtenir un descripteur de sécurité par défaut.
$hTemplate [optionnel] Le handle d'un fichier modèle avec le droit d'accès $GENERIC_READ. Le fichier modèle fournit les attributs et les attributs étendus pour le fichier qui est en cours de création.

Valeur de retour

Succès: Retourne le handle du fichier, du périphérique, du pipe nommé, ou du mail slot spécifié.
Échec: Retourne 0 et définit @error <> 0, @extended contient _WinAPI_GetLastError().

Remarque

Lorsqu'une application se termine en utilisant le handle de l'objet retourné par cette fonction, utilisez la fonction _WinAPI_CloseHandle() pour fermer le handle.
Ceci, non seulement libère les ressources système, mais peut avoir une influence plus large sur des choses comme le partage du fichier ou du périphérique et la validation des données du disque.

En relation

_WinAPI_CloseHandle

Voir aussi

Consultez CreateFile dans la librairie MSDN.