IEffectivePermission::GetEffectivePermission メソッド (aclui.h)
GetEffectivePermission メソッドは、オブジェクト型の有効なアクセス許可を返します。
構文
HRESULT GetEffectivePermission(
[in] const GUID *pguidObjectType,
[in] PSID pUserSid,
[in] LPCWSTR pszServerName,
[in] PSECURITY_DESCRIPTOR pSD,
[out] POBJECT_TYPE_LIST *ppObjectTypeList,
[out] ULONG *pcObjectTypeListLength,
[out] PACCESS_MASK *ppGrantedAccessList,
[out] ULONG *pcGrantedAccessListLength
);
パラメーター
[in] pguidObjectType
アクセス許可のクエリを実行するオブジェクトの種類の GUID 。
[in] pUserSid
有効なアクセス許可が決定されているセキュリティ プリンシパルを表す SID 構造体へのポインター。
[in] pszServerName
サーバー名を表す null で終わるワイド文字列へのポインター。
[in] pSD
オブジェクトのセキュリティ記述子を表すSECURITY_DESCRIPTOR構造体へのポインター。 セキュリティ記述子は、アクセスチェックを実行するために使用されます。
[out] ppObjectTypeList
オブジェクトのオブジェクト ツリー内のオブジェクト型の配列を表す OBJECT_TYPE_LIST 構造体へのポインター。 オブジェクトがプロパティ アクセスをサポートしていない場合は、次の手法を使用して 、OBJECT_TYPE_LISTの値を指定します。
#include <windows.h>
OBJECT_TYPE_LIST g_DefaultOTL[] = {
{0, 0, (LPGUID)&GUID_NULL},
};
[out] pcObjectTypeListLength
ppObjectTypeList が指すオブジェクト型の数を受け取る ULONG へのポインター。
[out] ppGrantedAccessList
許可されたアクセス マスクの配列を受け取る ACCESS_MASK へのポインター。 オペレーティング システムは LocalFree を 使用して、このパラメーターに割り当てられたメモリを解放します。
[out] pcGrantedAccessListLength
ppGrantedAccessList パラメーターが指す許可されたアクセス マスクの数を受け取る ULONG 変数へのポインター。
戻り値
関数が成功した場合、戻り値はS_OK。
関数が失敗した場合、戻り値はエラーを示す HRESULT です。 一般的なエラー コードの一覧については、「 共通の HRESULT 値」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | aclui.h |