_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