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 |