_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