Freigeben über


ObjectOpenAuditAlarmA-Funktion (winbase.h)

Die ObjectOpenAuditAlarm-Funktion generiert Überwachungsmeldungen, wenn eine Clientanwendung versucht, Zugriff auf ein Objekt zu erhalten oder ein neues objekt zu erstellen. Alarme werden derzeit nicht unterstützt.

Syntax

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
);

Parameter

[in] SubsystemName

Ein Zeiger auf eine NULL-beendete Zeichenfolge, die den Namen des Subsystems angibt, das die Funktion aufruft. Diese Zeichenfolge wird in jeder Überwachungsmeldung angezeigt, die von der Funktion generiert wird.

[in] HandleId

Ein Zeiger auf einen eindeutigen Wert, der das Handle des Clients auf das Objekt darstellt. Wenn der Zugriff verweigert wird, wird dieser Parameter ignoriert.

Für die plattformübergreifende Kompatibilität muss der von diesem Zeiger adressierte Wert sizeof(LPVOID)bytes long sein.

[in] ObjectTypeName

Ein Zeiger auf eine NULL-beendete Zeichenfolge, die den Typ des Objekts angibt, auf das der Client Zugriff anfordert. Diese Zeichenfolge wird in jeder Überwachungsmeldung angezeigt, die von der Funktion generiert wird.

[in, optional] ObjectName

Ein Zeiger auf eine null-beendete Zeichenfolge, die den Namen des Objekts angibt, auf das der Client Zugriff anfordert. Diese Zeichenfolge wird in jeder Überwachungsmeldung angezeigt, die von der Funktion generiert wird.

[in] pSecurityDescriptor

Ein Zeiger auf die SECURITY_DESCRIPTOR-Struktur für das Objekt, auf das zugegriffen wird.

[in] ClientToken

Gibt ein Zugriffstoken an , das den Client darstellt, der den Vorgang anfordert. Dieses Handle muss abgerufen werden, indem das Token eines Threads geöffnet wird, der die Identität des Clients angibt. Das Token muss für TOKEN_QUERY Zugriff geöffnet sein.

[in] DesiredAccess

Gibt die gewünschte Zugriffsmaske an. Diese Maske muss zuvor von der MapGenericMask-Funktion zugeordnet worden sein, um keine generischen Zugriffsrechte zu enthalten.

[in] GrantedAccess

Gibt eine Zugriffsmaske an, die angibt, welche Zugriffsrechte gewährt werden. Diese Zugriffsmaske soll derselbe Wert sein, der von einer der Zugriffsüberprüfungsfunktionen im GrantedAccess-Parameter festgelegt wird. Beispiele für Zugriffsüberprüfungsfunktionen sind AccessCheckAndAuditAlarm und AccessCheck.

[in, optional] Privileges

Ein Zeiger auf eine PRIVILEGE_SET-Struktur , die den Satz von Berechtigungen angibt, die für den Zugriffsversuch erforderlich sind. Dieser Parameter kann NULL sein.

[in] ObjectCreation

Gibt ein Flag an, das bestimmt, ob die Anwendung ein neues Objekt erstellt, wenn der Zugriff gewährt wird. Wenn dieser Wert TRUE ist, erstellt die Anwendung ein neues Objekt. wenn es FALSE ist, öffnet die Anwendung ein vorhandenes Objekt.

[in] AccessGranted

Gibt ein Flag an, das angibt, ob der Zugriff in einem vorherigen Aufruf einer Zugriffsüberprüfungsfunktion wie AccessCheck gewährt oder verweigert wurde. Wenn der Zugriff gewährt wurde, ist dieser Wert TRUE. Andernfalls ist es FALSE.

[out] GenerateOnClose

Ein Zeiger auf ein Flag, das von der Überwachungsgenerierungsroutine festgelegt wird, wenn die Funktion zurückgibt. Dieser Wert muss an die ObjectCloseAuditAlarm-Funktion übergeben werden, wenn das Objekthandle geschlossen wird.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Die ObjectOpenAuditAlarm-Funktion erfordert, dass die aufrufende Anwendung die berechtigung SE_AUDIT_NAME aktiviert hat. Der Test für diese Berechtigung wird immer für das primäre Token des aufrufenden Prozesses durchgeführt, nicht für das Identitätswechseltoken des Threads. Dadurch kann der aufrufende Prozess während des Anrufs die Identität eines Clients annehmen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winbase.h (einschließlich Windows.h)
Bibliothek Advapi32.lib
DLL Advapi32.dll

Weitere Informationen

AccessCheck

AccessCheckAndAuditAlarm

AreAllAccessesGranted

AreAnyAccessesGranted

Client/Server-Access Control

Client-/Server-Access Control-Funktionen

MapGenericMask

ObjectCloseAuditAlarm

ObjectDeleteAuditAlarm

ObjectPrivilegeAuditAlarm

PRIVILEGE_SET

PrivilegeCheck

PrivilegedServiceAuditAlarm

SECURITY_DESCRIPTOR