_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