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

返回代码/值 说明
ERROR_SUCCESS
0
已成功检索应用程序标识符。
FWP_E_* 错误代码
0x80320001— 0x80320039
Windows 筛选平台 (WFP) 特定错误。 有关详细信息 ,请参阅 WFP 错误代码
RPC_* 错误代码
0x80010001 — 0x80010122
无法与远程或本地防火墙引擎通信。

注解

调用方必须通过调用 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

另请参阅

FWP_BYTE_BLOB