_umask_s
既定のファイル アクセス許可マスクを設定します。 CRT の_umask
セキュリティ機能の説明に従ってセキュリティが強化されたバージョン。
構文
errno_t _umask_s(
int mode,
int* pOldMode
);
パラメーター
mode
既定のアクセス許可の設定。
pOldMode
アクセス許可設定の以前の値。
戻り値
有効なモードを指定しない場合 mode
、または pOldMode
ポインター NULL
が .
エラー条件
mode |
pOldMode |
戻り値 | pOldMode の内容 |
---|---|---|---|
any | NULL |
EINVAL |
変更されない |
無効なモード | any | EINVAL |
変更されない |
上記のいずれかの条件が発生した場合は、「パラメーターの検証」で説明されているように、無効なパラメーター ハンドラーが呼び出されます。 実行の継続が許可された場合、_umask_s
は EINVAL
を返し、errno
を EINVAL
に設定します。
解説
この関数は _umask_s
、現在のプロセスのファイルアクセス許可マスクを、 で指定された mode
モードに設定します。 ファイルのアクセス許可マスクは、_creat
、_open
、または _sopen
によって新しく作成されたファイルのアクセス許可の設定を変更します。 マスクのビットが 1 の場合は、ファイルの要求されたアクセス許可値に対応するビットは 0 (許可しない) に設定されます。 マスクのビットが 0 の場合は、対応するビットは変更されません。 新しいファイルのアクセス許可設定は、ファイルが初めて閉じられるまで設定されません。
整数式 mode
には、次で定義 SYS\STAT.H
されている次のマニフェスト定数のいずれかまたは両方が含まれています。
mode |
説明 |
---|---|
_S_IWRITE |
書き込みが許可されます。 |
_S_IREAD |
読み取りが許可されます。 |
_S_IREAD | _S_IWRITE |
読み取りと書き込みが許可されます。 |
両方の定数が指定されると、ビットごとの OR 演算子 ( |
) と結合されます。 引数が指定されている mode
場合、 _S_IREAD
読み取りは許可されません (ファイルは書き込み専用です)。 引数が指定されている mode
場合、 _S_IWRITE
書き込みは許可されません (ファイルは読み取り専用です)。 たとえば、マスクに書き込みビットが設定されている場合、新しいファイルはいずれも読み取り専用となります。 MS-DOS および Windows オペレーティング システムでは、すべてのファイルが読み取り可能です。書き込み専用のアクセス許可を付与することはできません。 したがって、_umask_s
で読み取りビットを設定しても、ファイルのモードに影響はありません。
マニフェスト定数の組み合わせではない場合、または定数の代替セットが組み込まれている場合 mode
、関数はそれらを無視します。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 これを変更するには、「CRT でのグローバル状態」を参照してください。
必要条件
機能 | 必須ヘッダー |
---|---|
_umask_s |
<io.h> と<sys/stat.h> <sys/types.h> |
互換性の詳細については、「 Compatibility」を参照してください。
例
// 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
関連項目
ファイル処理
低レベル I/O
_chmod
, _wchmod
_creat
, _wcreat
_mkdir
, _wmkdir
_open
, _wopen
_umask
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示