_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

Siehe auch

Referenz

Datei-Behandlung

E/A auf niedriger Ebene

_chmod, _wchmod

_create, _wcreat

_mkdir, _wmkdir

_open, _wopen

_umask