共用方式為


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

傳回碼/值 Description
ERROR_SUCCESS
0
已成功擷取應用程式標識碼。
FWP_E_* 錯誤碼
0x80320001— 0x80320039
Windows 篩選平臺 () 特定錯誤。 如需詳細數據,請參閱 一併參閱其錯誤碼
RPC_* 錯誤碼
0x80010001— 0x80010122
無法與遠端或本機防火牆引擎通訊。

備註

呼叫端必須透過呼叫 FwpmFreeMemory0 釋放傳回的物件。

FwpmGetAppIdFromFileName0 是 FwpmGetAppIdFromFileName 的特定實作。 如需詳細資訊 ,請參閱 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
程式庫 Fwpuclnt.lib
Dll Fwpuclnt.dll

另請參閱

FWP_BYTE_BLOB