#ifndef _NTAFD_H
#include <pshpack1.h>
// rev - a union for TLI/TDI socket addresses
typedef union _AFD_ADDRESS
{
SOCKADDR_STORAGE TliAddress;
TDI_ADDRESS_INFO TdiAddress;
struct
{
//
// TDI_ADDRESS_INFO includes an embedded socket address that starts at AddressType (which corresponds to sa_family).
//
// ---------------- | ------------------------- |
// | ULONG ActivityCount |
// | ------------------------- | --------------------- |
// | | ULONG TAAddressCount |
// | | --------------------- | ---------------------------- |
// | | | USHORT AddressLength |
// TDI_ADDRESS_INFO | TRANSPORT_ADDRESS Address | | ---------------------------- | ---------- | ---------------- |
// | | TA_ADDRESS Address[1] | USHORT AddressType | | USHORT sa_family |
// | | | ---------------------------- | SOCKADDR | ---------------- |
// | | | UCHAR Address[AddressLength] | (embedded) | ... |
// | | | ... | | |
// ---------------- | ------------------------- | --------------------- | ---------------------------- | ---------- | ---------------- |
//
UCHAR Padding[10]; // RTL_SIZEOF_THROUGH_FIELD(TDI_ADDRESS_INFO, Address.Address[0].AddressLength)
SOCKADDR_STORAGE EmbeddedAddress;
} TdiAddressUnpacked;
} AFD_ADDRESS, *PAFD_ADDRESS;
View code on GitHub
No description available.