ObjectOpenAuditAlarmA 函式 (winbase.h)
當用戶端應用程式嘗試取得物件的存取權或建立新的物件時, ObjectOpenAuditAlarm 函式會產生稽核訊息。 目前不支援警示。
語法
BOOL ObjectOpenAuditAlarmA(
[in] LPCSTR SubsystemName,
[in] LPVOID HandleId,
[in] LPSTR ObjectTypeName,
[in, optional] LPSTR ObjectName,
[in] PSECURITY_DESCRIPTOR pSecurityDescriptor,
[in] HANDLE ClientToken,
[in] DWORD DesiredAccess,
[in] DWORD GrantedAccess,
[in, optional] PPRIVILEGE_SET Privileges,
[in] BOOL ObjectCreation,
[in] BOOL AccessGranted,
[out] LPBOOL GenerateOnClose
);
參數
[in] SubsystemName
指定呼叫函式之子系統名稱的 Null 終止字串指標。 此字串會出現在函式產生的任何稽核訊息中。
[in] HandleId
唯一值的指標,表示客戶端對 物件的句柄。 如果拒絕存取,則會忽略此參數。
為了跨平臺相容性,此指標所尋址的值必須是long (LPVOID) 位元組大小。
[in] ObjectTypeName
以 Null 終止之字串的指標,指定用戶端要求存取的物件類型。 此字串會出現在函式產生的任何稽核訊息中。
[in, optional] ObjectName
指定用戶端要求存取之物件名稱之 Null 終止字串的指標。 此字串會出現在函式產生的任何稽核訊息中。
[in] pSecurityDescriptor
所存取物件的 SECURITY_DESCRIPTOR 結構的指標。
[in] ClientToken
識別 存取令牌 ,表示要求作業的用戶端。 您必須開啟模擬用戶端之線程的令牌,以取得此句柄。 令牌必須開啟,才能TOKEN_QUERY存取。
[in] DesiredAccess
指定所需的 存取遮罩。 MapGenericMask 函式先前必須對應此遮罩,才能不包含泛型訪問許可權。
[in] GrantedAccess
指定 存取遮罩 ,指出授與哪些訪問許可權。 此存取掩碼是要與其 GrantedAccess 參數中的其中一個存取檢查函式所設定的值相同。 存取檢查函式的範例包括 AccessCheckAndAuditAlarm 和 AccessCheck。
[in, optional] Privileges
PRIVILEGE_SET 結構的指標,指定存取嘗試所需的一組許可權。 此參數可以是 Null。
[in] ObjectCreation
指定旗標,這個旗標會決定應用程式是否在授與存取權時建立新的物件。 當此值為 TRUE時,應用程式會建立新的物件;當它是 FALSE 時,應用程式會開啟現有的物件。
[in] AccessGranted
指定旗標,指出先前對 Access-checking 函式的呼叫是否授與或拒絕存取權,例如 AccessCheck。 如果已授與存取權,則此值為 TRUE。 如果沒有,則為 FALSE。
[out] GenerateOnClose
函式傳回時,稽核產生例程所設定旗標的指標。 關閉物件句柄時,此值必須傳遞至 ObjectCloseAuditAlarm 函 式。
傳回值
如果函式成功,則傳回非零的值。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
ObjectOpenAuditAlarm 函式需要呼叫的應用程式啟用SE_AUDIT_NAME許可權。 此許可權的測試一律會針對呼叫進程的主要令牌執行,而不是線程的模擬令牌。 這可讓呼叫進程在呼叫期間模擬用戶端。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winbase.h (包含 Windows.h) |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |