_umask_s

Imposta la maschera predefinita di autorizzazione file.una versione di _umask con i miglioramenti della sicurezza come descritto in Funzionalità di sicurezza in CRT.

errno_t _umask_s(
   int mode,
   int * pOldMode
);

Parametri

  • [in] mode
    Impostazione possibila di autorizzazioni predefinito.

  • [out] oldMode
    Il valore precedente dell'autorizzazione.

Valore restituito

Restituisce un codice di errore se Mode non specificare la modalità valida o pOldMode il puntatore viene NULL.

condizioni di errore

mode

pOldMode

Valore restituito

Contenuto di oldMode

qualsiasi

NULL

EINVAL

non modificato

modalità non valida

qualsiasi

EINVAL

non modificato

Se una delle condizioni sopra caso, il gestore non valido di parametro viene richiamato, come descritto in Convalida dei parametri.Se l'esecuzione è consentita per continuare, _umask_s restituisce EINVAL e set errno in EINVAL.

Note

_umask_sla funzione imposta la maschera di autorizzazione file del processo corrente a quella specificata da mode*.* La maschera di autorizzazione file modifica l'impostazione di autorizzazione di nuovi file creati da _creat, _open, o _sopen.Se un bit nella maschera è 1, il bit corrispondente nel valore obbligatorio dell'autorizzazione del file è impostato su 0 (disattivata).Se un bit nella maschera è 0, il bit corrispondente viene lasciato invariato.L'impostazione di autorizzazione per un nuovo file non è impostata fino alla chiusura per la prima volta il file.

l'espressione Integer pmode contiene una o entrambe le seguenti costanti manifesto, definito nel sistema \STAT.H:

  • _S_IWRITE
    Scrittura valida.

  • _S_IREAD
    Lettura valida.

  • _S_IREAD | _S_IWRITE
    lettura e scrittura consentite.

Quando entrambe le costanti vengono fornite, vengono unite con l'operatore OR bit per bit ( | ).se mode l'argomento è _S_IREAD, leggere non è consentita (il file è di sola scrittura).se mode l'argomento è _S_IWRITE, scrivere non è consentita (il file è di sola lettura).Ad esempio, se il bit di scrittura è impostato nella maschera, tutti i nuovi file verranno di sola lettura.Si noti che con MS-DOS e i sistemi operativi Windows, tutti i file leggibili; non è possibile fornire l'autorizzazione di sola scrittura.Pertanto, impostando il bit con lettura _umask_snon ha effetto sulle modalità del file.

se pmode non è una combinazione di una delle costanti manifesto o non include un set alternate costanti, la funzione semplicemente ignorati da quelli.

Requisiti

routine

Intestazione di associazione

_umask_s

<io.h> e <sistema/stat.h> e <sistema/types.h>

per informazioni di compatibilità aggiuntive, vedere compatibilità nell'introduzione.

Esempio

// 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 );
}
  

Equivalente .NET Framework

System:: I:: file:: SetAttributes

Vedere anche

Riferimenti

Gestione dei file

L'I/O di basso livello

_chmod, _wchmod

_create, _wcreat

_mkdir, _wmkdir

_open, _wopen

_umask