Поделиться через


Функция 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

Возвращаемый код или значение Описание
ERROR_SUCCESS
0
Дескриптор безопасности успешно получен.
Код ошибки FWP_E_*
0x80320001 — 0x80320039
Ошибка, определяемая платформой фильтрации Windows (ПППП). Дополнительные сведения см. в разделе Коды ошибок МПП .
Код ошибки RPC_*
0x80010001 — 0x80010122
Сбой связи с удаленным или локальным обработчиком брандмауэра.

Комментарии

Возвращаемый параметр 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

См. также раздел

FwpmEngineSetSecurityInfo0