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 memuat tangkapan dari file tangkapan, lalu mulai memanggil fungsi Register untuk semua protokol yang dapat diidentifikasi. Setiap DLL pengurai harus menerapkan fungsi Register untuk setiap protokol yang didukung DLL pengurai.
Setiap implementasi fungsi Register harus memanggil fungsi CreatePropertyDatabase dan AddProperty untuk membuat dan mengisi database properti untuk protokol, lalu CreateHandoffTable untuk membuat tabel handoff untuk protokol — jika diperlukan.
Nota
Properti protokol didefinisikan untuk Monitor Jaringan. Properti tidak dipetakan ke lokasi dalam data tangkapan hingga fungsi ekspor AttachProperties dipanggil.
Prosedur berikut mengidentifikasi langkah-langkah yang diperlukan untuk mengimplementasikan fungsi Register .
Untuk menerapkan Registrasi untuk satu protokol
- Tentukan array struktur PROPERTYINFO untuk menjelaskan setiap properti yang didukung protokol.
- Panggil CreatePropertyDatabase untuk menyediakan pengendali protokol, dan jumlah properti yang didukung protokol.
- Panggil AddProperty dalam perulangan untuk menambahkan setiap properti yang ditentukan dalam struktur array PROPERTYINFO .
- Jika protokol menggunakan tabel handoff, panggil CreateHandoffTable— setelah semua properti protokol ditambahkan ke database properti.
Berikut ini adalah implementasi dasar Register. Perhatikan bahwa database properti dibuat untuk protokol yang hanya mendukung dua properti. Contoh kode ini diambil dari pengurai generik yang disediakan Network Monitor.
#include <windows.h>
PROPERTYINFO MyProtocolPropertyTable[]
{
// Summary property (0)
{
0, // Handle to property.
0, // Reserved.
"Summary", // Property label.
"Summary of protocol packet", // Property comment.
PROP_TYPE_SUMMARY, // Data type of property.
PROP_QUAL_NONE, // Data type qualifier.
NULL, // Reserved.
80, //
FormatPropertyInstance //
}
// WORD property (1)
{
0, // Handle to property.
0, // Reserved.
"WORD property", // Property label.
"16-bit WORD property", // Property comment.
PROP_TYPE_WORD, // Data type of property.
PROP_QUAL_NONE, // Data type qualifier.
NULL, // Reserved.
80, //
FormatPropertyInstance //
}
}
void BHAPI MyProtocolRegister( HPPROTOCOL hProtocol)
{
// Create property database.
DWORD dwNumberOfProperties = 2;
CreatePropertyDatabase (hProtocol,
dwNumberOfProperties
);
// Add properties to database.
WORD i;
for( i=0; i< dwNumberOfProperties; i++)
{
AddProperty(hProtocol, &MyProtocolPropertyTable[i]);
}
// Create handoff table.
CreateHandoffTable("myProtocolHandoffTable",
"myProtocol.ini",
hTable,
MaxEntries,
10 // Handoff set values are base 10.
)
}