_umask_s
Legt den Standardwert Dateiberechtigungsmaske fest.Eine Version von _umask mit unter Security Enhancements, wie in Sicherheitsfeatures im CRTbeschrieben.
errno_t _umask_s(
int mode,
int * pOldMode
);
Parameter
[in] mode
Einstellung Standardberechtigungs.[out] oldMode
Der vorherige Wert der Einstellung Berechtigungen.
Rückgabewert
Gibt einen Fehlercode zurück, wenn Mode keinen gültigen Modus angibt, oder pOldMode Zeiger NULList.
Fehlerbedingungen
mode |
pOldMode |
Rückgabewert |
Inhalt oldMode |
---|---|---|---|
alle |
NULL |
EINVAL |
nicht geändert |
ungültiger Modus |
alle |
EINVAL |
nicht geändert |
Wenn eine der oben aufgeführten Bedingungen auftritt, wird der Ereignishandler aufgerufen, z. B. ungültige Parameter in Parametervalidierungbeschrieben.Wenn die Ausführung ermöglicht wird, um fortzufahren, gibt _umask_sEINVAL zurück und legt ihn fest. EINVALzu errno
Hinweise
Die _umask_sFunktion legt die Dateiberechtigungsmaske des aktuellen Prozesses in den Modus fest, der von modeangegeben wird*.* Die Dateiberechtigungsmaske wird die Einstellung für die Berechtigung aus den neuen Dateien, die von _creat, _openoder _sopenerstellt werden.Wenn ein Bit in der Maske 1 ist, wird das entsprechende Bit im angeforderten Berechtigungswert der Datei auf 0 festgelegt (nicht zulässig).Wenn ein Bit in der Maske 0 ist, wird das entsprechende Bit unverändert gelassen.Die Einstellung für die Berechtigungen für eine neue Datei wird nicht festgelegt, bis der Datei zum ersten Mal geschlossen wird.
Der ganzzahlige Ausdruck pmode enthält eine oder beide der folgenden Manifesten Konstanten, definiert in SYS \ STAT.H:
_S_IWRITE
Schreiben zulässig._S_IREAD
Lesevorgänge zulässig._S_IREAD | _S_IWRITE
Lese- und Schreibvorgänge nicht zulässig.
Wenn beide Konstanten angegeben sind, werden sie mit dem bitweisen Operator OR verknüpft ( | ).Wenn das Argument mode_S_IREADist, wird das Lesen der Datei (nicht zulässig) ist lesegeschützt.Wenn das Argument mode_S_IWRITEist, wird der Schreibvorgang nicht zulässig (die Datei schreibgeschützt).Wenn z. B. das schreibens bit in der Maske gesetzt ist, sind alle neuen Dateien schreibgeschützt.Beachten Sie, dass mit MS-DOS und der Windows-Betriebssysteme, um alle Dateien gelesen werden. Es ist nicht möglich, lesegeschützte Berechtigung zu gewähren.Deshalb hat das Festlegen des Lesen von Bits mit _umask_skeine Auswirkungen auf die Modi der Datei.
Wenn pmode keine Kombination von einer der Manifesten Konstanten oder einen Satz von Alternativen Konstanten enthält, ignoriert die Funktion einfach die.
Anforderungen
Routine |
Erforderlicher Header |
---|---|
_umask_s |
<io.h> und <sys/stat.h> <sys/types.h> |
Um Kompatibilität zusätzlichen Informationen finden Sie unter Kompatibilität in der Einführung.
Beispiel
// 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 );
}
.NET Framework-Entsprechung
System::EA::Datei::SetAttributes