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
검색할 보안 정보의 유형입니다.
[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
반환 코드/값 | 설명 |
---|---|
|
보안 설명자가 성공적으로 검색되었습니다. |
|
WFP(Windows 필터링 플랫폼) 관련 오류입니다. 자세한 내용은 WFP 오류 코드를 참조하세요. |
|
원격 또는 로컬 방화벽 엔진과 통신하지 못했습니다. |
설명
반환된 securityDescriptor 매개 변수는 FwpmFreeMemory0 호출을 통해 해제되어야 합니다. 나머지 4개(선택 사항) 반환 매개 변수는 securityDescriptor 매개 변수 내의 주소를 가리키므로 해제해서는 안 됩니다.
이 함수는 표준 Win32 GetSecurityInfo 함수처럼 동작합니다. 호출자에게 GetSecurityInfo 참조 항목에 설명된 것과 동일한 표준 액세스 권한이 필요합니다.
FwpmEngineGetSecurityInfo0 은 FwpmEngineGetSecurityInfo의 특정 구현입니다. 자세한 내용은 WFP 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 |
헤더 | fwpmu.h |
라이브러리 | Fwpuclnt.lib |
DLL | Fwpuclnt.dll |