объединение PKTMON_IP_ADDRESS (pktmondefk.h)

Структура PKTMON_IP_ADDRESS представляет IP-адрес в формате IPv4 или IPv6 для использования в операциях мониторинга пакетов. Эта структура предоставляет объединение, позволяющее интерпретировать то же пространство памяти как IPv4-адрес или IPv6-адрес, что позволяет эффективно хранить и гибкий доступ к данным IP-адресов при ведении журнала или фильтрации сетевых пакетов.

Синтаксис

typedef union _PKTMON_IP_ADDRESS {
  ULONG     IPv4;
  UCHAR     IPv4_bytes[PKTMON_IPV4_ADDRESS_SIZE];
  ULONGLONG IPv6[2];
  UCHAR     IPv6_bytes[PKTMON_IPV6_ADDRESS_SIZE];
} PKTMON_IP_ADDRESS;

Members

IPv4

Содержит IPv4-адрес в виде одного 32-разрядного значения. Это поле является частью объединения и совместно использует память с IPv4_bytes.

IPv4_bytes[PKTMON_IPV4_ADDRESS_SIZE]

Содержит IPv4-адрес в виде массива байтов. Это поле является частью объединения и совместно использует память с IPv4, предоставляя альтернативное представление байтов одного и того же ip-адреса.

IPv6[2]

Содержит IPv6-адрес в виде массива двух 64-разрядных значений. Это поле является частью объединения и совместно использует память с IPv6_bytes.

IPv6_bytes[PKTMON_IPV6_ADDRESS_SIZE]

Содержит IPv6-адрес в виде массива байтов. Это поле является частью объединения и совместно использует память с IPv6, предоставляя альтернативное представление байтов одного и того же ip-адреса IPv6.

Замечания

Эта структура обычно используется в составе структур сведений о заголовках пакетов для представления локальных и удаленных IP-адресов во время операций мониторинга пакетов. Конструкция объединения позволяет разработчикам получать доступ к данным IP-адресов в наиболее удобном формате для своего варианта использования — как целые значения, так и как массивы байтов.

Требования

Требование Ценность
Header pktmondefk.h

См. также