Поделиться через


Функция обратного вызова AttachProperties

Функция экспорта AttachProperties сопоставляет свойства с расположением в фрагменте распознаваемых данных. Свойства attachProperties должны быть реализованы для каждого средства синтаксического анализа, который поддерживает библиотека DLL средства синтаксического анализа.

Синтаксис

DWORD AttachProperties(
  _In_ HFRAME    hFrame,
  _In_ LPBYTE    lpFrame,
  _In_ LPBYTE    lpProtocol,
  _In_ DWORD     MacType,
  _In_ DWORD     BytesLeft,
  _In_ HPROTOCOL hPreviousProtocol,
  _In_ DWORD     nPreviousProtocolOffset,
  _In_ DWORD     lpInstData
);

Параметры

hFrame [in]

Дескриптор анализируемого кадра.

lpFrame [in]

Указатель на первый байт в кадре.

lpProtocol [in]

Указатель на начало распознаваемых данных.

MacType [in]

Значение MAC первого протокола в кадре. Тип MacType может быть одним из следующих:

Значение Значение
MAC_TYPE_ETHERNET
802.3
MAC_TYPE_TOKENRING
802.5
MAC_TYPE_FDDI
ANSI X3T9.5

BytesLeft [in]

Оставшееся количество байтов в кадре, начиная с начала распознаваемых данных.

hPreviousProtocol [in]

Дескриптор предыдущего протокола.

nPreviousProtocolOffset [in]

Смещение предыдущего протокола, начиная с начала кадра.

lpInstData [in]

Указатель на данные экземпляра, которые предоставляет предыдущий протокол. Длина данных экземпляра не может превышать DWORD_PTR.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение представляет собой указатель на первый байт после распознаваемых данных в кадре или значение NULL , если распознанные данные являются последним элементом данных в кадре.

Если функция завершается неудачно, возвращаемое значение является указателем на распознанные данные. Параметр lpProtocol передает указатель на библиотеку DLL средства синтаксического анализа.

Комментарии

Монитор сети вызывает функцию AttachProperties для каждого средства синтаксического анализа, который распознает фрагмент данных в кадре. Обратите внимание, что средство синтаксического анализа определяет, какие свойства существуют в распознаваемых данных и где находится каждое свойство.

Во время реализации AttachProperties вызовите AttachPropertyInstance , чтобы использовать данные, которые существуют в записи. Вы также можете вызвать функцию AttachPropertyInstanceEx , чтобы изменить данные свойства. Тем не менее рекомендуется использовать данные, как они существуют в записи.

Функции AttachPropertyInstanceEx и AttachPropertyInstance вызываются только для свойств, которые существуют в распознаваемых данных. Обратите внимание, что в сетевом мониторе есть база данных свойств для средства синтаксического анализа, содержащая описание всех свойств, поддерживаемых анализатором.

Данные экземпляров

Данные экземпляра — это сведения, передаваемые из одного средства синтаксического анализа в другое. Данные экземпляра могут быть любыми данными, которые меньше или равны длине DWORD_PTR, или указателем на данные, такие как необработанные данные кадра, которые не нужно выделять или освобождать с помощью средства синтаксического анализа. В параметре lpInstData функций AttachProperties и RecognizeFrame сетевой монитор предоставляет указатель на данные экземпляра предыдущего протокола. Вы можете задать данные экземпляра для средства синтаксического анализа во время реализации RecognizeFrame.

Для получения информации о См.
Что такое средства синтаксического анализа и как они работают с сетевым монитором. Средства синтаксического анализа
Какие точки входа включены в библиотеку DLL средства синтаксического анализа. Архитектура dll средства синтаксического анализа
Распознавание данных. Реализация RecognizeFrame
Создание базы данных свойств. Реализация регистра
Пример реализации AttachProperties . Реализация attachProperties

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Netmon.h

См. также раздел

AttachPropertyInstance

AttachPropertyInstanceEx

RecognizeFrame