Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Network Monitor ruft die AttachProperties-Funktion auf, um die Eigenschaften zuzuordnen, die in einem Teil erkannter Daten vorhanden sind. Die AttachProperties-Funktion ordnet die Eigenschaften einem bestimmten Standort zu.
Network Monitor verwendet den folgenden Prozess, um die Daten in einem Frame zu analysieren.
- Zunächst ruft Network Monitor RecognizeFrame auf, um alle Protokolle zu erkennen, die in einem Frame vorhanden sind.
- Anschließend ruft Network Monitor AttachProperties für jeden Parser auf, der ein Datenelement erkennt.
Wenn Network Monitor die AttachProperties-Funktion für die erkannten Daten aufruft, muss der aufgerufene Parser die Daten analysieren und dann jede vorhandene Eigenschaft einem Speicherort in den erkannten Daten zuordnen. Der Parser bestimmt, welche Eigenschaften vorhanden sind und wo sich die einzelnen Eigenschaften in den Daten befinden. Die folgende Abbildung zeigt vom Parser erkannte Daten.
Während der Implementierung von AttachProperties müssen Sie eine der folgenden Funktionen für jede Eigenschaft aufrufen, die in einem Datenrahmen vorhanden ist.
- Rufen Sie die AttachPropertyInstanceEx-Funktion auf, wenn Sie die Eigenschaftendaten in einem Frame ändern möchten.
- Rufen Sie die AttachPropertyInstance-Funktion auf, wenn Sie die Eigenschaftendaten in einem Frame nicht ändern möchten.
Hinweis
Es wird empfohlen, die Daten so zu verwenden, wie sie in der Erfassung vorhanden sind.
Im folgenden Verfahren werden die schritte beschrieben, die zum Implementieren von AttachProperties erforderlich sind.
So implementieren Sie AttachProperties
- Bestimmen Sie, welche Eigenschaften vorhanden sind, und den Speicherort der Eigenschaft in den Daten.
- Rufen Sie AttachPropertyInstanceEx für jede Eigenschaft mit einem Wert auf, den Sie ändern möchten.
- Rufen Sie AttachPropertyInstance für jede Eigenschaft mit einem Wert auf, den Sie nicht ändern möchten. In der Regel ist dies die einzige Funktion, die Sie aufrufen müssen.
Es folgt eine grundlegende Implementierung von AttachProperties. Beachten Sie, dass das Beispiel weder den Code zum Ermitteln der vorhandenen Eigenschaften noch den Code zum Suchen der Eigenschaften enthält.
#include <windows.h>
LPBYTE BHAPI MyProtocolAttachProperties( HFRAME hFrame,
LPBYTE pMacFrame,
LPBYTE pBLRPLATEFrame,
DWORD MacType,
DWORD BytesLeft,
HPROTOCOL hPreviousProtocol,
DWORD nPrevProtocolOffset,
DWORD InstData)
{
PBLRPLATEHDR pBLRPLATEHdr = (PBLRPLATEHDR)pBLRPLATEFrame;
// Attach summary property.
AttachPropertyInstance( hFrame,
BLRPLATEPropertyTable[BLRPLATE_SUMMARY].hProperty,
(WORD)BytesLeft,
(LPBYTE)pBLRPLATEFrame,
0, // No Help file.
0, // Indent level.
0); // Data flag.
// Attach signature property.
AttachPropertyInstance( hFrame,
BLRPLATEPropertyTable[BLRPLATE_SIGNATURE].hProperty,
sizeof(DWORD),
&(pBLRPLATEHdr->Signature),
0, // No Help file.
1, // Indent level.
0); // Data flag.
// Attach opcode.
AttachPropertyInstance( hFrame,
BLRPLATEPropertyTable[BLRPLATE_OPCODE].hProperty,
sizeof(WORD),
&(pBLRPLATEHdr->Opcode),
0, // No Help file.
1, // Indent level.
0); // Data flag.
// Attach flags summary.
AttachPropertyInstance( hFrame,
BLRPLATEPropertyTable[BLRPLATE_FLAGS_SUMMARY].hProperty,
sizeof(BYTE),
&(pBLRPLATEHdr->Flags),
0, // No Help file.
1, // Indent level.
0); // Data flag.
// Attach flags decode.
AttachPropertyInstance( hFrame,
BLRPLATEPropertyTable[BLRPLATE_FLAGS_FLAGS].hProperty,
sizeof(BYTE),
&(pBLRPLATEHdr->Flags),
0, // No Help file.
2, // Indent level.
0); // Data flag.
RETURN null;
}