FwpmGetAppIdFromFileName0 函数 (fwpmu.h)
FwpmGetAppIdFromFileName0 函数从文件名中检索应用程序标识符。
语法
DWORD FwpmGetAppIdFromFileName0(
[in] PCWSTR fileName,
[out] FWP_BYTE_BLOB **appId
);
参数
[in] fileName
类型: const wchar_t*
将从中检索应用程序标识符的文件名。
[out] appId
类型: FWP_BYTE_BLOB**
检索到的应用程序标识符。
返回值
类型:DWORD
返回代码/值 | 说明 |
---|---|
|
已成功检索应用程序标识符。 |
|
Windows 筛选平台 (WFP) 特定错误。 有关详细信息 ,请参阅 WFP 错误代码 。 |
|
无法与远程或本地防火墙引擎通信。 |
注解
调用方必须通过调用 FwpmFreeMemory0 来释放返回的对象。
FwpmGetAppIdFromFileName0 是 FwpmGetAppIdFromFileName 的特定实现。 有关详细信息 ,请参阅 WFP Version-Independent 名称和面向特定版本的 Windows 。
示例
以下 C++ 示例演示如何使用 FwpmGetAppIdFromFileName0 检索应用程序标识符。
#include <windows.h>
#include <fwpmu.h>
#include <stdio.h>
#pragma comment(lib, "Fwpuclnt.lib")
// Hard-coded file name for demonstration purposes.
#define FILE_PATH1 L"C:\\Program Files\\SomeAppFolder\\SomeApplication.exe"
int main()
{
DWORD result = ERROR_SUCCESS;
FWP_BYTE_BLOB *fwpApplicationByteBlob = NULL;
printf("Retrieving Id for application to allow through firewall.\n");
result = FwpmGetAppIdFromFileName0(FILE_PATH1, &fwpApplicationByteBlob);
if (result != ERROR_SUCCESS)
{
printf("FwpmGetAppIdFromFileName failed (%d).\n", result);
return result;
}
else
{
printf("The Id is: %d\n", fwpApplicationByteBlob->data);
}
return 0;
}
// ----------------------------------------------------------------------
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | fwpmu.h |
Library | Fwpuclnt.lib |
DLL | Fwpuclnt.dll |