Nous recommandons d’utiliser Visual Studio 2017

_umask_s

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Définit le masque d’autorisation 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é de la bibliothèque CRT.

errno_t _umask_s(  
   int mode,  
   int * pOldMode  
);  

Paramètres

[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 pas un mode valide ou pOldMode pointeur est NULL.

Conditions d’erreur

modepOldModeValeur de retourContenu de  oldMode
anyNULLEINVALnon modifié
mode non valideanyEINVALnon modifié

Si une des conditions 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 à continuer, _umask_s retourne EINVAL et définit errno à EINVAL.

Le _umask_s fonction définit le masque d’autorisation de fichier du processus actuel au mode spécifié par mode . Le masque d’autorisation de fichier modifie le paramètre d’autorisation de nouveaux fichiers créés par _creat, _open, ou _sopen. Si un bit du masque est 1, le bit correspondant dans la valeur du fichier autorisation demandée est défini sur 0 (interdit). Si un bit du masque est 0, le bit correspondant reste inchangé. Le paramètre d’autorisation d’un nouveau fichier n’est pas défini tant que le fichier est fermé pour la première fois.

L’expression d’entier pmode contient tout ou partie des constantes manifestes suivantes, définies 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 avec l’opérateur de bits OR ( | ). Si le mode argument est _S_IREAD, la lecture n’est pas autorisée (le fichier est en écriture seule). Si le mode argument 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, les nouveaux fichiers sera en lecture seule. Notez qu’avec MS-DOS et les systèmes d’exploitation Windows, tous les fichiers sont lisibles ; Il n’est pas possible d’accorder l’autorisation en écriture seule. Par conséquent, si la lecture de type bit 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 incorpore un autre ensemble de constantes, la fonction ignore simplement les.

RoutineEn-tête requis
_umask_s<io.h>et et  </io.h>

Pour plus d'informations sur la compatibilité, voir 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  

System::IO::file::SetAttributes

Gestion de fichiers
E/s de bas niveau
_chmod, _wchmod
_creat, _wcreat
_mkdir, _wmkdir
_open, _wopen
_umask

Afficher: