GetOwnerModuleFromUdpEntry 函式 (iphlpapi.h)
GetOwnerModuleFromUdpEntry 函式會擷取針對 MIB 數據表數據列中特定 IPv4 UDP 端點發出內容系結之模組的相關數據。
語法
IPHLPAPI_DLL_LINKAGE DWORD GetOwnerModuleFromUdpEntry(
[in] PMIB_UDPROW_OWNER_MODULE pUdpEntry,
[in] TCPIP_OWNER_MODULE_INFO_CLASS Class,
[out] PVOID pBuffer,
[in, out] PDWORD pdwSize
);
參數
[in] pUdpEntry
MIB_UDPROW_OWNER_MODULE 結構的指標,其中包含用來取得擁有者模組的 IPv4 UDP 端點專案。
[in] Class
TCPIP_OWNER_MODULE_INFO_CLASS列舉值,指出要取得的擁有者模組相關數據類型。
[out] pBuffer
緩衝區,包含具有擁有者模組數據的 TCPIP_OWNER_MODULE_BASIC_INFO 結構。 此緩衝區中傳回的數據型別是由 Class 參數的值表示。
當 Class 設定為對應的值時,下列結構會用於 Buffer 中的數據。
類別 列舉值 | 緩衝區 數據格式 |
---|---|
TCPIP_OWNER_MODULE_BASIC_INFO | TCPIP_OWNER_MODULE_BASIC_INFO |
[in, out] pdwSize
Buffer 中傳回之結構的估計大小,以位元組為單位。 如果此值設定太小, 則此 函式會傳回ERROR_INSUFFICIENT_BUFFER,而且此欄位將包含正確的結構大小。
傳回值
如果呼叫成功,則會傳回 NO_ERROR 值。 否則會傳回下列錯誤。
傳回碼 | Description |
---|---|
|
為數據表配置的空間不足。 數據表的大小會在 pdwSize 參數中傳回,而且必須在後續呼叫此函式時使用,才能成功擷取數據表。 |
備註
Buffer 參數不僅包含具有特定數據指標的結構,例如,包含擁有者模組名稱和路徑之零終止字串的指標,也包含實際數據本身;,也就是名稱和路徑字串。 因此,在計算緩衝區大小時,請確定您有足夠的空間可供結構以及結構成員所指向的數據。
將 UDP 資料表專案解析為擁有者模組是最佳做法。 在少數情況下, TCPIP_OWNER_MODULE_BASIC_INFO 結構中傳回的擁有者模組名稱可以是進程名稱,例如 「svchost.exe」、服務名稱,例如 “RPC” 或元件名稱,例如 「timer.dll」。。
對於在 Windows Vista 或更新版本上執行的電腦,存取 TCPIP_OWNER_MODULE_BASIC_INFO 結構的 pModuleName 和 pModulePath 成員會受限於使用者帳戶控制 (UAC) 。 如果呼叫此函式的應用程式是由使用者以系統管理員群組的成員身分登入,但此呼叫會成功,但存取這些成員會傳回空字串,除非應用程式已在指令清單檔案中標示 requestedExecutionLevel 設定為 requireAdministrator。 如果 Windows Vista 或更新版本上的應用程式缺少此指令清單檔案,則以系統管理員群組成員身分登入的使用者必須接著在增強殼層中執行應用程式,因為內建系統管理員 (RunAs 系統管理員) ,才能存取受保護的 pModuleName 和 pModulePath 成員。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista、Windows XP SP2 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008、Windows Server 2003 SP1 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | iphlpapi.h |
程式庫 | Iphlpapi.lib |
Dll | Iphlpapi.dll |