_umask_s

Задает маску файл-разрешения по умолчанию.Версия _umask со службами расширений безопасности, как описано в разделе Средства безопасности в CRT.

errno_t _umask_s(
   int mode,
   int * pOldMode
);

Параметры

  • [входящий] mode
    По умолчанию настройка разрешений.

  • [исходящий] oldMode
    Предыдущее значение настройки разрешений.

Возвращаемое значение

Возвращает код ошибки, если Mode не задает допустимый режим или pOldMode указатель NULL.

Условия возникновения ошибок

mode

pOldMode

Возвращаемое значение

Содержимое oldMode

any

NULL

EINVAL

не было

недопустимый режим

any

EINVAL

не было

Если одно из приведенных выше условий, то вызывается обработчик недопустимого параметра, как описано в разделе Проверка параметров.Если выполнение может продолжить, _umask_s возвращает EINVAL и наборы errno В EINVAL.

Заметки

_umask_sфункция задает маску файл-разрешения текущего процесса в режим указанному by mode*.* Маска файл-разрешения изменяет настройку разрешений новых файлов, созданных оператором _creat" _openили _sopen.Если бит в маске 1, соответствующий бит в значении запрошенного файла разрешения имеет значение 0 (запрещено).Если бит в маске 0, соответствующий бит слева неизменившиеся.Настройка разрешений для нового файла не установлена до тех пор, пока файл не закрыт впервые.

Выражение integer pmode содержит одно или оба из следующих констант манифестов, определенное в схеме SYS \ STAT.H:

  • _S_IWRITE
    Позволенная запись.

  • _S_IREAD
    Чтение позволило.

  • _S_IREAD | _S_IWRITE
    Разрешенные чтение и запись.

Если обе константы, они предоставляются соединении с оператором (побитовое или | ).Если mode аргумент _S_IREADвыберите чтение не разрешен (файл доступен только на запись.Если mode аргумент _S_IWRITEзапись не разрешен (файл только для чтения).Например, если бит записи в маске, то все новые файлы будут только для чтения.Обратите внимание, что с операционными системами windows, MS-DOS, и все файлы четки; невозможно предоставить разрешение, доступное только на запись.Поэтому настройка битов с read _umask_sне влияет на режимы файла.

If pmode не комбинации одного очевидных констант или не включает другой набор констант, функция просто пропускает их.

Требования

Процедура

Обязательный заголовок

_umask_s

<io.h> и <sys или stat.h> и <sys или types.h>

Дополнительные сведения о совместимости см. Совместимость во введении.

Пример

// 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

System:: Ввода-вывода:: файл:: SetAttributes

См. также

Ссылки

Обработка файла

ВВОДА-ВЫВОДА низкого уровня

_chmod, _wchmod

_create, _wcreat

_mkdir, _wmkdir

_open, _wopen

_umask