Share via


_umask_s

更新 : 2007 年 11 月

既定のファイル アクセス許可マスクを設定します。この関数は、「CRT のセキュリティ強化」に説明されているように、_umask のセキュリティが強化されたバージョンです。

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 関数は、現在のプロセスのファイルのアクセス許可マスクを mode で指定されているモードに設定します。ファイルのアクセス許可マスクによって、_creat、_open、または _sopen で作成された新規ファイルのアクセス許可の設定が変更されます。マスクのビットが 1 の場合、ファイルに対して要求されるアクセス許可値の中の対応ビットが 0 (不許可) に設定されます。マスクのビットが 0 の場合、対応するビットは変更されません。新規ファイルのアクセス許可は、そのファイルを初めて閉じたときに設定されます。

整数式 pmode には、SYS\STAT.H で定義されている次の記号定数のいずれか、または両方を指定します。

  • _S_IWRITE
    書き込み許可。

  • _S_IREAD
    読み取り許可。

  • _S_IREAD | _S_IWRITE
    ファイルの読み取りおよび書き込みを許可します。

両方の定数を指定する場合は、ビットごとの OR 演算子 (| ) で結合します。引数 mode が _S_IREAD の場合は、読み取り禁止 (ファイルは書き込み専用) になります。引数 mode が _S_IWRITE の場合は、書き込み禁止 (ファイルは読み取り専用) になります。たとえば、マスクに書き込みビットが設定されている場合は、すべての新規ファイルが読み取り専用になります。MS-DOS と Windows オペレーティング システムでは、すべてのファイルが読み取り可能です。書き込み専用のアクセス許可を与えることはできません。したがって、_umask_s で読み取りビットを設定しても、ファイルのモードには影響しません。

pmode がマニフェスト定数のいずれかとの組み合わせになっていない場合や、代わりの定数セットを組み込んでいる場合は、関数によりこれらが無視されるだけです。

必要条件

ルーチン

必須ヘッダー

_umask_s

<io.h>、<sys/stat.h>、および<sys/types.h>

互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。

使用例

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

.NET Framework の相当するアイテム

System::IO::File::SetAttributes

参照

参照

ファイル処理

下位入出力

_chmod、_wchmod

_creat、_wcreat

_mkdir、_wmkdir

_open、_wopen

_umask