Функция FwpmEngineGetSecurityInfo0 (fwpmu.h)
Функция FwpmEngineGetSecurityInfo0 извлекает копию дескриптора безопасности для подсистемы фильтров.
Синтаксис
DWORD FwpmEngineGetSecurityInfo0(
[in] HANDLE engineHandle,
[in] SECURITY_INFORMATION securityInfo,
[out, optional] PSID *sidOwner,
[out, optional] PSID *sidGroup,
[out, optional] PACL *dacl,
[out, optional] PACL *sacl,
[out] PSECURITY_DESCRIPTOR *securityDescriptor
);
Параметры
[in] engineHandle
Тип: HANDLE
Дескриптор открытого сеанса в обработчике фильтров. Вызовите FwpmEngineOpen0 , чтобы открыть сеанс для подсистемы фильтрации.
[in] securityInfo
Тип: SECURITY_INFORMATION
Тип извлекаемых сведений о безопасности.
[out, optional] sidOwner
Тип: PSID*
Идентификатор безопасности владельца (SID) в возвращенном дескрипторе безопасности.
[out, optional] sidGroup
Тип: PSID*
Идентификатор безопасности основной группы (SID) в возвращенном дескрипторе безопасности.
[out, optional] dacl
Тип: PACL*
Список управления доступом на уровне пользователей (DACL) в возвращенном дескрипторе безопасности.
[out, optional] sacl
Тип: PACL*
Системный список управления доступом (SACL) в возвращенном дескрипторе безопасности.
[out] securityDescriptor
Тип: PSECURITY_DESCRIPTOR*
Возвращенный дескриптор безопасности.
Возвращаемое значение
Тип: DWORD
Возвращаемый код или значение | Описание |
---|---|
|
Дескриптор безопасности успешно получен. |
|
Ошибка, определяемая платформой фильтрации Windows (ПППП). Дополнительные сведения см. в разделе Коды ошибок МПП . |
|
Сбой связи с удаленным или локальным обработчиком брандмауэра. |
Комментарии
Возвращаемый параметр securityDescriptor должен быть освобожден с помощью вызова FwpmFreeMemory0. Остальные четыре (необязательные) возвращаемые параметры не должны быть освобождены, так как они указывают на адреса в параметре securityDescriptor .
Эта функция работает как стандартная функция Win32 GetSecurityInfo . Вызывающему объекту требуются те же стандартные права доступа, как описано в справочном разделе GetSecurityInfo .
FwpmEngineGetSecurityInfo0 — это конкретная реализация FwpmEngineGetSecurityInfo. Дополнительные сведения см. в разделах Имена Version-Independent и Выбор конкретных версий Windows .
Примеры
В следующем примере C++ показана инициализация объекта дескриптора безопасности с помощью FwpmEngineGetSecurityInfo0.
#include <windows.h>
#include <fwpmu.h>
#include <stdio.h>
#pragma comment(lib, "Fwpuclnt.lib")
void main()
{
HANDLE engineHandle = NULL;
DWORD result = ERROR_SUCCESS;
PSECURITY_DESCRIPTOR securityDescriptor;
SECURITY_INFORMATION securityInfo = OWNER_SECURITY_INFORMATION;
// Several functions that use the SECURITY_DESCRIPTOR structure require that this
// structure be aligned on a valid pointer boundary in memory. These boundaries
// vary depending on the type of processor used.
securityDescriptor = (PSECURITY_DESCRIPTOR) malloc(sizeof(SECURITY_DESCRIPTOR));
result = FwpmEngineOpen0( NULL, RPC_C_AUTHN_WINNT, NULL, NULL, &engineHandle );
if (result != ERROR_SUCCESS)
{
printf("FwpmEngineOpen0 failed.\n");
return;
}
result = FwpmEngineGetSecurityInfo0(
engineHandle,
securityInfo,
NULL,
NULL,
NULL,
NULL,
&securityDescriptor);
if (result != ERROR_SUCCESS)
{
printf("FwpmEngineGetSecurityInfo0 failed.\n");
return;
}
return;
}
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | fwpmu.h |
Библиотека | Fwpuclnt.lib |
DLL | Fwpuclnt.dll |