次の方法で共有


AccessCheckAndAuditAlarmA 関数 (winbase.h)

AccessCheckAndAuditAlarm 関数は、セキュリティ記述子が、呼び出し元スレッドによって偽装されているクライアントに対して、指定されたアクセス権のセットを許可するかどうかを決定します。 セキュリティ記述子に、クライアントに適用される ACE を含む SACL がある場合、この関数は必要な監査メッセージをセキュリティ イベント ログに生成します。

アラームは現在サポートされていません。

構文

BOOL AccessCheckAndAuditAlarmA(
  [in]           LPCSTR               SubsystemName,
  [in, optional] LPVOID               HandleId,
  [in]           LPSTR                ObjectTypeName,
  [in, optional] LPSTR                ObjectName,
  [in]           PSECURITY_DESCRIPTOR SecurityDescriptor,
  [in]           DWORD                DesiredAccess,
  [in]           PGENERIC_MAPPING     GenericMapping,
  [in]           BOOL                 ObjectCreation,
  [out]          LPDWORD              GrantedAccess,
  [out]          LPBOOL               AccessStatus,
  [out]          LPBOOL               pfGenerateOnClose
);

パラメーター

[in] SubsystemName

関数を呼び出すサブシステムの名前を指定する null で終わる文字列へのポインター。 この文字列は、関数が生成するすべての監査メッセージに表示されます。

[in, optional] HandleId

オブジェクトへのクライアントのハンドルを表す一意の値へのポインター。 アクセスが拒否された場合、システムはこの値を無視します。

[in] ObjectTypeName

作成またはアクセスされるオブジェクトの種類を指定する null で終わる文字列へのポインター。 この文字列は、関数が生成するすべての監査メッセージに表示されます。

[in, optional] ObjectName

作成またはアクセスされるオブジェクトの名前を指定する null で終わる文字列へのポインター。 この文字列は、関数が生成するすべての監査メッセージに表示されます。

[in] SecurityDescriptor

アクセスがチェックされる SECURITY_DESCRIPTOR 構造体へのポインター。

[in] DesiredAccess

チェックへのアクセス権を指定するアクセス マスク。 このマスクは、汎用アクセス権を含まない MapGenericMask 関数によってマップされている必要があります。

このパラメーターがMAXIMUM_ALLOWED場合、この関数は、セキュリティ記述子がクライアントに許可する最大アクセス権を示す GrantedAccess アクセス マスクを設定します。

[in] GenericMapping

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

[in] ObjectCreation

アクセスが許可されたときに、呼び出し元のアプリケーションが新しいオブジェクトを作成するかどうかを決定するフラグを指定します。 TRUE の値は、アプリケーションが新しいオブジェクトを作成することを示します。 FALSE の値は、アプリケーションが既存のオブジェクトを開くのを示します。

[out] GrantedAccess

付与されたアクセス権を受け取るアクセス マスク へのポインター。 AccessStatusFALSE に設定されている場合、関数はアクセス マスクを 0 に設定します。 関数が失敗した場合、アクセス マスクは設定されません。

[out] AccessStatus

アクセス チェックの結果を受け取る変数へのポインター。 セキュリティ記述子でクライアントに対する要求されたアクセス権が許可されている場合、 AccessStatusTRUE に設定されます。 それ以外の場合、 AccessStatusFALSE に設定されます。

[out] pfGenerateOnClose

関数が戻るときに監査生成ルーチンによって設定されたフラグへのポインター。 オブジェクト ハンドルが閉じられると、このフラグを ObjectCloseAuditAlarm 関数に渡します。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

詳細については、「 AccessCheck のしくみ の概要」を参照してください。

AccessCheckAndAuditAlarm 関数では、呼び出し元プロセスでSE_AUDIT_NAME特権を有効にする必要があります。 この特権のテストは、スレッドの偽装 トークン ではなく、呼び出し元プロセスのプライマリ トークン に対して実行されます。

呼び出し元のスレッドがクライアントを偽装していない場合、 AccessCheckAndAuditAlarm 関数は失敗します。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー winbase.h (Windows.h を含む)
Library Advapi32.lib
[DLL] Advapi32.dll

関連項目

AccessCheck

クライアント/サーバー Access Control

クライアント/サーバー Access Control関数

GENERIC_MAPPING

AccessCheck のしくみ

MakeAbsoluteSD

MapGenericMask

ObjectCloseAuditAlarm

ObjectOpenAuditAlarm

ObjectPrivilegeAuditAlarm

PrivilegeCheck

PrivilegedServiceAuditAlarm

SECURITY_DESCRIPTOR