NetworkIsolationGetAppContainerConfig 関数 (networkisolation.h)
NetworkIsolationGetAppContainerConfig 関数は、1 つ以上のアプリ コンテナーに関する構成情報を取得するために使用されます。
構文
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 |