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.
Fungsi ekspor RecognizeFrame menunjukkan apakah sepotong data dikenali sebagai protokol yang dideteksi pengurai. Fungsi ekspor RecognizeFrame harus diimplementasikan untuk setiap parser yang didukung DLL pengurai.
Sintaks
LPBYTE RecognizeFrame(
_In_ HFRAME hFrame,
_In_ LPBYTE lpFrame,
_In_ LPBYTE lpProtocol,
_In_ DWORD MacType,
_In_ DWORD BytesLeft,
_In_ HPROTOCOL hPreviousProtocol,
_In_ DWORD nPreviousProtocolOffset,
_Out_ LPDWORD ProtocolStatusCode,
_Out_ LPHPROTOCOL phNextProtocol,
_Inout_ PDWORD_PTR lpInstData
);
Parameter
-
hFrame [in]
-
Tangani ke bingkai yang berisi data.
-
lpFrame [in]
-
Penunjuk ke byte pertama bingkai. Penunjuk menyediakan cara untuk melihat data yang dikenali pengurai lain.
-
lpProtocol [in]
-
Arahkan ke awal data yang tidak diklaim. Biasanya, data yang tidak diklaim terletak di tengah bingkai karena pengurai sebelumnya telah mengklaim data sebelum pengurai ini. Pengurai harus menguji data yang tidak diklaim terlebih dahulu.
-
MacType [in]
-
Nilai MAC dari protokol pertama dalam bingkai. Biasanya, nilai MacType digunakan saat pengurai harus mengidentifikasi protokol pertama dalam bingkai. Nilai MacType dapat berupa salah satu hal berikut ini:
Nilai Makna - MAC_TYPE_ETHERNET
802.3 - MAC_TYPE_TOKENRING
802.5 - MAC_TYPE_FDDI
ANSI X3T9.5 -
BytesLeft [in]
-
Jumlah byte yang tersisa dari lokasi dalam bingkai ke akhir bingkai.
-
hPreviousProtocol [in]
-
Menangani protokol sebelumnya.
-
nPreviousProtocolOffset [in]
-
Offset dari protokol sebelumnya yang dimulai dari bingkai.
-
ProtocolStatusCode [out]
-
Indikator status protokol. DLL pengurai harus mengatur salah satu kode status berikut.
Nilai Makna - PROTOCOL_STATUS_RECOGNIZED
Pengurai mengenali data tetapi tidak tahu protokol mana yang mengikuti. Setelah mengatur kode, kembalikan pointer ke data sisa yang belum diklaim yang mengikuti protokol yang dikenali. Monitor Jaringan menggunakan set protokol berikut untuk terus mengurai. - PROTOCOL_STATUS_NOT_RECOGNIZED
Pengurai tidak mengenali data. Setelah mengatur kode ini, kembalikan penunjuk ke awal data menggunakan penunjuk yang diteruskan parameter lpProtocol ke DLL pengurai. Monitor Jaringan menggunakan set berikut dari protokol sebelumnya untuk terus mengurai. - PROTOCOL_STATUS_CLAIMED
Pengurai mengenali data dan mengklaim data yang tersisa. Setelah mengatur kode, kembalikan NULL untuk Monitor Jaringan untuk mengakhiri penguraian bingkai. - PROTOCOL_STATUS_NEXT_PROTOCOL
Pengurai mengenali data dan mengetahui protokol mana yang mengikuti. Setelah mengatur kode, atur parameter phNextProtocol , dan kembalikan pointer ke sisa data yang belum diklaim yang mengikuti protokol yang dikenali. Monitor Jaringan terus mengurai bingkai. -
phNextProtocol [out]
-
Arahkan ke handel protokol berikutnya. Parameter ini diatur ketika protokol mengidentifikasi protokol yang mengikuti protokol. Untuk mendapatkan handel protokol berikutnya, panggil fungsi GetProtocolFromTable .
-
lpInstData [masuk, keluar]
-
Pada input, pointer ke data instans dari protokol sebelumnya.
Pada output, pointer ke data instans untuk protokol saat ini. Data instans tidak boleh lebih panjang dari DWORD_PTR panjangnya.
Menampilkan nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah penunjuk ke byte pertama setelah data pengurai yang dikenali. Jika pengurai mengklaim semua data yang tersisa, nilai yang dikembalikan adalah NULL.
Jika fungsi tidak berhasil, nilai yang dikembalikan adalah pointer awal yang diteruskan parameter lpProtocol .
Keterangan
Fungsi RecognizeFrame menentukan apakah pengurai mengenali data mentah yang dimulai dari pointer lpProtocol .
- Jika protokol mengenali data, fungsi RecognizeFrame mengembalikan penunjuk ke data yang tersisa, atau mengembalikan NULL jika protokol saat ini adalah protokol terakhir dalam bingkai.
- Jika protokol tidak mengenali data, fungsi RecognizeFrame mengembalikan pointer yang diteruskan ke DLL pengurai dalam parameter lpProtocol .
Catatan
RecognizeFrame dapat dipanggil sebelum fungsi Register dipanggil untuk mendaftarkan properti protokol. Untuk alasan itu, implementasi fungsi RecognizeFrame tidak bergantung pada properti atau struktur apa pun yang dibuat atau diinisialisasi selama implementasi protokol fungsi Register .
Set Handoff dan Ikuti Set
Pengurai dapat menggunakan set handoff atau mengikuti yang diatur untuk mengidentifikasi Network Monitor protokol yang mengikuti data yang dikenali.
- Jika informasi tersedia dalam data yang dikenali, pengurai menggunakan set handoff-nya untuk mendapatkan handel ke protokol berikutnya, lalu meneruskan handel tersebut ke Monitor Jaringan.
- Jika informasi tidak tersedia, pengurai tidak melewati handel, dan Monitor Jaringan menggunakan pengurai mengikuti yang diatur untuk menentukan protokol mana yang mengikuti.
Meneruskan informasi antar protokol
Gunakan parameter lpInstData untuk meneruskan informasi antar protokol. Pada input, Anda dapat mengambil informasi dari protokol sebelumnya. Pada output, Anda dapat meneruskan informasi ke protokol berikutnya.
Data instans dapat berupa data apa pun yang kurang dari atau sama dengan panjang DWORD_PTR, atau penunjuk ke data, seperti data bingkai mentah, yang tidak perlu dialokasikan oleh atau dibebaskan oleh pengurai.
| Untuk Informasi tentang | Lihat |
|---|---|
| Apa itu pengurai, dan cara kerjanya dengan Monitor Jaringan. | Parser |
| Titik masuk mana yang disertakan dalam DLL pengurai. | Arsitektur DLL Parser |
| Cara mengimplementasikan RecognizeFrame menyertakan contoh. | Menerapkan RecognizeFrame |
| Cara menentukan set handoff dan mengikuti set. |
Menentukan Set HandoffYang Menentukan Kumpulan Ikuti |
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Klien minimum yang didukung |
Windows 2000 Professional [hanya aplikasi desktop] |
| Server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
| Header |
|