Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Monitor Jaringan memanggil fungsi AttachProperties untuk memetakan properti yang ada dalam sepotong data yang dikenali. Fungsi AttachProperties memetakan properti ke lokasi tertentu.
Monitor Jaringan menggunakan proses berikut untuk mengurai data dalam bingkai.
- Pertama, Network Monitor memanggil RecognizeFrame untuk mengenali semua protokol yang ada dalam bingkai.
- Kemudian, Monitor Jaringan memanggil AttachProperties untuk setiap pengurai yang mengenali sepotong data.
Saat Monitor Jaringan memanggil fungsi AttachProperties untuk data yang dikenali, pengurai yang dipanggil harus mengurai data, kemudian memetakan setiap properti yang ada ke lokasi dalam data yang dikenali. Pengurai menentukan properti mana yang ada, dan di mana setiap properti berada dalam data. Gambar berikut menunjukkan data yang dikenali oleh parser.
Selama implementasi AttachProperties, Anda harus memanggil salah satu fungsi berikut untuk setiap properti yang ada dalam bingkai data.
- Panggil fungsiAttachPropertyInstanceEx saat Anda ingin mengubah data properti dalam bingkai.
- Panggil fungsiAttachPropertyInstance saat Anda tidak ingin mengubah data properti dalam bingkai.
Nota
Disarankan agar Anda menggunakan data seperti yang ada dalam tangkapan.
Prosedur berikut mengidentifikasi langkah-langkah yang diperlukan untuk menerapkan AttachProperties.
Untuk mengimplementasikan AttachProperties
- Tentukan properti mana yang ada, dan lokasi properti dalam data.
- Panggil AttachPropertyInstanceEx untuk setiap properti dengan nilai yang ingin Anda ubah.
- Panggil attachPropertyInstance untuk setiap properti dengan nilai yang tidak ingin Anda ubah. Biasanya, ini adalah satu-satunya fungsi yang perlu Anda panggil.
Berikut ini adalah implementasi dasar AttachProperties. Ketahuilah bahwa contoh tidak menyertakan kode untuk menentukan properti mana yang ada, atau kode untuk menemukan properti.
#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;
}