Funzione ExpertGetFrame

La funzione ExpertGetFrame restituisce il frame richiesto da un'acquisizione caricata.

Sintassi

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

Parametri

hExpertKey [in]

Identificatore univoco dell'esperto. Monitoraggio di rete passa l'identificatore hExpertKey all'esperto quando chiama la funzione Run .

Direzione [in]

Valore che identifica il modo in cui Monitoraggio di rete cerca il frame.

Valore Significato
GET_SPECIFIED_FRAME
Restituisce il frame richiesto.
GET_FRAME_NEXT_FORWARD
Restituisce il frame successivo.
GET_FRAME_NEXT_BACKWARD
Restituisce il frame precedente.

RequestFlags [in]

Flag che specificano la modalità di gestione della richiesta da parte di Monitoraggio di rete. Specificare uno o più flag seguenti.

Valore Significato
FLAGS_DEFER_TO_UI_FILTER
Prima di applicare il parametro del filtro di visualizzazione dell'esperto specificato in hFilter, applicare il filtro di visualizzazione usato da Monitoraggio di rete all'avvio dell'esperto.
FLAGS_ATTACH_PROPERTIES
Le proprietà trovate da tutti i parser di protocollo con le sezioni richieste di questo frame sono associate al frame. Se il flag non è impostato, il campo lpPropertyTable della struttura EXPERTFRAMEDESCRIPTOR (restituito da pEFrameDescriptor) verrà impostato su NULL.

RequestedFrameNumber [in]

Numero del frame richiesto.

hFilter [in]

Handle per il filtro di visualizzazione esperto. Se l'esperto non dispone di un filtro di visualizzazione, impostare il parametro su NULL.

pEFrameDescriptor [out]

La struttura EXPERTFRAMEDESCRIPTOR che, al ritorno, descrive il frame. L'esperto deve allocare e liberare la memoria usata da questa struttura.

Valore restituito

Se la funzione ha esito positivo, il valore restituito viene NMERR_SUCCESS.

Se la funzione ha esito negativo, il valore restituito indica il motivo dell'errore. Se il valore restituito è NMERR_EXPERT_TERMINATE, l'esperto deve immediatamente pulire e restituire; l'utente ha interrotto l'esecuzione dell'esperto.

Commenti

Se si imposta FLAGS_ATTACH_PROPERTIES, la chiamata richiede più risorse rispetto a se non si imposta il flag. Se il flag non è impostato, un puntatore punta al frame non elaborato e ai dati relativi al frame. Se questo flag è impostato, Monitoraggio di rete collega tutte le proprietà al frame chiamando ogni parser che richiede una parte del frame. Questo può essere un processo lento.

Gli esperti non devono impostare il flag FLAGS_ATTACH_PROPERTIES a meno che gli esperti non richiedano le proprietà che i parser collegano al frame. Se possibile, gli esperti devono chiamare la funzione ExpertGetFrame senza il flag e quindi estrarre i dati necessari direttamente dal frame.

Se l'esperto chiama ExpertGetFrame senza il flag FLAGS_ATTACH_PROPERTIES e richiede le proprietà associate a tale frame (ad esempio, un evento), l'esperto chiama ExpertGetFrame con gli stessi parametri, ad eccezione dei seguenti:

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);

L'uso del codice precedente garantisce che l'esperto ottenga il frame richiesto senza dover chiamare di nuovo il codice di filtro.

È possibile impostare il parametro hFilter come LPVOID. Se esistente, il frame restituito passa questo filtro. Se l'esperto non dispone di un filtro di visualizzazione da passare alla funzione (se hFilter è NULL ), il frame restituito non viene filtrato.

La funzione ExpertGetFrame può essere chiamata solo da esperti che implementano la funzione Run o Configure export.

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Intestazione
Netmon.h
Libreria
Nmapi.lib
DLL
Nmapi.dll