NetworkIsolationGetAppContainerConfig 함수(networkisolation.h)
NetworkIsolationGetAppContainerConfig 함수는 하나 이상의 앱 컨테이너에 대한 구성 정보를 검색하는 데 사용됩니다.
구문
DWORD NetworkIsolationGetAppContainerConfig(
[out] DWORD *pdwNumPublicAppCs,
[out] PSID_AND_ATTRIBUTES *appContainerSids
);
매개 변수
[out] pdwNumPublicAppCs
형식: DWORD*
appContainerSids 멤버의 앱 컨테이너 수입니다.
[out] appContainerSids
형식: PSID_AND_ATTRIBUTES*
루프백 트래픽을 보낼 수 있는 앱 컨테이너의 SID(보안 식별자)입니다. 디버깅 목적으로 사용됩니다.
반환 값
형식:DWORD
성공하면 ERROR_SUCCESS 반환하고, 그렇지 않으면 오류 값을 반환합니다.
설명
PSID_AND_ATTRIBUTES 구조와 연결된 메모리를 해제하는 것은 호출 프로그램의 책임입니다. 다음 코드 샘플에서는 이 함수를 호출하는 방법을 보여줍니다. FreeAppContainerConfig 함수는 연결된 모든 메모리를 해제하는 방법을 보여줍니다.
#include "stdafx.h"
#include <netfw.h>
typedef DWORD
(WINAPI *FN_NETWORKISOLATIONGETAPPCONTAINERCONFIG)(
_Out_ DWORD *pdwNumPublicAppCs,
_Outptr_result_buffer_(*pdwNumPublicAppCs) PSID_AND_ATTRIBUTES *appContainerSids
);
void
FreeAppContainerConfig(
__in DWORD sidCount,
__in_ecount(sidCount) SID_AND_ATTRIBUTES *srcSidAttrib
)
{
DWORD dwIndex = 0;
for (dwIndex = 0; dwIndex < sidCount; dwIndex++)
{
HeapFree(GetProcessHeap(), 0, srcSidAttrib[dwIndex].Sid);
}
HeapFree(GetProcessHeap(), 0, srcSidAttrib);
}
int _tmain(int argc, _TCHAR* argv[])
{
DWORD dwErr = 0;
PSID_AND_ATTRIBUTES appContainerSids = NULL;
DWORD dwCount = 0;
HMODULE hModule = NULL;
FN_NETWORKISOLATIONGETAPPCONTAINERCONFIG pfnNetworkIsolationGetAppContainerConfig = NULL;
hModule = LoadLibraryW(L"FirewallAPI.dll");
if (hModule == NULL)
{
dwErr = GetLastError();
goto Cleanup;
}
pfnNetworkIsolationGetAppContainerConfig = (FN_NETWORKISOLATIONGETAPPCONTAINERCONFIG)GetProcAddress(
hModule,
"NetworkIsolationGetAppContainerConfig"
);
if (pfnNetworkIsolationGetAppContainerConfig == NULL)
{
dwErr = GetLastError();
goto Cleanup;
}
dwErr = pfnNetworkIsolationGetAppContainerConfig(
&dwCount,
&appContainerSids
);
if (dwErr != ERROR_SUCCESS)
{
goto Cleanup;
}
// Process the app container sids
Cleanup:
FreeAppContainerConfig(
dwCount,
appContainerSids
);
if (hModule != NULL)
{
FreeLibrary(hModule);
}
return 0;
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | networkisolation.h(Netfw.h 포함) |
DLL | Firewallapi.dll |