Share via


RsopAccessCheckByType 関数 (userenv.h)

RSoPAccessCheckByType 関数は、セキュリティ記述子が RSOPTOKEN によって識別されたクライアントに対して、指定されたアクセス権のセットを許可するかどうかを決定します。

構文

USERENVAPI HRESULT RsopAccessCheckByType(
  [in]  PSECURITY_DESCRIPTOR pSecurityDescriptor,
  [in]  PSID                 pPrincipalSelfSid,
  [in]  PRSOPTOKEN           pRsopToken,
  [in]  DWORD                dwDesiredAccessMask,
  [in]  POBJECT_TYPE_LIST    pObjectTypeList,
  [in]  DWORD                ObjectTypeListLength,
  [in]  PGENERIC_MAPPING     pGenericMapping,
  [in]  PPRIVILEGE_SET       pPrivilegeSet,
  [in]  LPDWORD              pdwPrivilegeSetLength,
  [out] LPDWORD              pdwGrantedAccessMask,
  [out] LPBOOL               pbAccessStatus
);

パラメーター

[in] pSecurityDescriptor

オブジェクトへのアクセスがチェックされる SECURITY_DESCRIPTOR へのポインター。

[in] pPrincipalSelfSid

SID へのポインター。 セキュリティ記述子がプリンシパル (ユーザー オブジェクトなど) を表すオブジェクトに関連付けられている場合、このパラメーターは オブジェクトの SID である必要があります。 アクセスを評価する場合、この SID は、既知の PRINCIPAL_SELF SID ("S-1-5-10") を含む ACE 内の SID を論理的に置き換えます。 詳細については、「 セキュリティ識別子既知の SID」を参照してください。

保護されたオブジェクトがプリンシパルを表していない場合、このパラメーターは NULL にする必要があります。

[in] pRsopToken

オブジェクトへのアクセスを試みるクライアントを表す有効な RSOPTOKEN へのポインター。

[in] dwDesiredAccessMask

チェックへのアクセス権を示すアクセス マスクを指定します。 このマスクには、 汎用標準 、および特定のアクセス権の組み合わせを含めることができます。 詳細については、「 Access Rights and Access Masks」を参照してください。

[in] pObjectTypeList

アクセスをチェックするオブジェクト型の階層を識別するOBJECT_TYPE_LIST構造体の配列へのポインター。 配列内の各要素は、オブジェクトの種類を識別する GUID と、オブジェクト型の階層内のオブジェクト型のレベルを示す値を指定します。 配列には、同じ GUID を持つ 2 つの要素を含めてはいけません。

配列には少なくとも 1 つの要素が必要です。 配列の最初の要素はレベル 0 で、オブジェクト自体を識別する必要があります。 配列には、レベル 0 要素を 1 つだけ含めることができます。 2 番目の要素は、レベル 1 のプロパティ セットなどのサブオブジェクトです。 各レベル 1 エントリの後には、レベル 2 から 4 のサブオブジェクトの下位エントリがあります。 したがって、配列内の要素のレベルは{0、1、2、2、1、2、3}になります。 オブジェクトの種類の一覧が順不同の場合、RSoPAccessCheckByType は失敗し、GetLastError はERROR_INVALID_PARAMETERを返します。

[in] ObjectTypeListLength

pObjectTypeList 配列内の要素の数を指定します。

[in] pGenericMapping

アクセスがチェックされているオブジェクトに関連付けられている GENERIC_MAPPING 構造体へのポインター。

[in] pPrivilegeSet

このパラメーターは現在使用されていません。

[in] pdwPrivilegeSetLength

このパラメーターは現在使用されていません。

[out] pdwGrantedAccessMask

付与されたアクセス権を受け取るアクセス マスク へのポインター。

関数が成功すると、 pbAccessStatus パラメーターが TRUE に設定され、マスクが更新され、付与された標準権限と特定の権限が含まれます。 pbAccessStatusFALSE に設定されている場合、このパラメーターは 0 に設定されます。 関数が失敗した場合、マスクは変更されません。

[out] pbAccessStatus

アクセス チェックの結果を受け取る変数へのポインター。

関数が成功し、要求されたアクセス権のセットが付与された場合、このパラメーターは TRUE に設定されます。 それ以外の場合、このパラメーターは FALSE に設定されます。 関数が失敗した場合、状態は変更されません。

戻り値

関数が成功した場合、戻り値は S_OK。 それ以外の場合、この関数は、プラットフォーム SDK ヘッダー ファイル WinError.h で定義されている COM エラー コードのいずれかを返します。

注釈

RSoPAccessCheckByType 関数は、指定されたセキュリティ記述子と指定した RSOPTOKEN を比較し、pbAccessStatus パラメーターでアクセスが許可されるか拒否されるかを示します。

要件

要件
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー userenv.h
Library Userenv.lib
[DLL] Userenv.dll

こちらもご覧ください

グループ ポリシー関数

グループ ポリシーの概要

RSoPFileAccessCheck