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 |
---|---|
|
已成功擷取應用程式標識碼。 |
|
Windows 篩選平臺 () 特定錯誤。 如需詳細數據,請參閱 一併參閱其錯誤碼 。 |
|
無法與遠端或本機防火牆引擎通訊。 |
備註
呼叫端必須透過呼叫 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 |