_umask_s
Nastaví výchozí oprávnění souboru masku.Verze _umask s vylepšení zabezpečení popsaným v Funkce zabezpečení v CRT.
errno_t _umask_s(
int mode,
int * pOldMode
);
Parametry
[v]mode
Výchozí nastavení oprávnění.[výstup]oldMode
Předchozí hodnota nastavení oprávnění.
Vrácená hodnota
Vrátí kód chyby, pokud Mode neurčuje platný režim nebo pOldMode je ukazatel NULL.
Chybové podmínky
mode |
pOldMode |
Vrácená hodnota |
ObsaholdMode |
---|---|---|---|
žádné |
NULL |
EINVAL |
Nezměněno |
Neplatný režim |
žádné |
EINVAL |
Nezměněno |
Pokud dojde k jedné z výše uvedených podmínek, je vyvolána neplatný parametr popisovače, jak je popsáno v Ověření parametru.Pokud je povoleno spuštění pokračovat, _umask_s vrátí EINVAL a errno na EINVAL.
Poznámky
_umask_s Funkce nastaví režim určený Maska oprávnění souboru aktuální proces mode*.* Maska oprávnění soubor upravuje nastavení oprávnění v nové soubory vytvořené v _creat, _open, nebo _sopen.Pokud je v masce bit 1, příslušné bity hodnotu požadované oprávnění souboru nastavena na 0 (zakázáno).Pokud je v masce bit 0, odpovídající bit je ponechán beze změny.Nastavení oprávnění pro nový soubor není nastavena, dokud nezavřete první soubor.
Výraz celé pmode obsahuje jeden nebo oba následující manifestu konstanty definované v SYS\STAT.H:
_S_IWRITE
Zápis povolen._S_IREAD
Čtení povoleny._S_IREAD | _S_IWRITE
Čtení a zápis povolen.
Při obou konstanty jsou uvedeny, jsou spojeny pomocí operátoru bitový operátor OR ( | ).Pokud mode argument je _S_IREAD, není povoleno čtení (soubor je jen pro zápis).Pokud mode argument je _S_IWRITE, není povolen zápis (soubor je jen pro čtení).Například pokud je nastaven bit zápis v masce, nové soubory budou být jen pro čtení.Systém MS-DOS a operační systémy Windows, všechny soubory jsou čitelné; není možné udělit oprávnění pouze pro zápis.Proto nastavení čtení bit s _umask_s nemá žádný vliv na režimy v souboru.
Pokud pmode je kombinací jedné z manifestu konstant nebo zahrnuje alternativní sadu konstant, funkcí bude jednoduše ignorovat ty.
Požadavky
Rutina |
Požadované záhlaví |
---|---|
_umask_s |
<io.h> a <sys/stat.h> a <sys/types.h> |
Další informace o kompatibilitě, viz Compatibility v úvodu.
Příklad
// 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 );
}
Ekvivalent v rozhraní .NET Framework
System::IO::file::SetAttributes