ObjectPrivilegeAuditAlarmA 函式 (winbase.h)

ObjectPrivilegeAuditAlarm函式會在安全性事件記錄檔中產生稽核訊息。 受保護的伺服器可以使用此函式來記錄用戶端對私用物件開啟控制碼的指定 許可權 集嘗試。 目前不支援警示。

語法

BOOL ObjectPrivilegeAuditAlarmA(
  [in] LPCSTR         SubsystemName,
  [in] LPVOID         HandleId,
  [in] HANDLE         ClientToken,
  [in] DWORD          DesiredAccess,
  [in] PPRIVILEGE_SET Privileges,
  [in] BOOL           AccessGranted
);

參數

[in] SubsystemName

指定呼叫函式之子系統名稱的 Null 終止字串指標。 此字串會出現在稽核訊息中。

[in] HandleId

唯一值的指標,表示用戶端對 物件的控制碼。

[in] ClientToken

識別 存取權杖 ,表示要求作業的用戶端。 必須藉由開啟模擬用戶端的執行緒權杖來取得此控制碼。 權杖必須開啟,才能TOKEN_QUERY存取。 函式會使用此權杖來取得稽核訊息之用戶端的身分識別。

[in] DesiredAccess

指定 存取遮罩 ,指出所使用的特殊許可權存取類型,或正在嘗試其使用。 MapGenericMask函式可以對應存取遮罩,因此它不包含任何泛型存取類型。

[in] Privileges

PRIVILEGE_SET結構的指標,其中包含用戶端嘗試使用的許可權。 許可權的名稱會出現在稽核訊息中。

[in] AccessGranted

指出用戶端嘗試使用許可權是否成功。 如果此值為 TRUE,稽核訊息會指出成功。 如果此值為 FALSE,稽核訊息會指出失敗。

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

ObjectPrivilegeAuditAlarm函式不會檢查用戶端對物件的存取權,或檢查用戶端的存取權杖,以判斷是否保留或啟用許可權。 一般而言,您會呼叫 PrivilegeCheck 函式來判斷是否在存取權杖中啟用指定的許可權、呼叫 AccessCheck 函式來檢查用戶端對物件的存取權,然後呼叫 ObjectPrivilegeAuditAlarm 來記錄結果。

ObjectPrivilegeAuditAlarm函式需要呼叫進程啟用SE_AUDIT_NAME許可權。 此許可權的測試一律會針對呼叫進程 的主要權杖 執行,而不是執行緒的 模擬權杖 。 這可讓呼叫進程在呼叫期間模擬用戶端。

規格需求

   
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 winbase.h (包含 Windows.h)
程式庫 Advapi32.lib
Dll Advapi32.dll

另請參閱

AccessCheck

AccessCheckAndAuditAlarm

用戶端/伺服器存取控制函式

用戶端/伺服器存取控制概觀

MapGenericMask

ObjectCloseAuditAlarm

ObjectOpenAuditAlarm

PRIVILEGE_SET

PrivilegeCheck

PrivilegedServiceAuditAlarm