SECURITY_ATTRIBUTES

オブジェクトに関するセキュリティデスクリプタ(セキュリティ記述子)が格納されます。この構造体を指定することで、オブジェクトのハンドルが継承可能であるかどうかを指定します。

typedef struct _SECURITY_ATTRIBUTES {
    DWORD  nLength;               // structure size
    LPVOID lpSecurityDescriptor;  // descriptor
    BOOL   bInheritHandle;        // inheritance
} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;

メンバ

nLength

SECURITY_ATTRIBUTES構造体のサイズをバイト単位で指定します。12を指定します。

lpSecurityDescriptor

初期化されたセキュリティデスクリプタのアドレスを指定します。0 (NULL) を指定すると、呼び出しプロセスのデフォルトのセキュリティデスクリプタがオブジェクトに割り当てられます。

Windows 95/98/Me: lpSecurityDescriptorメンバは無視されます。

bInheritHandle

新しいプロセスが作成される時にオブジェクトのハンドルが継承されるようにするかどうかを指定します。このメンバに1 (TRUE) を指定すると、ハンドルが継承されます。0 (FALSE) を指定すると、ハンドルは継承されません。

対応情報

Windows 95 以降 / Windows NT 3.1 以降

変数との対応

HSP 変数 メンバ
メンバ名 オフセット サイズ
sa(0) nLength ( = 12 ) 0 4
sa(1) lpSecurityDescriptor 4 4
sa(2) bInheritHandle 8 4