Share via


_umask_s

Define a máscara de permissão de arquivo padrão.Uma versão do _Umsistema autônomok com aprimoramentos de segurança sistema autônomo descrito em Aprimoramentos de segurança no CRT.

errno_t _umask_s(
   int mode,
   int * pOldMode
);

Parâmetros

  • [in]mode
    Configuração de permissão padrão.

  • [out] oldMode
    O valor anterior da configuração de permissão.

Valor de retorno

Retorna um código de erro se Mode não especifica um modo válido ou o pOldMode ponteiro é NULL.

Condições de erro

mode

pOldMode

Valor de retorno

Sumário de oldMode

any

NULL

EINVAL

não modificado

modo inválido

any

EINVAL

não modificado

Se uma das condições acima ocorrer, o manipulador de parâmetro inválido é invocado, sistema autônomo descrito em Validação de parâmetro. Se a execução for permitida para continuar, _umask_s Retorna EINVAL e conjuntos errno para EINVAL.

Comentários

The _umask_s função define a máscara de permissão de arquivo do processo corrente para o modo especificado por mode*.* A máscara de permissão de arquivo modifica a configuração da permissão de novos arquivos criados por _creat, _open, ou _sopen. Se um bit na máscara for 1, o bit correspondente no arquivo solicitado pelo valor de permissão é conjunto como 0 (desativado).Se um bit na máscara for 0, o bit correspondente é deixado inalterado.Permissão conjunto seletiva para um novo arquivo não é conjunto até que o arquivo seja fechado pela primeira vez.

A expressão de inteiro pmode contém uma das seguintes constantes manifesto, definidas no SYS\STAT.H ou ambas:

  • _S_IWRITE
    Permissão de escrita.

  • _S_IREAD
    Permissão de leitura.

  • _S_IREAD | _S_IWRITE
    Permissão de leitura e gravação.

Quando ambas as constantes são determinados, eles fazem parte com o operador OR bit a bit ( | ).Se o mode o argumento é _S_IREAD, não é permitida a leitura (o arquivo é somente gravar). Se o mode o argumento é _S_IWRITE, não é permitida escrita (o arquivo é somente leitura). Por exemplo, se o bit de gravar está definido na máscara, todos os novos arquivos ser somente leitura.Observe que, com o MS-DOS e os sistemas operacionais Windows, todos os arquivos estão legíveis; não é possível conceder a permissão somente gravar.Por isso, definindo a leitura de bit com _umask_s não tem efeito sobre os modos do arquivo.

If pmode não é uma combinação de uma das constantes manifesto ou incorpora um conjunto alternativo de constantes, a função simplesmente ignorará os.

Requisitos

Rotina

Cabeçalho necessário

_umask_s

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

Para obter informações adicionais compatibilidade, consulte Compatibilidade na introdução.

Exemplo

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

Oldmask = 0x0000

Equivalente do NET Framework

sistema::IO::arquivo::SetAttributes

Consulte também

Referência

Manipulação de arquivos

E/S de nível baixo

_chmod, _wchmod

_creat, _wcreat

_mkdir, _wmkdir

_Open, _wopen

_umask