Exporter (0) Imprimer
Développer tout
and
div
eof
not
or
xor
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

_umask_s

Définit le masque d'accès de fichier par défaut. Une version de _umask avec des améliorations de sécurité, comme décrit dans Fonctionnalités de sécurité dans le CRT.

errno_t _umask_s(
   int mode,
   int * pOldMode
);

[in] mode

Paramètre d'autorisation par défaut.

[out] oldMode

La valeur précédente du paramètre d'autorisation.

Retourne un code d'erreur si Mode ne spécifie aucun mode valide ou le pointeur pOldMode est NULL.

Conditions d'erreur

mode

pOldMode

Valeur de retour

Contenu de oldMode

ANY

NULL

EINVAL

non modifié

Mode non valide :

ANY

EINVAL

non modifié

Si l'une de ces conditions d'erreur ci-dessus se produit, le gestionnaire de paramètre non valide est appelé, comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, _umask_s renvoie EINVAL et attribue à errno la valeur EINVAL.

La fonction _umask_s définit le masque d'autorisation du processus actuel comme le mode spécifié par mode. Le masque des autorisations de fichiers modifie le paramètre d'autorisation des nouveaux fichiers créés par _creat, _open, ou _sopen. Si un bit dans le masque est 1, le bit correspondant dans la valeur requise d'autorisation du fichier est défini à 0 (pas autorisé). Si un bit dans le masque est 0, le bit correspondant est inchangé. Le paramètre d'autorisation pour un nouveau fichier n'est pas défini tant que le fichier n'a pas été fermé pour la première fois.

L'expression entière pmode contient une des deux ou les deux constantes manifestes suivantes, défini dans SYS\STAT.H :

_S_IWRITE

Écriture autorisée.

_S_IREAD

Lecture autorisée.

_S_IREAD | _S_IWRITE

Lecture et écriture autorisées.

Lorsque les deux constantes sont fournies, elles sont jointes à l'opérateur de bits OR ( | ). Si l'argument mode est _S_IREAD, la lecture n'est pas autorisée (le fichier est en écriture seule. Si l'argument mode est _S_IWRITE, l'écriture n'est pas autorisée (le fichier est en lecture seule). Par exemple, si le bit d'écriture est défini dans le masque, tous les nouveaux fichiers sont en lecture seule. Notez que avec MS-DOS et des systèmes d'exploitation Windows, tous les fichiers sont lisibles ; il est impossible de donner l'autorisation en écriture seule. Par conséquent, définir le bit de lecture avec _umask_s n'a aucun effet sur les modes du fichier.

Si pmode n'est pas une combinaison de l'une des constantes manifestes ou n'incorpore pas un jeu de remplacement de constantes, la fonction ignore simplement celles-ci.

Routine

En-tête requis

_umask_s

<io.h> et <sys/stat.h> et <sys/types.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.

// crt_umask_s.c
/* This program uses _umask_s to set
 * the file-permission mask so that all future
 * files will be created as read-only files.
 * It also displays the old mask.
 */

#include <sys/stat.h>
#include <sys/types.h>
#include <io.h>
#include <stdio.h>

int main( void )
{
   int oldmask, err;

   /* Create read-only files: */
   err = _umask_s( _S_IWRITE, &oldmask );
   if (err)
   {
      printf("Error setting the umask.\n");
      exit(1);
   }
   printf( "Oldmask = 0x%.4x\n", oldmask );
}
Oldmask = 0x0000

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft