次の方法で共有


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 フィルタリング プラットフォーム (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