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