共用方式為


ExpertGetFrame 函式

ExpertGetFrame函式會從載入的擷取傳回要求的框架。

語法

DWORD WINAPI ExpertGetFrame(
  _In_  HEXPERTKEY              hExpertKey,
  _In_  DWORD                   Direction,
  _In_  DWORD                   RequestFlags,
  _In_  DWORD                   RequestedFrameNumber,
  _In_  HFILTER                 hFilter,
  _Out_ LPEXPERTFRAMEDESCRIPTOR pEFrameDescriptor
);

參數

hExpertKey [in]

唯一專家識別碼。 網路監視器會在呼叫Run函式時,將hExpertKey識別碼傳遞給專家。

方向 [in]

值,識別網路監視器搜尋框架的方式。

意義
GET_SPECIFIED_FRAME
傳回要求的框架。
GET_FRAME_NEXT_FORWARD
傳回下一個框架。
GET_FRAME_NEXT_BACKWARD
傳回上一個框架。

RequestFlags [in]

指定網路監視器如何處理要求的旗標。 指定下列一或多個旗標。

意義
FLAGS_DEFER_TO_UI_FILTER
在套用 hFilter中所指定專家的顯示篩選參數之前,請先套用網路監視器在專家啟動時所使用的顯示篩選。
FLAGS_ATTACH_PROPERTIES
所有通訊協定剖析器都以此框架宣告區段尋找的屬性會附加至框架。 如果未設定旗標,pEFrameDescript) or所傳回之 EXPERTFRAMEDESCRIPTOR (結構的lpPropertyTable欄位會設定為Null

RequestedFrameNumber [in]

要求框架的數目。

hFilter [in]

專家顯示篩選的控制碼。 如果專家沒有顯示篩選準則,請將 參數設定為 Null

pEFrameDescriptor [out]

傳回的 EXPERTFRAMEDESCRIPTOR結構描述框架。 專家必須配置並釋放這個結構所使用的記憶體。

傳回值

如果函式成功,傳回值會NMERR_SUCCESS。

如果函式失敗,傳回值會指出失敗的原因。 如果傳回值NMERR_EXPERT_TERMINATE,專家必須立即清除並傳回;使用者已中止專家執行。

備註

如果您設定FLAGS_ATTACH_PROPERTIES,則呼叫需要比未設定旗標更多的資源。 如果未設定旗標,指標會指向原始框架和框架的相關資料。 如果設定此旗標,網路監視器會呼叫宣告框架部分的每個剖析器,將所有屬性附加至框架。 這可以是緩慢的程式。

除非專家需要剖析器附加至框架的屬性,否則專家不應該設定FLAGS_ATTACH_PROPERTIES旗標。 可能的話,專家應該在沒有旗標的情況下呼叫 ExpertGetFrame 函式,然後直接從框架擷取所需的資料。

如果專家在沒有FLAGS_ATTACH_PROPERTIES旗標的情況下呼叫 ExpertGetFrame ,而且需要與該框架相關聯的屬性 (事件,例如) ,專家會呼叫 ExpertGetFrame ,但下列參數除外:

Direction = EXPERT_GET_SPECIFIED_FRAME;
RequestFlags &= (~EXPERT_DEFER_TO_UI_FILTER) | EXPERT_ATTACH_PROPERTIES;
RequestedFrameNumber= (The actual frame number you want);
hFilter = NULL;
pEFrameDescriptor = (The same one as last time);

使用上述程式碼可確保專家取得必要的框架,而不需要再次呼叫篩選程式代碼。

您可以將 hFilter 參數設定為 LPVOID。 如果存在,則傳回的框架會傳遞此篩選。 如果專家沒有要傳遞至函式的顯示篩選, (如果 hFilterNull ) ,則不會篩選傳回的框架。

ExpertGetFrame函式只能由實作執行設定匯出函式的專家呼叫。

規格需求

需求
最低支援的用戶端
Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
標頭
Netmon.h
程式庫
Nmapi.lib
DLL
Nmapi.dll