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
接收授與存取權限之 存取遮罩 的指標。 如果 AccessStatus 設定為 FALSE,函式會將存取遮罩設定為零。 如果函式失敗,則不會設定存取遮罩。
[out] AccessStatus
接收存取檢查結果的變數指標。 如果安全性描述項允許對用戶端的要求存取權限, 則 AccessStatus 會設定為 TRUE。 否則, AccessStatus 會設定為 FALSE。
[out] pfGenerateOnClose
函式傳回時,稽核產生常式所設定旗標的指標。 關閉物件控制碼時,將此旗標傳遞至 ObjectCloseAuditAlarm 函 式。
傳回值
如果函式成功,則傳回非零的值。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
如需詳細資訊,請參閱 AccessCheck 的運作方式 概觀。
AccessCheckAndAuditAlarm函式需要呼叫進程啟用SE_AUDIT_NAME許可權。 此許可權的測試會針對呼叫進程 的主要權杖 執行,而不是執行緒的 模擬權杖 。
如果呼叫的執行緒未模擬用戶端, AccessCheckAndAuditAlarm 函 式就會失敗。
規格需求
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winbase.h (包含 Windows.h) |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |