|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
ObjectPrivilegeAuditAlarm
The ObjectPrivilegeAuditAlarm function generates audit messages as a result of a client's attempt to perform a privileged operation on a server application object using an already opened handle of that object. Alarms are not supported in the current version of Windows NT.
BOOL ObjectPrivilegeAuditAlarm(
LPCTSTR SubsystemName, // pointer to string for subsystem name LPVOID HandleId, // pointer to handle identifier HANDLE ClientToken, // handle to client's access token DWORD DesiredAccess, // mask for desired access rights PPRIVILEGE_SET Privileges, // pointer to privileges BOOL AccessGranted // flag for results );
Parameters
SubsystemName
Points to a null-terminated string specifying the name of the subsystem calling the function; for example, "DEBUG" or "WIN32".
HandleId
Points to a unique 32-bit value representing the client's handle to the object.
ClientToken
Identifies an access token representing the client requesting the operation. This handle must be obtained by opening the token of a thread impersonating the client. The token must be open for TOKEN_QUERY access.
DesiredAccess
Specifies an access mask indicating the privileged access types being used or whose use is being attempted. The access mask can be mapped by the MapGenericMask function so it does not contain any generic access types.
Privileges
Points to a PRIVILEGE_SET structure specifying the set of privileges required for the requested operation. The information in this structure is supplied by a call to the PrivilegeCheck function. This parameter can be NULL.
AccessGranted
Specifies a flag indicating whether access was granted or denied in a previous call to an access-checking function such as PrivilegeCheck. If access was granted, this flag is TRUE. If not, it is FALSE.
Return Values
If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
The ObjectPrivilegeAuditAlarm function requires the calling process to have SE_AUDIT_NAME privilege. The test for this privilege is always performed against the primary token of the calling process, not the impersonation token of the thread. This allows the calling process to impersonate a client during the call. The ObjectPrivilegeAuditAlarm function can send many messages to port objects. This can result in a significant delay before the function returns. The design of applications calling ObjectPrivilegeAuditAlarm can take this potential delay into account. For example, this consideration may affect the design of an application using mutexes to lock structures.
See Also
AccessCheck, AccessCheckAndAuditAlarm, AreAllAccessesGranted, AreAnyAccessesGranted, MapGenericMask, ObjectCloseAuditAlarm, ObjectOpenAuditAlarm, PrivilegeCheck, PrivilegedServiceAuditAlarm, PRIVILEGE_SET
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
ObjectPrivilegeAuditAlarm
Функция ObjectPrivilegeAuditAlarm генерирует сообщения проверки в результате попытки клиента, чтобы выполнять привилегированную операцию на прикладном объекте сервера, использовавшем уже открытую ручку этого объекта. Тревоги не поддерживаны в текущей версии Windows NT.
BOOL ObjectPrivilegeAuditAlarm(
LPCTSTR SubsystemName, // УКАЗАТЕЛЬ, чтобы нанизываться для имени подсистемы LPVOID HandleId, // указателя, чтобы оперировать РУЧКУ идентификатора ClientToken, // ручки в признак доступа клиента DWORD DesiredAccess, // маски для желаемых прав Привилегий доступа PPRIVILEGE_SET, // указателя на флаг привилегий BOOL AccessGranted // для результатов );
Параметры
SubsystemName
Точки на недействительный расторгнутую строку, определяющие имя разговора подсистемы функция; например, "ОТЛАДКА" или "WIN32".
HandleId
Точки на уникальную 32- битовую величину, представляющие ручку клиента на объект.
ClientToken
Идентифицирует признак доступа представляя клиента, запрашивающего операцию. Эта ручка должна быть получена открытием признака резьбы, подражающей клиенту. Признак должен быть открытым для доступа TOKEN_QUERY.
DesiredAccess
Определяет маску доступа, указывающую привилегированные типы доступа, использованные или чье использование пытается. Маска доступа может быть отображена функцией MapGenericMask, так что она не содержит любые общие типы доступа.
Привилегии
Точки на структуру PRIVILEGE_SET, определяющие установку привилегий необходимую для запрошенной операции. Информация в этой структуре поставлена вызовом в функцию PrivilegeCheck. Этот параметр может быть НЕДЕЙСТВИТЕЛЕН.
AccessGranted
Определяет флаг указывая, что независимо доступу предоставили или был запрещен на предшествующем вызове в доступ-проверку функции как например, PrivilegeCheck. Если доступу предоставили бы, этот флаг является ИСТИНОЙ. Если нет, это ЛОЖНОЕ.
Обратные Величины
Если функция добивается успеха, обратная величина ненулевая. Если функция терпит неудачу, обратная величина нулевая. Для того, чтобы расширять информацию ошибки, вызовите GetLastError.
Замечания
Функция ObjectPrivilegeAuditAlarm требует разговор процесса, чтобы иметь привилегию SE_AUDIT_NAME. Тест для этой привилегии всегда выполнен против первичного признака разговора процесса, не признак маскировки резьбы. Это позволяет разговор процесса, чтобы подражать клиенту в течение вызова. Функция ObjectPrivilegeAuditAlarm может послать сообщений, чтобы переносить объекты. Это может закончиться значимой задержкой прежде, чем функция возвращается. Проект приложений, вызывающих ObjectPrivilegeAuditAlarm может взять эту потенциальную задержку на счет. Например, это соображение может повлиять на проект приложения, использовавшего mutexes, чтобы запирать структуры.
Смотри Также
AccessCheck, AccessCheckAndAuditAlarm, AreAllAccessesGranted, AreAnyAccessesGranted, MapGenericMask, ObjectCloseAuditAlarm, ObjectOpenAuditAlarm, PrivilegeCheck, PrivilegedServiceAuditAlarm, PRIVILEGE_SET
|
|
|
|
| |