Udostępnij za pośrednictwem


_umask_s

Ustawia domyślną maskę uprawnień pliku.Wersja z _umask z rozszerzeń zabezpieczeń opisane w Funkcje zabezpieczeń w CRT.

errno_t _umask_s(
   int mode,
   int * pOldMode
);

Parametry

  • [w]mode
    Domyślne ustawienie uprawnienia.

  • [out]oldMode
    Wartość poprzednie ustawienie uprawnienia.

Wartość zwracana

Zwraca kod błędu, jeśli Mode nie określa prawidłowego trybu lub pOldMode wskaźnik jest NULL.

Warunki błędów

mode

pOldMode

Zwracanie wartości

ZawartośćoldMode

wszelkie

NULL

EINVAL

Nie zmodyfikowano

Nieprawidłowy tryb

wszelkie

EINVAL

Nie zmodyfikowano

Jeśli występuje jeden z powyższych warunków, nieprawidłowy parametr wywoływana jest funkcja obsługi, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie jest dozwolone, aby kontynuować, _umask_s zwraca EINVAL i ustawia errno do EINVAL.

Uwagi

_umask_s Funkcja ustawia maskę uprawnień dla pliku bieżącego procesu w trybie określonym przez mode*.* Maska uprawnień pliku zmienia ustawienie uprawnienia nowych plików utworzonych przez _creat, _open, lub _sopen.Jeśli bit w masce jest 1, odpowiadający mu bit w pliku żądane uprawnienie jest ustawiona na 0 (niedozwolone).Jeśli bit w masce jest 0, odpowiadający mu bit pozostaje bez zmian.Ustawienie uprawnień dla nowego pliku nie jest ustawiona, dopóki plik nie zostanie zamknięty po raz pierwszy.

Wyrażenie liczby całkowitej pmode zawiera jedną lub obie z następujących stałych manifestu, określonych w SYS\STAT.H:

  • _S_IWRITE
    Dozwolone pisania.

  • _S_IREAD
    Dozwolone czytania.

  • _S_IREAD | _S_IWRITE
    Czytanie i pisanie dozwolone.

Gdy podane są zarówno stałych, są połączone z (operatory OR, operator | ).Jeśli mode argument jest _S_IREAD, odczytu jest niedozwolone (plik jest tylko do zapisu).Jeśli mode argument jest _S_IWRITE, nie jest dozwolone zapisywanie (plik jest tylko do odczytu).Na przykład jeśli bit zapisu jest ustawiony w masce, nowe pliki będą tylko do odczytu.Należy zauważyć, że z systemami operacyjnymi Windows i MS-DOS, wszystkie pliki są czytelne; nie jest możliwe nadać uprawnienia tylko do zapisu.Dlatego ustawienie read bit z _umask_s nie ma wpływu na plik trybów.

Jeśli pmode nie jest w połączeniu jednego manifestu stałych lub zawiera alternatywny zestaw stałych, funkcja po prostu zignoruje te.

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_umask_s

<io.h> i <sys/stat.h> i <sys/types.h>

Aby uzyskać dodatkowe informacje o zgodności, zobacz zgodności we wprowadzeniu.

Przykład

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

Odpowiednik w programie .NET Framework

System::IO::File::SetAttributes

Zobacz też

Informacje

Obsługa plików

Niskiego poziomu we/wy

_chmod, _wchmod

_creat, _wcreat

_mkdir, _wmkdir

_open, _wopen

_umask