SetUserObjectSecurity 関数 (winuser.h)
SetUserObjectSecurity 関数は、ユーザー オブジェクトのセキュリティを設定します。 たとえば、ウィンドウや DDE 会話などです。
構文
BOOL SetUserObjectSecurity(
[in] HANDLE hObj,
[in] PSECURITY_INFORMATION pSIRequested,
[in] PSECURITY_DESCRIPTOR pSID
);
パラメーター
[in] hObj
セキュリティ情報が設定されているユーザー オブジェクトへのハンドル。
[in] pSIRequested
設定する セキュリティ記述子 のコンポーネントを示す値へのポインター。 このパラメーターは、次の値と組み合わせて使用できます。
値 | 意味 |
---|---|
|
オブジェクトの 随意アクセス制御リスト (DACL) を設定します。 hObj で指定されたハンドルは、WRITE_DACアクセス権を持っているか、呼び出し元のプロセスが オブジェクトの所有者である必要があります。 |
|
オブジェクトのプライマリ グループ セキュリティ識別子 (SID) を設定します。 |
|
オブジェクトの所有者の SID を設定します。 hObj で指定されたハンドルは、WRITE_OWNERアクセス権を持っているか、呼び出し元のプロセスがオブジェクトの所有者であるか、SE_TAKE_OWNERSHIP_NAME特権が有効になっている必要があります。 |
|
オブジェクトの システム アクセス制御リスト (SACL) を設定します。
hObj で指定されたハンドルには、ACCESS_SYSTEM_SECURITYアクセス権が必要です。
ACCESS_SYSTEM_SECURITY アクセス権を取得するには |
[in] pSID
新しいセキュリティ情報を含む SECURITY_DESCRIPTOR 構造体へのポインター。
このバッファーは、4 バイト境界に配置する必要があります。
戻り値
関数が成功した場合、関数は 0 以外の値を返します。
関数が失敗すると、0 が返されます。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
SetUserObjectSecurity 関数は、セキュリティ記述子で指定された変更を、ユーザー オブジェクトに割り当てられたセキュリティ記述子に適用します。 オブジェクトのセキュリティ記述子は、 自己相対 形式である必要があります。 必要に応じて、この関数は、セキュリティ記述子のサイズを大きくするために追加のメモリを割り当てます。
例
この関数を使用する例については、「 対話型クライアント プロセスの開始」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |