|  | /** | 
|  | * This file is part of the mingw-w64 runtime package. | 
|  | * No warranty is given; refer to the file DISCLAIMER within this package. | 
|  | */ | 
|  |  | 
|  | #ifndef _NTDDNDIS_ | 
|  | #define _NTDDNDIS_ | 
|  |  | 
|  | #include <winapifamily.h> | 
|  |  | 
|  | #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | #ifndef NDIS_SUPPORT_NDIS6 | 
|  | #if defined (UM_NDIS60) || defined (UM_NDIS61) || defined (UM_NDIS620) || defined (UM_NDIS630) | 
|  | #define NDIS_SUPPORT_NDIS6 1 | 
|  | #else | 
|  | #define NDIS_SUPPORT_NDIS6 0 | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6 | 
|  | #include <ifdef.h> | 
|  | #include <devpkey.h> | 
|  | #include <pciprop.h> | 
|  | #endif | 
|  |  | 
|  | #ifndef NDIS_SUPPORT_NDIS61 | 
|  | #if defined (UM_NDIS61) || defined (UM_NDIS620) || defined (UM_NDIS630) | 
|  | #define NDIS_SUPPORT_NDIS61 1 | 
|  | #else | 
|  | #define NDIS_SUPPORT_NDIS61 0 | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #ifndef NDIS_SUPPORT_NDIS620 | 
|  | #if defined (UM_NDIS620) || defined (UM_NDIS630) | 
|  | #define NDIS_SUPPORT_NDIS620 1 | 
|  | #else | 
|  | #define NDIS_SUPPORT_NDIS620 0 | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #ifndef NDIS_SUPPORT_NDIS630 | 
|  | #ifdef UM_NDIS630 | 
|  | #define NDIS_SUPPORT_NDIS630 1 | 
|  | #else | 
|  | #define NDIS_SUPPORT_NDIS630 0 | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #define DD_NDIS_DEVICE_NAME "\\Device\\UNKNOWN" | 
|  |  | 
|  | #define _NDIS_CONTROL_CODE(request, method) CTL_CODE (FILE_DEVICE_PHYSICAL_NETCARD, request, method, FILE_ANY_ACCESS) | 
|  |  | 
|  | #define IOCTL_NDIS_QUERY_GLOBAL_STATS _NDIS_CONTROL_CODE (0, METHOD_OUT_DIRECT) | 
|  | #define IOCTL_NDIS_QUERY_ALL_STATS _NDIS_CONTROL_CODE (1, METHOD_OUT_DIRECT) | 
|  | #define IOCTL_NDIS_DO_PNP_OPERATION _NDIS_CONTROL_CODE (2, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_QUERY_SELECTED_STATS _NDIS_CONTROL_CODE (3, METHOD_OUT_DIRECT) | 
|  | #define IOCTL_NDIS_ENUMERATE_INTERFACES _NDIS_CONTROL_CODE (4, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_ADD_TDI_DEVICE _NDIS_CONTROL_CODE (5, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_GET_LOG_DATA _NDIS_CONTROL_CODE (7, METHOD_OUT_DIRECT) | 
|  | #define IOCTL_NDIS_GET_VERSION _NDIS_CONTROL_CODE (8, METHOD_BUFFERED) | 
|  |  | 
|  | #define IOCTL_NDIS_RESERVED1 _NDIS_CONTROL_CODE (9, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED2 _NDIS_CONTROL_CODE (0xa, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED3 _NDIS_CONTROL_CODE (0xb, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED4 _NDIS_CONTROL_CODE (0xc, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED5 CTL_CODE (FILE_DEVICE_PHYSICAL_NETCARD, 0xd, METHOD_BUFFERED, FILE_ANY_ACCESS) | 
|  | #define IOCTL_NDIS_RESERVED6 CTL_CODE (FILE_DEVICE_PHYSICAL_NETCARD, 0xe, METHOD_BUFFERED, FILE_WRITE_ACCESS) | 
|  | #define IOCTL_NDIS_RESERVED7 _NDIS_CONTROL_CODE (0xf, METHOD_OUT_DIRECT) | 
|  | #define IOCTL_NDIS_RESERVED8 _NDIS_CONTROL_CODE (0x10, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED9 _NDIS_CONTROL_CODE (0x11, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED10 _NDIS_CONTROL_CODE (0x12, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED11 _NDIS_CONTROL_CODE (0x13, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED12 _NDIS_CONTROL_CODE (0x14, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED13 _NDIS_CONTROL_CODE (0x15, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED14 _NDIS_CONTROL_CODE (0x16, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED15 _NDIS_CONTROL_CODE (0x17, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED16 _NDIS_CONTROL_CODE (0x18, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED17 _NDIS_CONTROL_CODE (0x19, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED18 _NDIS_CONTROL_CODE (0x1a, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED19 _NDIS_CONTROL_CODE (0x1b, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED20 _NDIS_CONTROL_CODE (0x1c, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED21 _NDIS_CONTROL_CODE (0x1d, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED22 _NDIS_CONTROL_CODE (0x1e, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED23 _NDIS_CONTROL_CODE (0x1f, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED24 _NDIS_CONTROL_CODE (0x20, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED25 _NDIS_CONTROL_CODE (0x21, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED26 _NDIS_CONTROL_CODE (0x22, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED27 _NDIS_CONTROL_CODE (0x23, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED28 _NDIS_CONTROL_CODE (0x24, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED29 _NDIS_CONTROL_CODE (0x25, METHOD_BUFFERED) | 
|  | #define IOCTL_NDIS_RESERVED30 _NDIS_CONTROL_CODE (0x26, METHOD_BUFFERED) | 
|  |  | 
|  | typedef ULONG NDIS_OID, *PNDIS_OID; | 
|  | typedef struct _NDIS_STATISTICS_VALUE { | 
|  | NDIS_OID Oid; | 
|  | ULONG DataLength; | 
|  | UCHAR Data[1]; | 
|  | } NDIS_STATISTICS_VALUE; | 
|  |  | 
|  | typedef NDIS_STATISTICS_VALUE UNALIGNED *PNDIS_STATISTICS_VALUE; | 
|  |  | 
|  | #if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6 | 
|  | typedef struct _NDIS_STATISTICS_VALUE_EX { | 
|  | NDIS_OID Oid; | 
|  | ULONG DataLength; | 
|  | ULONG Length; | 
|  | UCHAR Data[1]; | 
|  | } NDIS_STATISTICS_VALUE_EX; | 
|  |  | 
|  | typedef NDIS_STATISTICS_VALUE_EX UNALIGNED *PNDIS_STATISTICS_VALUE_EX; | 
|  | #endif | 
|  |  | 
|  | typedef struct _NDIS_VAR_DATA_DESC { | 
|  | USHORT Length; | 
|  | USHORT MaximumLength; | 
|  | ULONG_PTR Offset; | 
|  | } NDIS_VAR_DATA_DESC, *PNDIS_VAR_DATA_DESC; | 
|  |  | 
|  | #ifndef GUID_DEFINED | 
|  | #include <guiddef.h> | 
|  | #endif | 
|  |  | 
|  | #define NDIS_OBJECT_TYPE_DEFAULT 0x80 | 
|  | #define NDIS_OBJECT_TYPE_MINIPORT_INIT_PARAMETERS 0x81 | 
|  | #define NDIS_OBJECT_TYPE_SG_DMA_DESCRIPTION 0x83 | 
|  | #define NDIS_OBJECT_TYPE_MINIPORT_INTERRUPT 0x84 | 
|  | #define NDIS_OBJECT_TYPE_DEVICE_OBJECT_ATTRIBUTES 0x85 | 
|  | #define NDIS_OBJECT_TYPE_BIND_PARAMETERS 0x86 | 
|  | #define NDIS_OBJECT_TYPE_OPEN_PARAMETERS 0x87 | 
|  | #define NDIS_OBJECT_TYPE_RSS_CAPABILITIES 0x88 | 
|  | #define NDIS_OBJECT_TYPE_RSS_PARAMETERS 0x89 | 
|  | #define NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS 0x8a | 
|  | #define NDIS_OBJECT_TYPE_FILTER_DRIVER_CHARACTERISTICS 0x8b | 
|  | #define NDIS_OBJECT_TYPE_FILTER_PARTIAL_CHARACTERISTICS 0x8c | 
|  | #define NDIS_OBJECT_TYPE_FILTER_ATTRIBUTES 0x8d | 
|  | #define NDIS_OBJECT_TYPE_CLIENT_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS 0x8e | 
|  | #define NDIS_OBJECT_TYPE_PROVIDER_CHIMNEY_OFFLOAD_GENERIC_CHARACTERISTICS 0x8f | 
|  | #define NDIS_OBJECT_TYPE_CO_PROTOCOL_CHARACTERISTICS 0x90 | 
|  | #define NDIS_OBJECT_TYPE_CO_MINIPORT_CHARACTERISTICS 0x91 | 
|  | #define NDIS_OBJECT_TYPE_MINIPORT_PNP_CHARACTERISTICS 0x92 | 
|  | #define NDIS_OBJECT_TYPE_CLIENT_CHIMNEY_OFFLOAD_CHARACTERISTICS 0x93 | 
|  | #define NDIS_OBJECT_TYPE_PROVIDER_CHIMNEY_OFFLOAD_CHARACTERISTICS 0x94 | 
|  | #define NDIS_OBJECT_TYPE_PROTOCOL_DRIVER_CHARACTERISTICS 0x95 | 
|  | #define NDIS_OBJECT_TYPE_REQUEST_EX 0x96 | 
|  | #define NDIS_OBJECT_TYPE_OID_REQUEST 0x96 | 
|  | #define NDIS_OBJECT_TYPE_TIMER_CHARACTERISTICS 0x97 | 
|  | #define NDIS_OBJECT_TYPE_STATUS_INDICATION 0x98 | 
|  | #define NDIS_OBJECT_TYPE_FILTER_ATTACH_PARAMETERS 0x99 | 
|  | #define NDIS_OBJECT_TYPE_FILTER_PAUSE_PARAMETERS 0x9a | 
|  | #define NDIS_OBJECT_TYPE_FILTER_RESTART_PARAMETERS 0x9b | 
|  | #define NDIS_OBJECT_TYPE_PORT_CHARACTERISTICS 0x9c | 
|  | #define NDIS_OBJECT_TYPE_PORT_STATE 0x9d | 
|  | #define NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES 0x9e | 
|  | #define NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES 0x9f | 
|  | #define NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES 0xa0 | 
|  | #define NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_NATIVE_802_11_ATTRIBUTES 0xa1 | 
|  | #define NDIS_OBJECT_TYPE_RESTART_GENERAL_ATTRIBUTES 0xa2 | 
|  | #define NDIS_OBJECT_TYPE_PROTOCOL_RESTART_PARAMETERS 0xa3 | 
|  | #define NDIS_OBJECT_TYPE_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES 0xa4 | 
|  | #define NDIS_OBJECT_TYPE_CO_CALL_MANAGER_OPTIONAL_HANDLERS 0xa5 | 
|  | #define NDIS_OBJECT_TYPE_CO_CLIENT_OPTIONAL_HANDLERS 0xa6 | 
|  | #define NDIS_OBJECT_TYPE_OFFLOAD 0xa7 | 
|  | #define NDIS_OBJECT_TYPE_OFFLOAD_ENCAPSULATION 0xa8 | 
|  | #define NDIS_OBJECT_TYPE_CONFIGURATION_OBJECT 0xa9 | 
|  | #define NDIS_OBJECT_TYPE_DRIVER_WRAPPER_OBJECT 0xaa | 
|  | #if NDIS_SUPPORT_NDIS61 | 
|  | #define NDIS_OBJECT_TYPE_HD_SPLIT_ATTRIBUTES 0xab | 
|  | #endif | 
|  | #define NDIS_OBJECT_TYPE_NSI_NETWORK_RW_STRUCT 0xac | 
|  | #define NDIS_OBJECT_TYPE_NSI_COMPARTMENT_RW_STRUCT 0xad | 
|  | #define NDIS_OBJECT_TYPE_NSI_INTERFACE_PERSIST_RW_STRUCT 0xae | 
|  | #if NDIS_SUPPORT_NDIS61 | 
|  | #define NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 0xaf | 
|  | #endif | 
|  | #if NDIS_SUPPORT_NDIS620 | 
|  | #define NDIS_OBJECT_TYPE_SHARED_MEMORY_PROVIDER_CHARACTERISTICS 0xb0 | 
|  | #define NDIS_OBJECT_TYPE_RSS_PROCESSOR_INFO 0xb1 | 
|  | #endif | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_OBJECT_TYPE_NDK_PROVIDER_CHARACTERISTICS 0xb2 | 
|  | #define NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_NDK_ATTRIBUTES 0xb3 | 
|  | #define NDIS_OBJECT_TYPE_MINIPORT_SS_CHARACTERISTICS 0xb4 | 
|  | #define NDIS_OBJECT_TYPE_QOS_CAPABILITIES 0xb5 | 
|  | #define NDIS_OBJECT_TYPE_QOS_PARAMETERS 0xb6 | 
|  | #define NDIS_OBJECT_TYPE_QOS_CLASSIFICATION_ELEMENT 0xb7 | 
|  | #define NDIS_OBJECT_TYPE_SWITCH_OPTIONAL_HANDLERS 0xb8 | 
|  | #define NDIS_OBJECT_TYPE_IOCTL_OID_INFO 0xb9 | 
|  | #define NDIS_OBJECT_TYPE_LBFO_DIAGNOSTIC_OID 0xba | 
|  | #endif | 
|  |  | 
|  | typedef struct _NDIS_OBJECT_HEADER { | 
|  | UCHAR Type; | 
|  | UCHAR Revision; | 
|  | USHORT Size; | 
|  | } NDIS_OBJECT_HEADER, *PNDIS_OBJECT_HEADER; | 
|  |  | 
|  | typedef enum _NDIS_REQUEST_TYPE { | 
|  | NdisRequestQueryInformation, | 
|  | NdisRequestSetInformation, | 
|  | NdisRequestQueryStatistics, | 
|  | NdisRequestOpen, | 
|  | NdisRequestClose, | 
|  | NdisRequestSend, | 
|  | NdisRequestTransferData, | 
|  | NdisRequestReset, | 
|  | NdisRequestGeneric1, | 
|  | NdisRequestGeneric2, | 
|  | NdisRequestGeneric3, | 
|  | NdisRequestGeneric4 | 
|  | #if NDIS_SUPPORT_NDIS6 | 
|  | , NdisRequestMethod | 
|  | #endif | 
|  | } NDIS_REQUEST_TYPE, *PNDIS_REQUEST_TYPE; | 
|  |  | 
|  | #define NDIS_OBJECT_REVISION_1 1 | 
|  |  | 
|  | #if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6 | 
|  | #define NDIS_STATISTICS_FLAGS_VALID_DIRECTED_FRAMES_RCV 0x00000001 | 
|  | #define NDIS_STATISTICS_FLAGS_VALID_MULTICAST_FRAMES_RCV 0x00000002 | 
|  | #define NDIS_STATISTICS_FLAGS_VALID_BROADCAST_FRAMES_RCV 0x00000004 | 
|  | #define NDIS_STATISTICS_FLAGS_VALID_BYTES_RCV 0x00000008 | 
|  | #define NDIS_STATISTICS_FLAGS_VALID_RCV_DISCARDS 0x00000010 | 
|  | #define NDIS_STATISTICS_FLAGS_VALID_RCV_ERROR 0x00000020 | 
|  | #define NDIS_STATISTICS_FLAGS_VALID_DIRECTED_FRAMES_XMIT 0x00000040 | 
|  | #define NDIS_STATISTICS_FLAGS_VALID_MULTICAST_FRAMES_XMIT 0x00000080 | 
|  | #define NDIS_STATISTICS_FLAGS_VALID_BROADCAST_FRAMES_XMIT 0x00000100 | 
|  | #define NDIS_STATISTICS_FLAGS_VALID_BYTES_XMIT 0x00000200 | 
|  | #define NDIS_STATISTICS_FLAGS_VALID_XMIT_ERROR 0x00000400 | 
|  | #define NDIS_STATISTICS_FLAGS_VALID_XMIT_DISCARDS 0x00008000 | 
|  | #define NDIS_STATISTICS_FLAGS_VALID_DIRECTED_BYTES_RCV 0x00010000 | 
|  | #define NDIS_STATISTICS_FLAGS_VALID_MULTICAST_BYTES_RCV 0x00020000 | 
|  | #define NDIS_STATISTICS_FLAGS_VALID_BROADCAST_BYTES_RCV 0x00040000 | 
|  | #define NDIS_STATISTICS_FLAGS_VALID_DIRECTED_BYTES_XMIT 0x00080000 | 
|  | #define NDIS_STATISTICS_FLAGS_VALID_MULTICAST_BYTES_XMIT 0x00100000 | 
|  | #define NDIS_STATISTICS_FLAGS_VALID_BROADCAST_BYTES_XMIT 0x00200000 | 
|  |  | 
|  | #define NDIS_INTERRUPT_MODERATION_CHANGE_NEEDS_RESET 0x00000001 | 
|  | #define NDIS_INTERRUPT_MODERATION_CHANGE_NEEDS_REINITIALIZE 0x00000002 | 
|  |  | 
|  | #define NDIS_STATISTICS_INFO_REVISION_1 1 | 
|  | #define NDIS_INTERRUPT_MODERATION_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_TIMEOUT_DPC_REQUEST_CAPABILITIES_REVISION_1 1 | 
|  | #define NDIS_OBJECT_TYPE_PCI_DEVICE_CUSTOM_PROPERTIES_REVISION_1 1 | 
|  | #if NTDDI_VERSION >= 0x06010000 || NDIS_SUPPORT_NDIS620 | 
|  | #define NDIS_OBJECT_TYPE_PCI_DEVICE_CUSTOM_PROPERTIES_REVISION_2 2 | 
|  | #endif | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_RSC_STATISTICS_REVISION_1 1 | 
|  | #endif | 
|  |  | 
|  | #define NDIS_SIZEOF_STATISTICS_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_STATISTICS_INFO, ifHCOutBroadcastOctets) | 
|  | #define NDIS_SIZEOF_INTERRUPT_MODERATION_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_INTERRUPT_MODERATION_PARAMETERS, InterruptModeration) | 
|  | #define NDIS_SIZEOF_TIMEOUT_DPC_REQUEST_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_TIMEOUT_DPC_REQUEST_CAPABILITIES, TimeoutArray) | 
|  | #define NDIS_SIZEOF_PCI_DEVICE_CUSTOM_PROPERTIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PCI_DEVICE_CUSTOM_PROPERTIES, MaxLinkWidth) | 
|  | #if NTDDI_VERSION >= 0x06010000 || NDIS_SUPPORT_NDIS620 | 
|  | #define NDIS_SIZEOF_PCI_DEVICE_CUSTOM_PROPERTIES_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_PCI_DEVICE_CUSTOM_PROPERTIES, MaxInterruptMessages) | 
|  | #endif | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_SIZEOF_RSC_STATISTICS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RSC_STATISTICS_INFO, Aborts) | 
|  | #endif | 
|  |  | 
|  | typedef struct _NDIS_STATISTICS_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG SupportedStatistics; | 
|  | ULONG64 ifInDiscards; | 
|  | ULONG64 ifInErrors; | 
|  | ULONG64 ifHCInOctets; | 
|  | ULONG64 ifHCInUcastPkts; | 
|  | ULONG64 ifHCInMulticastPkts; | 
|  | ULONG64 ifHCInBroadcastPkts; | 
|  | ULONG64 ifHCOutOctets; | 
|  | ULONG64 ifHCOutUcastPkts; | 
|  | ULONG64 ifHCOutMulticastPkts; | 
|  | ULONG64 ifHCOutBroadcastPkts; | 
|  | ULONG64 ifOutErrors; | 
|  | ULONG64 ifOutDiscards; | 
|  | ULONG64 ifHCInUcastOctets; | 
|  | ULONG64 ifHCInMulticastOctets; | 
|  | ULONG64 ifHCInBroadcastOctets; | 
|  | ULONG64 ifHCOutUcastOctets; | 
|  | ULONG64 ifHCOutMulticastOctets; | 
|  | ULONG64 ifHCOutBroadcastOctets; | 
|  | } NDIS_STATISTICS_INFO, *PNDIS_STATISTICS_INFO; | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | typedef struct _NDIS_RSC_STATISTICS_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG64 CoalescedPkts; | 
|  | ULONG64 CoalescedOctets; | 
|  | ULONG64 CoalesceEvents; | 
|  | ULONG64 Aborts; | 
|  | } NDIS_RSC_STATISTICS_INFO, *PNDIS_RSC_STATISTICS_INFO; | 
|  | #endif | 
|  |  | 
|  | typedef enum _NDIS_INTERRUPT_MODERATION { | 
|  | NdisInterruptModerationUnknown, | 
|  | NdisInterruptModerationNotSupported, | 
|  | NdisInterruptModerationEnabled, | 
|  | NdisInterruptModerationDisabled | 
|  | } NDIS_INTERRUPT_MODERATION, *PNDIS_INTERRUPT_MODERATION; | 
|  |  | 
|  | typedef struct _NDIS_INTERRUPT_MODERATION_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_INTERRUPT_MODERATION InterruptModeration; | 
|  | } NDIS_INTERRUPT_MODERATION_PARAMETERS, *PNDIS_INTERRUPT_MODERATION_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_TIMEOUT_DPC_REQUEST_CAPABILITIES { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG TimeoutArrayLength; | 
|  | ULONG TimeoutArray[1]; | 
|  | } NDIS_TIMEOUT_DPC_REQUEST_CAPABILITIES, *PNDIS_TIMEOUT_DPC_REQUEST_CAPABILITIES; | 
|  |  | 
|  | typedef struct _NDIS_PCI_DEVICE_CUSTOM_PROPERTIES { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | UINT32 DeviceType; | 
|  | UINT32 CurrentSpeedAndMode; | 
|  | UINT32 CurrentPayloadSize; | 
|  | UINT32 MaxPayloadSize; | 
|  | UINT32 MaxReadRequestSize; | 
|  | UINT32 CurrentLinkSpeed; | 
|  | UINT32 CurrentLinkWidth; | 
|  | UINT32 MaxLinkSpeed; | 
|  | UINT32 MaxLinkWidth; | 
|  | #if (NTDDI_VERSION >= 0x06010000 || NDIS_SUPPORT_NDIS620) | 
|  | UINT32 PciExpressVersion; | 
|  | UINT32 InterruptType; | 
|  | UINT32 MaxInterruptMessages; | 
|  | #endif | 
|  | } NDIS_PCI_DEVICE_CUSTOM_PROPERTIES, *PNDIS_PCI_DEVICE_CUSTOM_PROPERTIES; | 
|  | #endif | 
|  |  | 
|  | #define OID_GEN_SUPPORTED_LIST 0x00010101 | 
|  | #define OID_GEN_HARDWARE_STATUS 0x00010102 | 
|  | #define OID_GEN_MEDIA_SUPPORTED 0x00010103 | 
|  | #define OID_GEN_MEDIA_IN_USE 0x00010104 | 
|  | #define OID_GEN_MAXIMUM_LOOKAHEAD 0x00010105 | 
|  | #define OID_GEN_MAXIMUM_FRAME_SIZE 0x00010106 | 
|  | #define OID_GEN_LINK_SPEED 0x00010107 | 
|  | #define OID_GEN_TRANSMIT_BUFFER_SPACE 0x00010108 | 
|  | #define OID_GEN_RECEIVE_BUFFER_SPACE 0x00010109 | 
|  | #define OID_GEN_TRANSMIT_BLOCK_SIZE 0x0001010a | 
|  | #define OID_GEN_RECEIVE_BLOCK_SIZE 0x0001010b | 
|  | #define OID_GEN_VENDOR_ID 0x0001010c | 
|  | #define OID_GEN_VENDOR_DESCRIPTION 0x0001010d | 
|  | #define OID_GEN_CURRENT_PACKET_FILTER 0x0001010e | 
|  | #define OID_GEN_CURRENT_LOOKAHEAD 0x0001010f | 
|  | #define OID_GEN_DRIVER_VERSION 0x00010110 | 
|  | #define OID_GEN_MAXIMUM_TOTAL_SIZE 0x00010111 | 
|  | #define OID_GEN_PROTOCOL_OPTIONS 0x00010112 | 
|  | #define OID_GEN_MAC_OPTIONS 0x00010113 | 
|  | #define OID_GEN_MEDIA_CONNECT_STATUS 0x00010114 | 
|  | #define OID_GEN_MAXIMUM_SEND_PACKETS 0x00010115 | 
|  |  | 
|  | #define OID_GEN_VENDOR_DRIVER_VERSION 0x00010116 | 
|  | #define OID_GEN_SUPPORTED_GUIDS 0x00010117 | 
|  | #define OID_GEN_NETWORK_LAYER_ADDRESSES 0x00010118 | 
|  | #define OID_GEN_TRANSPORT_HEADER_OFFSET 0x00010119 | 
|  | #define OID_GEN_MEDIA_CAPABILITIES 0x00010201 | 
|  | #define OID_GEN_PHYSICAL_MEDIUM 0x00010202 | 
|  | #if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6 | 
|  | #define OID_GEN_RECEIVE_SCALE_CAPABILITIES 0x00010203 | 
|  | #define OID_GEN_RECEIVE_SCALE_PARAMETERS 0x00010204 | 
|  | #define OID_GEN_MAC_ADDRESS 0x00010205 | 
|  | #define OID_GEN_MAX_LINK_SPEED 0x00010206 | 
|  | #define OID_GEN_LINK_STATE 0x00010207 | 
|  | #define OID_GEN_LINK_PARAMETERS 0x00010208 | 
|  | #define OID_GEN_INTERRUPT_MODERATION 0x00010209 | 
|  | #define OID_GEN_NDIS_RESERVED_3 0x0001020a | 
|  | #define OID_GEN_NDIS_RESERVED_4 0x0001020b | 
|  | #define OID_GEN_NDIS_RESERVED_5 0x0001020c | 
|  | #define OID_GEN_ENUMERATE_PORTS 0x0001020d | 
|  | #define OID_GEN_PORT_STATE 0x0001020e | 
|  | #define OID_GEN_PORT_AUTHENTICATION_PARAMETERS 0x0001020f | 
|  | #define OID_GEN_TIMEOUT_DPC_REQUEST_CAPABILITIES 0x00010210 | 
|  | #define OID_GEN_PCI_DEVICE_CUSTOM_PROPERTIES 0x00010211 | 
|  | #define OID_GEN_NDIS_RESERVED_6 0x00010212 | 
|  | #define OID_GEN_PHYSICAL_MEDIUM_EX 0x00010213 | 
|  | #endif | 
|  |  | 
|  | #define OID_GEN_MACHINE_NAME 0x0001021a | 
|  | #define OID_GEN_RNDIS_CONFIG_PARAMETER 0x0001021b | 
|  | #define OID_GEN_VLAN_ID 0x0001021c | 
|  | #if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6 | 
|  | #define OID_GEN_RECEIVE_HASH 0x0001021f | 
|  | #define OID_GEN_MINIPORT_RESTART_ATTRIBUTES 0x0001021d | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS61 | 
|  | #define OID_GEN_HD_SPLIT_PARAMETERS 0x0001021e | 
|  | #define OID_GEN_HD_SPLIT_CURRENT_CONFIG 0x00010220 | 
|  | #endif | 
|  |  | 
|  | #define OID_GEN_PROMISCUOUS_MODE 0x00010280 | 
|  | #define OID_GEN_LAST_CHANGE 0x00010281 | 
|  | #define OID_GEN_DISCONTINUITY_TIME 0x00010282 | 
|  | #define OID_GEN_OPERATIONAL_STATUS 0x00010283 | 
|  | #define OID_GEN_XMIT_LINK_SPEED 0x00010284 | 
|  | #define OID_GEN_RCV_LINK_SPEED 0x00010285 | 
|  | #define OID_GEN_UNKNOWN_PROTOS 0x00010286 | 
|  | #define OID_GEN_INTERFACE_INFO 0x00010287 | 
|  | #define OID_GEN_ADMIN_STATUS 0x00010288 | 
|  | #define OID_GEN_ALIAS 0x00010289 | 
|  | #define OID_GEN_MEDIA_CONNECT_STATUS_EX 0x0001028a | 
|  | #define OID_GEN_LINK_SPEED_EX 0x0001028b | 
|  | #define OID_GEN_MEDIA_DUPLEX_STATE 0x0001028c | 
|  | #define OID_GEN_IP_OPER_STATUS 0x0001028d | 
|  |  | 
|  | #define OID_WWAN_DRIVER_CAPS 0x0e010100 | 
|  | #define OID_WWAN_DEVICE_CAPS 0x0e010101 | 
|  | #define OID_WWAN_READY_INFO 0x0e010102 | 
|  | #define OID_WWAN_RADIO_STATE 0x0e010103 | 
|  | #define OID_WWAN_PIN 0x0e010104 | 
|  | #define OID_WWAN_PIN_LIST 0x0e010105 | 
|  | #define OID_WWAN_HOME_PROVIDER 0x0e010106 | 
|  | #define OID_WWAN_PREFERRED_PROVIDERS 0x0e010107 | 
|  | #define OID_WWAN_VISIBLE_PROVIDERS 0x0e010108 | 
|  | #define OID_WWAN_REGISTER_STATE 0x0e010109 | 
|  | #define OID_WWAN_PACKET_SERVICE 0x0e01010a | 
|  | #define OID_WWAN_SIGNAL_STATE 0x0e01010b | 
|  | #define OID_WWAN_CONNECT 0x0e01010c | 
|  | #define OID_WWAN_PROVISIONED_CONTEXTS 0x0e01010d | 
|  | #define OID_WWAN_SERVICE_ACTIVATION 0x0e01010e | 
|  | #define OID_WWAN_SMS_CONFIGURATION 0x0e01010f | 
|  | #define OID_WWAN_SMS_READ 0x0e010110 | 
|  | #define OID_WWAN_SMS_SEND 0x0e010111 | 
|  | #define OID_WWAN_SMS_DELETE 0x0e010112 | 
|  | #define OID_WWAN_SMS_STATUS 0x0e010113 | 
|  | #define OID_WWAN_VENDOR_SPECIFIC 0x0e010114 | 
|  | #endif | 
|  |  | 
|  | #if NTDDI_VERSION >= 0x06020000 || NDIS_SUPPORT_NDIS630 | 
|  | #define OID_WWAN_AUTH_CHALLENGE 0x0e010115 | 
|  | #define OID_WWAN_ENUMERATE_DEVICE_SERVICES 0x0e010116 | 
|  | #define OID_WWAN_SUBSCRIBE_DEVICE_SERVICE_EVENTS 0x0e010117 | 
|  | #define OID_WWAN_DEVICE_SERVICE_COMMAND 0x0e010118 | 
|  | #define OID_WWAN_USSD 0x0e010119 | 
|  | #define OID_WWAN_PIN_EX 0x0e010121 | 
|  | #define OID_WWAN_ENUMERATE_DEVICE_SERVICE_COMMANDS 0x0e010122 | 
|  | #define OID_WWAN_DEVICE_SERVICE_SESSION 0x0e010123 | 
|  | #define OID_WWAN_DEVICE_SERVICE_SESSION_WRITE 0x0e010124 | 
|  | #define OID_WWAN_PREFERRED_MULTICARRIER_PROVIDERS 0x0e010125 | 
|  | #endif | 
|  |  | 
|  | #define OID_GEN_XMIT_OK 0x00020101 | 
|  | #define OID_GEN_RCV_OK 0x00020102 | 
|  | #define OID_GEN_XMIT_ERROR 0x00020103 | 
|  | #define OID_GEN_RCV_ERROR 0x00020104 | 
|  | #define OID_GEN_RCV_NO_BUFFER 0x00020105 | 
|  | #if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6 | 
|  | #define OID_GEN_STATISTICS 0x00020106 | 
|  | #endif | 
|  |  | 
|  | #define OID_GEN_DIRECTED_BYTES_XMIT 0x00020201 | 
|  | #define OID_GEN_DIRECTED_FRAMES_XMIT 0x00020202 | 
|  | #define OID_GEN_MULTICAST_BYTES_XMIT 0x00020203 | 
|  | #define OID_GEN_MULTICAST_FRAMES_XMIT 0x00020204 | 
|  | #define OID_GEN_BROADCAST_BYTES_XMIT 0x00020205 | 
|  | #define OID_GEN_BROADCAST_FRAMES_XMIT 0x00020206 | 
|  | #define OID_GEN_DIRECTED_BYTES_RCV 0x00020207 | 
|  | #define OID_GEN_DIRECTED_FRAMES_RCV 0x00020208 | 
|  | #define OID_GEN_MULTICAST_BYTES_RCV 0x00020209 | 
|  | #define OID_GEN_MULTICAST_FRAMES_RCV 0x0002020a | 
|  | #define OID_GEN_BROADCAST_BYTES_RCV 0x0002020b | 
|  | #define OID_GEN_BROADCAST_FRAMES_RCV 0x0002020c | 
|  | #define OID_GEN_RCV_CRC_ERROR 0x0002020d | 
|  | #define OID_GEN_TRANSMIT_QUEUE_LENGTH 0x0002020e | 
|  | #define OID_GEN_GET_TIME_CAPS 0x0002020f | 
|  | #define OID_GEN_GET_NETCARD_TIME 0x00020210 | 
|  | #define OID_GEN_NETCARD_LOAD 0x00020211 | 
|  | #define OID_GEN_DEVICE_PROFILE 0x00020212 | 
|  | #define OID_GEN_INIT_TIME_MS 0x00020213 | 
|  | #define OID_GEN_RESET_COUNTS 0x00020214 | 
|  | #define OID_GEN_MEDIA_SENSE_COUNTS 0x00020215 | 
|  | #define OID_GEN_FRIENDLY_NAME 0x00020216 | 
|  | #define OID_GEN_NDIS_RESERVED_1 0x00020217 | 
|  | #define OID_GEN_NDIS_RESERVED_2 0x00020218 | 
|  | #define OID_GEN_NDIS_RESERVED_5 0x0001020c | 
|  | #if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6 | 
|  | #define OID_GEN_BYTES_RCV 0x00020219 | 
|  | #define OID_GEN_BYTES_XMIT 0x0002021a | 
|  | #define OID_GEN_RCV_DISCARDS 0x0002021b | 
|  | #define OID_GEN_XMIT_DISCARDS 0x0002021c | 
|  | #endif | 
|  | #if NTDDI_VERSION >= 0x06020000 || NDIS_SUPPORT_NDIS630 | 
|  | #define OID_TCP_RSC_STATISTICS 0x0002021d | 
|  | #define OID_GEN_NDIS_RESERVED_7 0x0002021e | 
|  | #endif | 
|  |  | 
|  | #define OID_GEN_CO_SUPPORTED_LIST OID_GEN_SUPPORTED_LIST | 
|  | #define OID_GEN_CO_HARDWARE_STATUS OID_GEN_HARDWARE_STATUS | 
|  | #define OID_GEN_CO_MEDIA_SUPPORTED OID_GEN_MEDIA_SUPPORTED | 
|  | #define OID_GEN_CO_MEDIA_IN_USE OID_GEN_MEDIA_IN_USE | 
|  | #define OID_GEN_CO_LINK_SPEED OID_GEN_LINK_SPEED | 
|  | #define OID_GEN_CO_VENDOR_ID OID_GEN_VENDOR_ID | 
|  | #define OID_GEN_CO_VENDOR_DESCRIPTION OID_GEN_VENDOR_DESCRIPTION | 
|  | #define OID_GEN_CO_DRIVER_VERSION OID_GEN_DRIVER_VERSION | 
|  | #define OID_GEN_CO_PROTOCOL_OPTIONS OID_GEN_PROTOCOL_OPTIONS | 
|  | #define OID_GEN_CO_MAC_OPTIONS OID_GEN_MAC_OPTIONS | 
|  | #define OID_GEN_CO_MEDIA_CONNECT_STATUS OID_GEN_MEDIA_CONNECT_STATUS | 
|  | #define OID_GEN_CO_VENDOR_DRIVER_VERSION OID_GEN_VENDOR_DRIVER_VERSION | 
|  | #define OID_GEN_CO_SUPPORTED_GUIDS OID_GEN_SUPPORTED_GUIDS | 
|  | #define OID_GEN_CO_GET_TIME_CAPS OID_GEN_GET_TIME_CAPS | 
|  | #define OID_GEN_CO_GET_NETCARD_TIME OID_GEN_GET_NETCARD_TIME | 
|  | #define OID_GEN_CO_MINIMUM_LINK_SPEED 0x00020120 | 
|  |  | 
|  | #define OID_GEN_CO_XMIT_PDUS_OK OID_GEN_XMIT_OK | 
|  | #define OID_GEN_CO_RCV_PDUS_OK OID_GEN_RCV_OK | 
|  | #define OID_GEN_CO_XMIT_PDUS_ERROR OID_GEN_XMIT_ERROR | 
|  | #define OID_GEN_CO_RCV_PDUS_ERROR OID_GEN_RCV_ERROR | 
|  | #define OID_GEN_CO_RCV_PDUS_NO_BUFFER OID_GEN_RCV_NO_BUFFER | 
|  |  | 
|  | #define OID_GEN_CO_RCV_CRC_ERROR OID_GEN_RCV_CRC_ERROR | 
|  | #define OID_GEN_CO_TRANSMIT_QUEUE_LENGTH OID_GEN_TRANSMIT_QUEUE_LENGTH | 
|  | #define OID_GEN_CO_BYTES_XMIT OID_GEN_DIRECTED_BYTES_XMIT | 
|  | #define OID_GEN_CO_BYTES_RCV OID_GEN_DIRECTED_BYTES_RCV | 
|  | #define OID_GEN_CO_NETCARD_LOAD OID_GEN_NETCARD_LOAD | 
|  | #define OID_GEN_CO_DEVICE_PROFILE OID_GEN_DEVICE_PROFILE | 
|  | #define OID_GEN_CO_BYTES_XMIT_OUTSTANDING 0x00020221 | 
|  |  | 
|  | #define OID_802_3_PERMANENT_ADDRESS 0x01010101 | 
|  | #define OID_802_3_CURRENT_ADDRESS 0x01010102 | 
|  | #define OID_802_3_MULTICAST_LIST 0x01010103 | 
|  | #define OID_802_3_MAXIMUM_LIST_SIZE 0x01010104 | 
|  |  | 
|  | #define OID_802_3_MAC_OPTIONS 0x01010105 | 
|  |  | 
|  | #define NDIS_802_3_MAC_OPTION_PRIORITY 0x00000001 | 
|  |  | 
|  | #define OID_802_3_RCV_ERROR_ALIGNMENT 0x01020101 | 
|  | #define OID_802_3_XMIT_ONE_COLLISION 0x01020102 | 
|  | #define OID_802_3_XMIT_MORE_COLLISIONS 0x01020103 | 
|  |  | 
|  | #define OID_802_3_XMIT_DEFERRED 0x01020201 | 
|  | #define OID_802_3_XMIT_MAX_COLLISIONS 0x01020202 | 
|  | #define OID_802_3_RCV_OVERRUN 0x01020203 | 
|  | #define OID_802_3_XMIT_UNDERRUN 0x01020204 | 
|  | #define OID_802_3_XMIT_HEARTBEAT_FAILURE 0x01020205 | 
|  | #define OID_802_3_XMIT_TIMES_CRS_LOST 0x01020206 | 
|  | #define OID_802_3_XMIT_LATE_COLLISIONS 0x01020207 | 
|  |  | 
|  | #if (NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6) | 
|  | #define OID_802_3_ADD_MULTICAST_ADDRESS 0x01010208 | 
|  | #define OID_802_3_DELETE_MULTICAST_ADDRESS 0x01010209 | 
|  | #endif | 
|  |  | 
|  | #define OID_802_5_PERMANENT_ADDRESS 0x02010101 | 
|  | #define OID_802_5_CURRENT_ADDRESS 0x02010102 | 
|  | #define OID_802_5_CURRENT_FUNCTIONAL 0x02010103 | 
|  | #define OID_802_5_CURRENT_GROUP 0x02010104 | 
|  | #define OID_802_5_LAST_OPEN_STATUS 0x02010105 | 
|  | #define OID_802_5_CURRENT_RING_STATUS 0x02010106 | 
|  | #define OID_802_5_CURRENT_RING_STATE 0x02010107 | 
|  |  | 
|  | #define OID_802_5_LINE_ERRORS 0x02020101 | 
|  | #define OID_802_5_LOST_FRAMES 0x02020102 | 
|  |  | 
|  | #define OID_802_5_BURST_ERRORS 0x02020201 | 
|  | #define OID_802_5_AC_ERRORS 0x02020202 | 
|  | #define OID_802_5_ABORT_DELIMETERS 0x02020203 | 
|  | #define OID_802_5_FRAME_COPIED_ERRORS 0x02020204 | 
|  | #define OID_802_5_FREQUENCY_ERRORS 0x02020205 | 
|  | #define OID_802_5_TOKEN_ERRORS 0x02020206 | 
|  | #define OID_802_5_INTERNAL_ERRORS 0x02020207 | 
|  |  | 
|  | #define OID_FDDI_LONG_PERMANENT_ADDR 0x03010101 | 
|  | #define OID_FDDI_LONG_CURRENT_ADDR 0x03010102 | 
|  | #define OID_FDDI_LONG_MULTICAST_LIST 0x03010103 | 
|  | #define OID_FDDI_LONG_MAX_LIST_SIZE 0x03010104 | 
|  | #define OID_FDDI_SHORT_PERMANENT_ADDR 0x03010105 | 
|  | #define OID_FDDI_SHORT_CURRENT_ADDR 0x03010106 | 
|  | #define OID_FDDI_SHORT_MULTICAST_LIST 0x03010107 | 
|  | #define OID_FDDI_SHORT_MAX_LIST_SIZE 0x03010108 | 
|  |  | 
|  | #define OID_FDDI_ATTACHMENT_TYPE 0x03020101 | 
|  | #define OID_FDDI_UPSTREAM_NODE_LONG 0x03020102 | 
|  | #define OID_FDDI_DOWNSTREAM_NODE_LONG 0x03020103 | 
|  | #define OID_FDDI_FRAME_ERRORS 0x03020104 | 
|  | #define OID_FDDI_FRAMES_LOST 0x03020105 | 
|  | #define OID_FDDI_RING_MGT_STATE 0x03020106 | 
|  | #define OID_FDDI_LCT_FAILURES 0x03020107 | 
|  | #define OID_FDDI_LEM_REJECTS 0x03020108 | 
|  | #define OID_FDDI_LCONNECTION_STATE 0x03020109 | 
|  |  | 
|  | #define OID_FDDI_SMT_STATION_ID 0x03030201 | 
|  | #define OID_FDDI_SMT_OP_VERSION_ID 0x03030202 | 
|  | #define OID_FDDI_SMT_HI_VERSION_ID 0x03030203 | 
|  | #define OID_FDDI_SMT_LO_VERSION_ID 0x03030204 | 
|  | #define OID_FDDI_SMT_MANUFACTURER_DATA 0x03030205 | 
|  | #define OID_FDDI_SMT_USER_DATA 0x03030206 | 
|  | #define OID_FDDI_SMT_MIB_VERSION_ID 0x03030207 | 
|  | #define OID_FDDI_SMT_MAC_CT 0x03030208 | 
|  | #define OID_FDDI_SMT_NON_MASTER_CT 0x03030209 | 
|  | #define OID_FDDI_SMT_MASTER_CT 0x0303020a | 
|  | #define OID_FDDI_SMT_AVAILABLE_PATHS 0x0303020b | 
|  | #define OID_FDDI_SMT_CONFIG_CAPABILITIES 0x0303020c | 
|  | #define OID_FDDI_SMT_CONFIG_POLICY 0x0303020d | 
|  | #define OID_FDDI_SMT_CONNECTION_POLICY 0x0303020e | 
|  | #define OID_FDDI_SMT_T_NOTIFY 0x0303020f | 
|  | #define OID_FDDI_SMT_STAT_RPT_POLICY 0x03030210 | 
|  | #define OID_FDDI_SMT_TRACE_MAX_EXPIRATION 0x03030211 | 
|  | #define OID_FDDI_SMT_PORT_INDEXES 0x03030212 | 
|  | #define OID_FDDI_SMT_MAC_INDEXES 0x03030213 | 
|  | #define OID_FDDI_SMT_BYPASS_PRESENT 0x03030214 | 
|  | #define OID_FDDI_SMT_ECM_STATE 0x03030215 | 
|  | #define OID_FDDI_SMT_CF_STATE 0x03030216 | 
|  | #define OID_FDDI_SMT_HOLD_STATE 0x03030217 | 
|  | #define OID_FDDI_SMT_REMOTE_DISCONNECT_FLAG 0x03030218 | 
|  | #define OID_FDDI_SMT_STATION_STATUS 0x03030219 | 
|  | #define OID_FDDI_SMT_PEER_WRAP_FLAG 0x0303021a | 
|  | #define OID_FDDI_SMT_MSG_TIME_STAMP 0x0303021b | 
|  | #define OID_FDDI_SMT_TRANSITION_TIME_STAMP 0x0303021c | 
|  | #define OID_FDDI_SMT_SET_COUNT 0x0303021d | 
|  | #define OID_FDDI_SMT_LAST_SET_STATION_ID 0x0303021e | 
|  | #define OID_FDDI_MAC_FRAME_STATUS_FUNCTIONS 0x0303021f | 
|  | #define OID_FDDI_MAC_BRIDGE_FUNCTIONS 0x03030220 | 
|  | #define OID_FDDI_MAC_T_MAX_CAPABILITY 0x03030221 | 
|  | #define OID_FDDI_MAC_TVX_CAPABILITY 0x03030222 | 
|  | #define OID_FDDI_MAC_AVAILABLE_PATHS 0x03030223 | 
|  | #define OID_FDDI_MAC_CURRENT_PATH 0x03030224 | 
|  | #define OID_FDDI_MAC_UPSTREAM_NBR 0x03030225 | 
|  | #define OID_FDDI_MAC_DOWNSTREAM_NBR 0x03030226 | 
|  | #define OID_FDDI_MAC_OLD_UPSTREAM_NBR 0x03030227 | 
|  | #define OID_FDDI_MAC_OLD_DOWNSTREAM_NBR 0x03030228 | 
|  | #define OID_FDDI_MAC_DUP_ADDRESS_TEST 0x03030229 | 
|  | #define OID_FDDI_MAC_REQUESTED_PATHS 0x0303022a | 
|  | #define OID_FDDI_MAC_DOWNSTREAM_PORT_TYPE 0x0303022b | 
|  | #define OID_FDDI_MAC_INDEX 0x0303022c | 
|  | #define OID_FDDI_MAC_SMT_ADDRESS 0x0303022d | 
|  | #define OID_FDDI_MAC_LONG_GRP_ADDRESS 0x0303022e | 
|  | #define OID_FDDI_MAC_SHORT_GRP_ADDRESS 0x0303022f | 
|  | #define OID_FDDI_MAC_T_REQ 0x03030230 | 
|  | #define OID_FDDI_MAC_T_NEG 0x03030231 | 
|  | #define OID_FDDI_MAC_T_MAX 0x03030232 | 
|  | #define OID_FDDI_MAC_TVX_VALUE 0x03030233 | 
|  | #define OID_FDDI_MAC_T_PRI0 0x03030234 | 
|  | #define OID_FDDI_MAC_T_PRI1 0x03030235 | 
|  | #define OID_FDDI_MAC_T_PRI2 0x03030236 | 
|  | #define OID_FDDI_MAC_T_PRI3 0x03030237 | 
|  | #define OID_FDDI_MAC_T_PRI4 0x03030238 | 
|  | #define OID_FDDI_MAC_T_PRI5 0x03030239 | 
|  | #define OID_FDDI_MAC_T_PRI6 0x0303023a | 
|  | #define OID_FDDI_MAC_FRAME_CT 0x0303023b | 
|  | #define OID_FDDI_MAC_COPIED_CT 0x0303023c | 
|  | #define OID_FDDI_MAC_TRANSMIT_CT 0x0303023d | 
|  | #define OID_FDDI_MAC_TOKEN_CT 0x0303023e | 
|  | #define OID_FDDI_MAC_ERROR_CT 0x0303023f | 
|  | #define OID_FDDI_MAC_LOST_CT 0x03030240 | 
|  | #define OID_FDDI_MAC_TVX_EXPIRED_CT 0x03030241 | 
|  | #define OID_FDDI_MAC_NOT_COPIED_CT 0x03030242 | 
|  | #define OID_FDDI_MAC_LATE_CT 0x03030243 | 
|  | #define OID_FDDI_MAC_RING_OP_CT 0x03030244 | 
|  | #define OID_FDDI_MAC_FRAME_ERROR_THRESHOLD 0x03030245 | 
|  | #define OID_FDDI_MAC_FRAME_ERROR_RATIO 0x03030246 | 
|  | #define OID_FDDI_MAC_NOT_COPIED_THRESHOLD 0x03030247 | 
|  | #define OID_FDDI_MAC_NOT_COPIED_RATIO 0x03030248 | 
|  | #define OID_FDDI_MAC_RMT_STATE 0x03030249 | 
|  | #define OID_FDDI_MAC_DA_FLAG 0x0303024a | 
|  | #define OID_FDDI_MAC_UNDA_FLAG 0x0303024b | 
|  | #define OID_FDDI_MAC_FRAME_ERROR_FLAG 0x0303024c | 
|  | #define OID_FDDI_MAC_NOT_COPIED_FLAG 0x0303024d | 
|  | #define OID_FDDI_MAC_MA_UNITDATA_AVAILABLE 0x0303024e | 
|  | #define OID_FDDI_MAC_HARDWARE_PRESENT 0x0303024f | 
|  | #define OID_FDDI_MAC_MA_UNITDATA_ENABLE 0x03030250 | 
|  | #define OID_FDDI_PATH_INDEX 0x03030251 | 
|  | #define OID_FDDI_PATH_RING_LATENCY 0x03030252 | 
|  | #define OID_FDDI_PATH_TRACE_STATUS 0x03030253 | 
|  | #define OID_FDDI_PATH_SBA_PAYLOAD 0x03030254 | 
|  | #define OID_FDDI_PATH_SBA_OVERHEAD 0x03030255 | 
|  | #define OID_FDDI_PATH_CONFIGURATION 0x03030256 | 
|  | #define OID_FDDI_PATH_T_R_MODE 0x03030257 | 
|  | #define OID_FDDI_PATH_SBA_AVAILABLE 0x03030258 | 
|  | #define OID_FDDI_PATH_TVX_LOWER_BOUND 0x03030259 | 
|  | #define OID_FDDI_PATH_T_MAX_LOWER_BOUND 0x0303025a | 
|  | #define OID_FDDI_PATH_MAX_T_REQ 0x0303025b | 
|  | #define OID_FDDI_PORT_MY_TYPE 0x0303025c | 
|  | #define OID_FDDI_PORT_NEIGHBOR_TYPE 0x0303025d | 
|  | #define OID_FDDI_PORT_CONNECTION_POLICIES 0x0303025e | 
|  | #define OID_FDDI_PORT_MAC_INDICATED 0x0303025f | 
|  | #define OID_FDDI_PORT_CURRENT_PATH 0x03030260 | 
|  | #define OID_FDDI_PORT_REQUESTED_PATHS 0x03030261 | 
|  | #define OID_FDDI_PORT_MAC_PLACEMENT 0x03030262 | 
|  | #define OID_FDDI_PORT_AVAILABLE_PATHS 0x03030263 | 
|  | #define OID_FDDI_PORT_MAC_LOOP_TIME 0x03030264 | 
|  | #define OID_FDDI_PORT_PMD_CLASS 0x03030265 | 
|  | #define OID_FDDI_PORT_CONNECTION_CAPABILITIES 0x03030266 | 
|  | #define OID_FDDI_PORT_INDEX 0x03030267 | 
|  | #define OID_FDDI_PORT_MAINT_LS 0x03030268 | 
|  | #define OID_FDDI_PORT_BS_FLAG 0x03030269 | 
|  | #define OID_FDDI_PORT_PC_LS 0x0303026a | 
|  | #define OID_FDDI_PORT_EB_ERROR_CT 0x0303026b | 
|  | #define OID_FDDI_PORT_LCT_FAIL_CT 0x0303026c | 
|  | #define OID_FDDI_PORT_LER_ESTIMATE 0x0303026d | 
|  | #define OID_FDDI_PORT_LEM_REJECT_CT 0x0303026e | 
|  | #define OID_FDDI_PORT_LEM_CT 0x0303026f | 
|  | #define OID_FDDI_PORT_LER_CUTOFF 0x03030270 | 
|  | #define OID_FDDI_PORT_LER_ALARM 0x03030271 | 
|  | #define OID_FDDI_PORT_CONNNECT_STATE 0x03030272 | 
|  | #define OID_FDDI_PORT_PCM_STATE 0x03030273 | 
|  | #define OID_FDDI_PORT_PC_WITHHOLD 0x03030274 | 
|  | #define OID_FDDI_PORT_LER_FLAG 0x03030275 | 
|  | #define OID_FDDI_PORT_HARDWARE_PRESENT 0x03030276 | 
|  | #define OID_FDDI_SMT_STATION_ACTION 0x03030277 | 
|  | #define OID_FDDI_PORT_ACTION 0x03030278 | 
|  | #define OID_FDDI_IF_DESCR 0x03030279 | 
|  | #define OID_FDDI_IF_TYPE 0x0303027a | 
|  | #define OID_FDDI_IF_MTU 0x0303027b | 
|  | #define OID_FDDI_IF_SPEED 0x0303027c | 
|  | #define OID_FDDI_IF_PHYS_ADDRESS 0x0303027d | 
|  | #define OID_FDDI_IF_ADMIN_STATUS 0x0303027e | 
|  | #define OID_FDDI_IF_OPER_STATUS 0x0303027f | 
|  | #define OID_FDDI_IF_LAST_CHANGE 0x03030280 | 
|  | #define OID_FDDI_IF_IN_OCTETS 0x03030281 | 
|  | #define OID_FDDI_IF_IN_UCAST_PKTS 0x03030282 | 
|  | #define OID_FDDI_IF_IN_NUCAST_PKTS 0x03030283 | 
|  | #define OID_FDDI_IF_IN_DISCARDS 0x03030284 | 
|  | #define OID_FDDI_IF_IN_ERRORS 0x03030285 | 
|  | #define OID_FDDI_IF_IN_UNKNOWN_PROTOS 0x03030286 | 
|  | #define OID_FDDI_IF_OUT_OCTETS 0x03030287 | 
|  | #define OID_FDDI_IF_OUT_UCAST_PKTS 0x03030288 | 
|  | #define OID_FDDI_IF_OUT_NUCAST_PKTS 0x03030289 | 
|  | #define OID_FDDI_IF_OUT_DISCARDS 0x0303028a | 
|  | #define OID_FDDI_IF_OUT_ERRORS 0x0303028b | 
|  | #define OID_FDDI_IF_OUT_QLEN 0x0303028c | 
|  | #define OID_FDDI_IF_SPECIFIC 0x0303028d | 
|  |  | 
|  | #define OID_WAN_PERMANENT_ADDRESS 0x04010101 | 
|  | #define OID_WAN_CURRENT_ADDRESS 0x04010102 | 
|  | #define OID_WAN_QUALITY_OF_SERVICE 0x04010103 | 
|  | #define OID_WAN_PROTOCOL_TYPE 0x04010104 | 
|  | #define OID_WAN_MEDIUM_SUBTYPE 0x04010105 | 
|  | #define OID_WAN_HEADER_FORMAT 0x04010106 | 
|  |  | 
|  | #define OID_WAN_GET_INFO 0x04010107 | 
|  | #define OID_WAN_SET_LINK_INFO 0x04010108 | 
|  | #define OID_WAN_GET_LINK_INFO 0x04010109 | 
|  | #define OID_WAN_LINE_COUNT 0x0401010a | 
|  | #define OID_WAN_PROTOCOL_CAPS 0x0401010b | 
|  |  | 
|  | #define OID_WAN_GET_BRIDGE_INFO 0x0401020a | 
|  | #define OID_WAN_SET_BRIDGE_INFO 0x0401020b | 
|  | #define OID_WAN_GET_COMP_INFO 0x0401020c | 
|  | #define OID_WAN_SET_COMP_INFO 0x0401020d | 
|  | #define OID_WAN_GET_STATS_INFO 0x0401020e | 
|  |  | 
|  | #define OID_WAN_CO_GET_INFO 0x04010180 | 
|  | #define OID_WAN_CO_SET_LINK_INFO 0x04010181 | 
|  | #define OID_WAN_CO_GET_LINK_INFO 0x04010182 | 
|  | #define OID_WAN_CO_GET_COMP_INFO 0x04010280 | 
|  | #define OID_WAN_CO_SET_COMP_INFO 0x04010281 | 
|  | #define OID_WAN_CO_GET_STATS_INFO 0x04010282 | 
|  |  | 
|  | #define OID_LTALK_CURRENT_NODE_ID 0x05010102 | 
|  |  | 
|  | #define OID_LTALK_IN_BROADCASTS 0x05020101 | 
|  | #define OID_LTALK_IN_LENGTH_ERRORS 0x05020102 | 
|  |  | 
|  | #define OID_LTALK_OUT_NO_HANDLERS 0x05020201 | 
|  | #define OID_LTALK_COLLISIONS 0x05020202 | 
|  | #define OID_LTALK_DEFERS 0x05020203 | 
|  | #define OID_LTALK_NO_DATA_ERRORS 0x05020204 | 
|  | #define OID_LTALK_RANDOM_CTS_ERRORS 0x05020205 | 
|  | #define OID_LTALK_FCS_ERRORS 0x05020206 | 
|  |  | 
|  | #define OID_ARCNET_PERMANENT_ADDRESS 0x06010101 | 
|  | #define OID_ARCNET_CURRENT_ADDRESS 0x06010102 | 
|  |  | 
|  | #define OID_ARCNET_RECONFIGURATIONS 0x06020201 | 
|  |  | 
|  | #define OID_TAPI_ACCEPT 0x07030101 | 
|  | #define OID_TAPI_ANSWER 0x07030102 | 
|  | #define OID_TAPI_CLOSE 0x07030103 | 
|  | #define OID_TAPI_CLOSE_CALL 0x07030104 | 
|  | #define OID_TAPI_CONDITIONAL_MEDIA_DETECTION 0x07030105 | 
|  | #define OID_TAPI_CONFIG_DIALOG 0x07030106 | 
|  | #define OID_TAPI_DEV_SPECIFIC 0x07030107 | 
|  | #define OID_TAPI_DIAL 0x07030108 | 
|  | #define OID_TAPI_DROP 0x07030109 | 
|  | #define OID_TAPI_GET_ADDRESS_CAPS 0x0703010a | 
|  | #define OID_TAPI_GET_ADDRESS_ID 0x0703010b | 
|  | #define OID_TAPI_GET_ADDRESS_STATUS 0x0703010c | 
|  | #define OID_TAPI_GET_CALL_ADDRESS_ID 0x0703010d | 
|  | #define OID_TAPI_GET_CALL_INFO 0x0703010e | 
|  | #define OID_TAPI_GET_CALL_STATUS 0x0703010f | 
|  | #define OID_TAPI_GET_DEV_CAPS 0x07030110 | 
|  | #define OID_TAPI_GET_DEV_CONFIG 0x07030111 | 
|  | #define OID_TAPI_GET_EXTENSION_ID 0x07030112 | 
|  | #define OID_TAPI_GET_ID 0x07030113 | 
|  | #define OID_TAPI_GET_LINE_DEV_STATUS 0x07030114 | 
|  | #define OID_TAPI_MAKE_CALL 0x07030115 | 
|  | #define OID_TAPI_NEGOTIATE_EXT_VERSION 0x07030116 | 
|  | #define OID_TAPI_OPEN 0x07030117 | 
|  | #define OID_TAPI_PROVIDER_INITIALIZE 0x07030118 | 
|  | #define OID_TAPI_PROVIDER_SHUTDOWN 0x07030119 | 
|  | #define OID_TAPI_SECURE_CALL 0x0703011a | 
|  | #define OID_TAPI_SELECT_EXT_VERSION 0x0703011b | 
|  | #define OID_TAPI_SEND_USER_USER_INFO 0x0703011c | 
|  | #define OID_TAPI_SET_APP_SPECIFIC 0x0703011d | 
|  | #define OID_TAPI_SET_CALL_PARAMS 0x0703011e | 
|  | #define OID_TAPI_SET_DEFAULT_MEDIA_DETECTION 0x0703011f | 
|  | #define OID_TAPI_SET_DEV_CONFIG 0x07030120 | 
|  | #define OID_TAPI_SET_MEDIA_MODE 0x07030121 | 
|  | #define OID_TAPI_SET_STATUS_MESSAGES 0x07030122 | 
|  | #define OID_TAPI_GATHER_DIGITS 0x07030123 | 
|  | #define OID_TAPI_MONITOR_DIGITS 0x07030124 | 
|  |  | 
|  | #define OID_ATM_SUPPORTED_VC_RATES 0x08010101 | 
|  | #define OID_ATM_SUPPORTED_SERVICE_CATEGORY 0x08010102 | 
|  | #define OID_ATM_SUPPORTED_AAL_TYPES 0x08010103 | 
|  | #define OID_ATM_HW_CURRENT_ADDRESS 0x08010104 | 
|  | #define OID_ATM_MAX_ACTIVE_VCS 0x08010105 | 
|  | #define OID_ATM_MAX_ACTIVE_VCI_BITS 0x08010106 | 
|  | #define OID_ATM_MAX_ACTIVE_VPI_BITS 0x08010107 | 
|  | #define OID_ATM_MAX_AAL0_PACKET_SIZE 0x08010108 | 
|  | #define OID_ATM_MAX_AAL1_PACKET_SIZE 0x08010109 | 
|  | #define OID_ATM_MAX_AAL34_PACKET_SIZE 0x0801010a | 
|  | #define OID_ATM_MAX_AAL5_PACKET_SIZE 0x0801010b | 
|  |  | 
|  | #define OID_ATM_SIGNALING_VPIVCI 0x08010201 | 
|  | #define OID_ATM_ASSIGNED_VPI 0x08010202 | 
|  | #define OID_ATM_ACQUIRE_ACCESS_NET_RESOURCES 0x08010203 | 
|  | #define OID_ATM_RELEASE_ACCESS_NET_RESOURCES 0x08010204 | 
|  | #define OID_ATM_ILMI_VPIVCI 0x08010205 | 
|  | #define OID_ATM_DIGITAL_BROADCAST_VPIVCI 0x08010206 | 
|  | #define OID_ATM_GET_NEAREST_FLOW 0x08010207 | 
|  | #define OID_ATM_ALIGNMENT_REQUIRED 0x08010208 | 
|  | #define OID_ATM_LECS_ADDRESS 0x08010209 | 
|  | #define OID_ATM_SERVICE_ADDRESS 0x0801020a | 
|  |  | 
|  | #define OID_ATM_CALL_PROCEEDING 0x0801020b | 
|  | #define OID_ATM_CALL_ALERTING 0x0801020c | 
|  | #define OID_ATM_PARTY_ALERTING 0x0801020d | 
|  | #define OID_ATM_CALL_NOTIFY 0x0801020e | 
|  |  | 
|  | #define OID_ATM_MY_IP_NM_ADDRESS 0x0801020f | 
|  |  | 
|  | #define OID_ATM_RCV_CELLS_OK 0x08020101 | 
|  | #define OID_ATM_XMIT_CELLS_OK 0x08020102 | 
|  | #define OID_ATM_RCV_CELLS_DROPPED 0x08020103 | 
|  |  | 
|  | #define OID_ATM_RCV_INVALID_VPI_VCI 0x08020201 | 
|  | #define OID_ATM_CELLS_HEC_ERROR 0x08020202 | 
|  | #define OID_ATM_RCV_REASSEMBLY_ERROR 0x08020203 | 
|  |  | 
|  | #define OID_802_11_BSSID 0x0d010101 | 
|  | #define OID_802_11_SSID 0x0d010102 | 
|  | #define OID_802_11_NETWORK_TYPES_SUPPORTED 0x0d010203 | 
|  | #define OID_802_11_NETWORK_TYPE_IN_USE 0x0d010204 | 
|  | #define OID_802_11_TX_POWER_LEVEL 0x0d010205 | 
|  | #define OID_802_11_RSSI 0x0d010206 | 
|  | #define OID_802_11_RSSI_TRIGGER 0x0d010207 | 
|  | #define OID_802_11_INFRASTRUCTURE_MODE 0x0d010108 | 
|  | #define OID_802_11_FRAGMENTATION_THRESHOLD 0x0d010209 | 
|  | #define OID_802_11_RTS_THRESHOLD 0x0d01020a | 
|  | #define OID_802_11_NUMBER_OF_ANTENNAS 0x0d01020b | 
|  | #define OID_802_11_RX_ANTENNA_SELECTED 0x0d01020c | 
|  | #define OID_802_11_TX_ANTENNA_SELECTED 0x0d01020d | 
|  | #define OID_802_11_SUPPORTED_RATES 0x0d01020e | 
|  | #define OID_802_11_DESIRED_RATES 0x0d010210 | 
|  | #define OID_802_11_CONFIGURATION 0x0d010211 | 
|  | #define OID_802_11_STATISTICS 0x0d020212 | 
|  | #define OID_802_11_ADD_WEP 0x0d010113 | 
|  | #define OID_802_11_REMOVE_WEP 0x0d010114 | 
|  | #define OID_802_11_DISASSOCIATE 0x0d010115 | 
|  | #define OID_802_11_POWER_MODE 0x0d010216 | 
|  | #define OID_802_11_BSSID_LIST 0x0d010217 | 
|  | #define OID_802_11_AUTHENTICATION_MODE 0x0d010118 | 
|  | #define OID_802_11_PRIVACY_FILTER 0x0d010119 | 
|  | #define OID_802_11_BSSID_LIST_SCAN 0x0d01011a | 
|  | #define OID_802_11_WEP_STATUS 0x0d01011b | 
|  |  | 
|  | #define OID_802_11_ENCRYPTION_STATUS OID_802_11_WEP_STATUS | 
|  | #define OID_802_11_RELOAD_DEFAULTS 0x0d01011c | 
|  |  | 
|  | #define OID_802_11_ADD_KEY 0x0d01011d | 
|  | #define OID_802_11_REMOVE_KEY 0x0d01011e | 
|  | #define OID_802_11_ASSOCIATION_INFORMATION 0x0d01011f | 
|  | #define OID_802_11_TEST 0x0d010120 | 
|  | #define OID_802_11_MEDIA_STREAM_MODE 0x0d010121 | 
|  | #define OID_802_11_CAPABILITY 0x0d010122 | 
|  | #define OID_802_11_PMKID 0x0d010123 | 
|  | #define OID_802_11_NON_BCAST_SSID_LIST 0x0d010124 | 
|  | #define OID_802_11_RADIO_STATUS 0x0d010125 | 
|  |  | 
|  | #define NDIS_ETH_TYPE_IPV4 0x0800 | 
|  | #define NDIS_ETH_TYPE_ARP 0x0806 | 
|  | #define NDIS_ETH_TYPE_IPV6 0x86dd | 
|  | #define NDIS_ETH_TYPE_802_1X 0x888e | 
|  | #define NDIS_ETH_TYPE_802_1Q 0x8100 | 
|  | #define NDIS_ETH_TYPE_SLOW_PROTOCOL 0x8809 | 
|  |  | 
|  | #define NDIS_802_11_LENGTH_SSID 32 | 
|  | #define NDIS_802_11_LENGTH_RATES 8 | 
|  | #define NDIS_802_11_LENGTH_RATES_EX 16 | 
|  |  | 
|  | #define NDIS_802_11_AUTH_REQUEST_REAUTH 0x01 | 
|  | #define NDIS_802_11_AUTH_REQUEST_KEYUPDATE 0x02 | 
|  | #define NDIS_802_11_AUTH_REQUEST_PAIRWISE_ERROR 0x06 | 
|  | #define NDIS_802_11_AUTH_REQUEST_GROUP_ERROR 0x0e | 
|  | #define NDIS_802_11_AUTH_REQUEST_AUTH_FIELDS 0x0f | 
|  |  | 
|  | #define NDIS_802_11_PMKID_CANDIDATE_PREAUTH_ENABLED 0x01 | 
|  |  | 
|  | #define NDIS_802_11_AI_REQFI_CAPABILITIES 1 | 
|  | #define NDIS_802_11_AI_REQFI_LISTENINTERVAL 2 | 
|  | #define NDIS_802_11_AI_REQFI_CURRENTAPADDRESS 4 | 
|  |  | 
|  | #define NDIS_802_11_AI_RESFI_CAPABILITIES 1 | 
|  | #define NDIS_802_11_AI_RESFI_STATUSCODE 2 | 
|  | #define NDIS_802_11_AI_RESFI_ASSOCIATIONID 4 | 
|  |  | 
|  | typedef enum _NDIS_802_11_STATUS_TYPE { | 
|  | Ndis802_11StatusType_Authentication, | 
|  | Ndis802_11StatusType_MediaStreamMode, | 
|  | Ndis802_11StatusType_PMKID_CandidateList, | 
|  | Ndis802_11StatusTypeMax | 
|  | } NDIS_802_11_STATUS_TYPE, *PNDIS_802_11_STATUS_TYPE; | 
|  |  | 
|  | typedef UCHAR NDIS_802_11_MAC_ADDRESS[6]; | 
|  |  | 
|  | typedef struct _NDIS_802_11_STATUS_INDICATION { | 
|  | NDIS_802_11_STATUS_TYPE StatusType; | 
|  | } NDIS_802_11_STATUS_INDICATION, *PNDIS_802_11_STATUS_INDICATION; | 
|  |  | 
|  | typedef struct _NDIS_802_11_AUTHENTICATION_REQUEST { | 
|  | ULONG Length; | 
|  | NDIS_802_11_MAC_ADDRESS Bssid; | 
|  | ULONG Flags; | 
|  | } NDIS_802_11_AUTHENTICATION_REQUEST, *PNDIS_802_11_AUTHENTICATION_REQUEST; | 
|  |  | 
|  | typedef struct _PMKID_CANDIDATE { | 
|  | NDIS_802_11_MAC_ADDRESS BSSID; | 
|  | ULONG Flags; | 
|  | } PMKID_CANDIDATE, *PPMKID_CANDIDATE; | 
|  |  | 
|  | typedef struct _NDIS_802_11_PMKID_CANDIDATE_LIST { | 
|  | ULONG Version; | 
|  | ULONG NumCandidates; | 
|  | PMKID_CANDIDATE CandidateList[1]; | 
|  | } NDIS_802_11_PMKID_CANDIDATE_LIST, *PNDIS_802_11_PMKID_CANDIDATE_LIST; | 
|  |  | 
|  | typedef enum _NDIS_802_11_NETWORK_TYPE { | 
|  | Ndis802_11FH, | 
|  | Ndis802_11DS, | 
|  | Ndis802_11OFDM5, | 
|  | Ndis802_11OFDM24, | 
|  | Ndis802_11Automode, | 
|  | Ndis802_11NetworkTypeMax | 
|  | } NDIS_802_11_NETWORK_TYPE, *PNDIS_802_11_NETWORK_TYPE; | 
|  |  | 
|  | typedef struct _NDIS_802_11_NETWORK_TYPE_LIST { | 
|  | ULONG NumberOfItems; | 
|  | NDIS_802_11_NETWORK_TYPE NetworkType [1]; | 
|  | } NDIS_802_11_NETWORK_TYPE_LIST, *PNDIS_802_11_NETWORK_TYPE_LIST; | 
|  |  | 
|  | typedef enum _NDIS_802_11_POWER_MODE { | 
|  | Ndis802_11PowerModeCAM, | 
|  | Ndis802_11PowerModeMAX_PSP, | 
|  | Ndis802_11PowerModeFast_PSP, | 
|  | Ndis802_11PowerModeMax | 
|  | } NDIS_802_11_POWER_MODE, *PNDIS_802_11_POWER_MODE; | 
|  |  | 
|  | typedef ULONG NDIS_802_11_TX_POWER_LEVEL; | 
|  | typedef LONG NDIS_802_11_RSSI; | 
|  |  | 
|  | typedef struct _NDIS_802_11_CONFIGURATION_FH { | 
|  | ULONG Length; | 
|  | ULONG HopPattern; | 
|  | ULONG HopSet; | 
|  | ULONG DwellTime; | 
|  | } NDIS_802_11_CONFIGURATION_FH, *PNDIS_802_11_CONFIGURATION_FH; | 
|  |  | 
|  | typedef struct _NDIS_802_11_CONFIGURATION { | 
|  | ULONG Length; | 
|  | ULONG BeaconPeriod; | 
|  | ULONG ATIMWindow; | 
|  | ULONG DSConfig; | 
|  | NDIS_802_11_CONFIGURATION_FH FHConfig; | 
|  | } NDIS_802_11_CONFIGURATION, *PNDIS_802_11_CONFIGURATION; | 
|  |  | 
|  | typedef struct _NDIS_802_11_STATISTICS { | 
|  | ULONG Length; | 
|  | LARGE_INTEGER TransmittedFragmentCount; | 
|  | LARGE_INTEGER MulticastTransmittedFrameCount; | 
|  | LARGE_INTEGER FailedCount; | 
|  | LARGE_INTEGER RetryCount; | 
|  | LARGE_INTEGER MultipleRetryCount; | 
|  | LARGE_INTEGER RTSSuccessCount; | 
|  | LARGE_INTEGER RTSFailureCount; | 
|  | LARGE_INTEGER ACKFailureCount; | 
|  | LARGE_INTEGER FrameDuplicateCount; | 
|  | LARGE_INTEGER ReceivedFragmentCount; | 
|  | LARGE_INTEGER MulticastReceivedFrameCount; | 
|  | LARGE_INTEGER FCSErrorCount; | 
|  | LARGE_INTEGER TKIPLocalMICFailures; | 
|  | LARGE_INTEGER TKIPICVErrorCount; | 
|  | LARGE_INTEGER TKIPCounterMeasuresInvoked; | 
|  | LARGE_INTEGER TKIPReplays; | 
|  | LARGE_INTEGER CCMPFormatErrors; | 
|  | LARGE_INTEGER CCMPReplays; | 
|  | LARGE_INTEGER CCMPDecryptErrors; | 
|  | LARGE_INTEGER FourWayHandshakeFailures; | 
|  | LARGE_INTEGER WEPUndecryptableCount; | 
|  | LARGE_INTEGER WEPICVErrorCount; | 
|  | LARGE_INTEGER DecryptSuccessCount; | 
|  | LARGE_INTEGER DecryptFailureCount; | 
|  | } NDIS_802_11_STATISTICS, *PNDIS_802_11_STATISTICS; | 
|  |  | 
|  | typedef ULONG NDIS_802_11_KEY_INDEX; | 
|  | typedef ULONGLONG NDIS_802_11_KEY_RSC; | 
|  |  | 
|  | typedef struct _NDIS_802_11_KEY { | 
|  | ULONG Length; | 
|  | ULONG KeyIndex; | 
|  | ULONG KeyLength; | 
|  | NDIS_802_11_MAC_ADDRESS BSSID; | 
|  | NDIS_802_11_KEY_RSC KeyRSC; | 
|  | UCHAR KeyMaterial[1]; | 
|  | } NDIS_802_11_KEY, *PNDIS_802_11_KEY; | 
|  |  | 
|  | typedef struct _NDIS_802_11_REMOVE_KEY { | 
|  | ULONG Length; | 
|  | ULONG KeyIndex; | 
|  | NDIS_802_11_MAC_ADDRESS BSSID; | 
|  | } NDIS_802_11_REMOVE_KEY, *PNDIS_802_11_REMOVE_KEY; | 
|  | typedef struct _NDIS_802_11_WEP { | 
|  | ULONG Length; | 
|  | ULONG KeyIndex; | 
|  | ULONG KeyLength; | 
|  | UCHAR KeyMaterial[1]; | 
|  | } NDIS_802_11_WEP, *PNDIS_802_11_WEP; | 
|  |  | 
|  | typedef enum _NDIS_802_11_NETWORK_INFRASTRUCTURE { | 
|  | Ndis802_11IBSS, | 
|  | Ndis802_11Infrastructure, | 
|  | Ndis802_11AutoUnknown, | 
|  | Ndis802_11InfrastructureMax | 
|  | } NDIS_802_11_NETWORK_INFRASTRUCTURE, *PNDIS_802_11_NETWORK_INFRASTRUCTURE; | 
|  |  | 
|  | typedef enum _NDIS_802_11_AUTHENTICATION_MODE { | 
|  | Ndis802_11AuthModeOpen, | 
|  | Ndis802_11AuthModeShared, | 
|  | Ndis802_11AuthModeAutoSwitch, | 
|  | Ndis802_11AuthModeWPA, | 
|  | Ndis802_11AuthModeWPAPSK, | 
|  | Ndis802_11AuthModeWPANone, | 
|  | Ndis802_11AuthModeWPA2, | 
|  | Ndis802_11AuthModeWPA2PSK, | 
|  | Ndis802_11AuthModeMax | 
|  | } NDIS_802_11_AUTHENTICATION_MODE, *PNDIS_802_11_AUTHENTICATION_MODE; | 
|  |  | 
|  | typedef UCHAR NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES]; | 
|  | typedef UCHAR NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX]; | 
|  |  | 
|  | typedef struct _NDIS_802_11_SSID { | 
|  | ULONG SsidLength; | 
|  | UCHAR Ssid[NDIS_802_11_LENGTH_SSID]; | 
|  | } NDIS_802_11_SSID, *PNDIS_802_11_SSID; | 
|  |  | 
|  | typedef struct _NDIS_WLAN_BSSID { | 
|  | ULONG Length; | 
|  | NDIS_802_11_MAC_ADDRESS MacAddress; | 
|  | UCHAR Reserved[2]; | 
|  | NDIS_802_11_SSID Ssid; | 
|  | ULONG Privacy; | 
|  | NDIS_802_11_RSSI Rssi; | 
|  | NDIS_802_11_NETWORK_TYPE NetworkTypeInUse; | 
|  | NDIS_802_11_CONFIGURATION Configuration; | 
|  | NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode; | 
|  | NDIS_802_11_RATES SupportedRates; | 
|  | } NDIS_WLAN_BSSID, *PNDIS_WLAN_BSSID; | 
|  |  | 
|  | typedef struct _NDIS_802_11_BSSID_LIST { | 
|  | ULONG NumberOfItems; | 
|  | NDIS_WLAN_BSSID Bssid[1]; | 
|  | } NDIS_802_11_BSSID_LIST, *PNDIS_802_11_BSSID_LIST; | 
|  |  | 
|  | typedef struct _NDIS_WLAN_BSSID_EX { | 
|  | ULONG Length; | 
|  | NDIS_802_11_MAC_ADDRESS MacAddress; | 
|  | UCHAR Reserved[2]; | 
|  | NDIS_802_11_SSID Ssid; | 
|  | ULONG Privacy; | 
|  | NDIS_802_11_RSSI Rssi; | 
|  | NDIS_802_11_NETWORK_TYPE NetworkTypeInUse; | 
|  | NDIS_802_11_CONFIGURATION Configuration; | 
|  | NDIS_802_11_NETWORK_INFRASTRUCTURE InfrastructureMode; | 
|  | NDIS_802_11_RATES_EX SupportedRates; | 
|  | ULONG IELength; | 
|  | UCHAR IEs[1]; | 
|  | } NDIS_WLAN_BSSID_EX, *PNDIS_WLAN_BSSID_EX; | 
|  |  | 
|  | typedef struct _NDIS_802_11_BSSID_LIST_EX { | 
|  | ULONG NumberOfItems; | 
|  | NDIS_WLAN_BSSID_EX Bssid[1]; | 
|  | } NDIS_802_11_BSSID_LIST_EX, *PNDIS_802_11_BSSID_LIST_EX; | 
|  |  | 
|  | typedef struct _NDIS_802_11_FIXED_IEs { | 
|  | UCHAR Timestamp[8]; | 
|  | USHORT BeaconInterval; | 
|  | USHORT Capabilities; | 
|  | } NDIS_802_11_FIXED_IEs, *PNDIS_802_11_FIXED_IEs; | 
|  |  | 
|  | typedef struct _NDIS_802_11_VARIABLE_IEs { | 
|  | UCHAR ElementID; | 
|  | UCHAR Length; | 
|  | UCHAR data[1]; | 
|  | } NDIS_802_11_VARIABLE_IEs, *PNDIS_802_11_VARIABLE_IEs; | 
|  |  | 
|  | typedef ULONG NDIS_802_11_FRAGMENTATION_THRESHOLD; | 
|  | typedef ULONG NDIS_802_11_RTS_THRESHOLD; | 
|  | typedef ULONG NDIS_802_11_ANTENNA; | 
|  |  | 
|  | typedef enum _NDIS_802_11_PRIVACY_FILTER { | 
|  | Ndis802_11PrivFilterAcceptAll, | 
|  | Ndis802_11PrivFilter8021xWEP | 
|  | } NDIS_802_11_PRIVACY_FILTER, *PNDIS_802_11_PRIVACY_FILTER; | 
|  |  | 
|  | typedef enum _NDIS_802_11_WEP_STATUS { | 
|  | Ndis802_11WEPEnabled, | 
|  | Ndis802_11Encryption1Enabled = Ndis802_11WEPEnabled, | 
|  | Ndis802_11WEPDisabled, | 
|  | Ndis802_11EncryptionDisabled = Ndis802_11WEPDisabled, | 
|  | Ndis802_11WEPKeyAbsent, | 
|  | Ndis802_11Encryption1KeyAbsent = Ndis802_11WEPKeyAbsent, | 
|  | Ndis802_11WEPNotSupported, | 
|  | Ndis802_11EncryptionNotSupported = Ndis802_11WEPNotSupported, | 
|  | Ndis802_11Encryption2Enabled, | 
|  | Ndis802_11Encryption2KeyAbsent, | 
|  | Ndis802_11Encryption3Enabled, | 
|  | Ndis802_11Encryption3KeyAbsent | 
|  | } NDIS_802_11_WEP_STATUS, *PNDIS_802_11_WEP_STATUS, NDIS_802_11_ENCRYPTION_STATUS, *PNDIS_802_11_ENCRYPTION_STATUS; | 
|  |  | 
|  | typedef enum _NDIS_802_11_RELOAD_DEFAULTS { | 
|  | Ndis802_11ReloadWEPKeys | 
|  | } NDIS_802_11_RELOAD_DEFAULTS, *PNDIS_802_11_RELOAD_DEFAULTS; | 
|  |  | 
|  | typedef struct _NDIS_802_11_AI_REQFI { | 
|  | USHORT Capabilities; | 
|  | USHORT ListenInterval; | 
|  | NDIS_802_11_MAC_ADDRESS CurrentAPAddress; | 
|  | } NDIS_802_11_AI_REQFI, *PNDIS_802_11_AI_REQFI; | 
|  |  | 
|  | typedef struct _NDIS_802_11_AI_RESFI { | 
|  | USHORT Capabilities; | 
|  | USHORT StatusCode; | 
|  | USHORT AssociationId; | 
|  | } NDIS_802_11_AI_RESFI, *PNDIS_802_11_AI_RESFI; | 
|  |  | 
|  | typedef struct _NDIS_802_11_ASSOCIATION_INFORMATION { | 
|  | ULONG Length; | 
|  | USHORT AvailableRequestFixedIEs; | 
|  | NDIS_802_11_AI_REQFI RequestFixedIEs; | 
|  | ULONG RequestIELength; | 
|  | ULONG OffsetRequestIEs; | 
|  | USHORT AvailableResponseFixedIEs; | 
|  | NDIS_802_11_AI_RESFI ResponseFixedIEs; | 
|  | ULONG ResponseIELength; | 
|  | ULONG OffsetResponseIEs; | 
|  | } NDIS_802_11_ASSOCIATION_INFORMATION, *PNDIS_802_11_ASSOCIATION_INFORMATION; | 
|  |  | 
|  | typedef struct _NDIS_802_11_AUTHENTICATION_EVENT { | 
|  | NDIS_802_11_STATUS_INDICATION Status; | 
|  | NDIS_802_11_AUTHENTICATION_REQUEST Request[1]; | 
|  | } NDIS_802_11_AUTHENTICATION_EVENT, *PNDIS_802_11_AUTHENTICATION_EVENT; | 
|  |  | 
|  | typedef struct _NDIS_802_11_TEST { | 
|  | ULONG Length; | 
|  | ULONG Type; | 
|  | __C89_NAMELESS union { | 
|  | NDIS_802_11_AUTHENTICATION_EVENT AuthenticationEvent; | 
|  | NDIS_802_11_RSSI RssiTrigger; | 
|  | }; | 
|  | } NDIS_802_11_TEST, *PNDIS_802_11_TEST; | 
|  |  | 
|  | typedef enum _NDIS_802_11_MEDIA_STREAM_MODE { | 
|  | Ndis802_11MediaStreamOff, | 
|  | Ndis802_11MediaStreamOn, | 
|  | } NDIS_802_11_MEDIA_STREAM_MODE, *PNDIS_802_11_MEDIA_STREAM_MODE; | 
|  |  | 
|  | typedef UCHAR NDIS_802_11_PMKID_VALUE[16]; | 
|  |  | 
|  | typedef struct _BSSID_INFO { | 
|  | NDIS_802_11_MAC_ADDRESS BSSID; | 
|  | NDIS_802_11_PMKID_VALUE PMKID; | 
|  | } BSSID_INFO, *PBSSID_INFO; | 
|  |  | 
|  | typedef struct _NDIS_802_11_PMKID { | 
|  | ULONG Length; | 
|  | ULONG BSSIDInfoCount; | 
|  | BSSID_INFO BSSIDInfo[1]; | 
|  | } NDIS_802_11_PMKID, *PNDIS_802_11_PMKID; | 
|  |  | 
|  | typedef struct _NDIS_802_11_AUTHENTICATION_ENCRYPTION { | 
|  | NDIS_802_11_AUTHENTICATION_MODE AuthModeSupported; | 
|  | NDIS_802_11_ENCRYPTION_STATUS EncryptStatusSupported; | 
|  | } NDIS_802_11_AUTHENTICATION_ENCRYPTION, *PNDIS_802_11_AUTHENTICATION_ENCRYPTION; | 
|  |  | 
|  | typedef struct _NDIS_802_11_CAPABILITY { | 
|  | ULONG Length; | 
|  | ULONG Version; | 
|  | ULONG NoOfPMKIDs; | 
|  | ULONG NoOfAuthEncryptPairsSupported; | 
|  | NDIS_802_11_AUTHENTICATION_ENCRYPTION AuthenticationEncryptionSupported[1]; | 
|  | } NDIS_802_11_CAPABILITY, *PNDIS_802_11_CAPABILITY; | 
|  |  | 
|  | typedef struct _NDIS_802_11_NON_BCAST_SSID_LIST { | 
|  | ULONG NumberOfItems; | 
|  | NDIS_802_11_SSID Non_Bcast_Ssid[1]; | 
|  | } NDIS_802_11_NON_BCAST_SSID_LIST, *PNDIS_802_11_NON_BCAST_SSID_LIST; | 
|  |  | 
|  | typedef enum _NDIS_802_11_RADIO_STATUS { | 
|  | Ndis802_11RadioStatusOn, | 
|  | Ndis802_11RadioStatusHardwareOff, | 
|  | Ndis802_11RadioStatusSoftwareOff, | 
|  | Ndis802_11RadioStatusHardwareSoftwareOff, | 
|  | Ndis802_11RadioStatusMax | 
|  | } NDIS_802_11_RADIO_STATUS, *PNDIS_802_11_RADIO_STATUS; | 
|  |  | 
|  | #define OID_IRDA_RECEIVING 0x0a010100 | 
|  | #define OID_IRDA_TURNAROUND_TIME 0x0a010101 | 
|  | #define OID_IRDA_SUPPORTED_SPEEDS 0x0a010102 | 
|  | #define OID_IRDA_LINK_SPEED 0x0a010103 | 
|  | #define OID_IRDA_MEDIA_BUSY 0x0a010104 | 
|  |  | 
|  | #define OID_IRDA_EXTRA_RCV_BOFS 0x0a010200 | 
|  | #define OID_IRDA_RATE_SNIFF 0x0a010201 | 
|  | #define OID_IRDA_UNICAST_LIST 0x0a010202 | 
|  | #define OID_IRDA_MAX_UNICAST_LIST_SIZE 0x0a010203 | 
|  | #define OID_IRDA_MAX_RECEIVE_WINDOW_SIZE 0x0a010204 | 
|  | #define OID_IRDA_MAX_SEND_WINDOW_SIZE 0x0a010205 | 
|  | #define OID_IRDA_RESERVED1 0x0a01020a | 
|  | #define OID_IRDA_RESERVED2 0x0a01020f | 
|  |  | 
|  | #define OID_1394_LOCAL_NODE_INFO 0x0c010101 | 
|  | #define OID_1394_VC_INFO 0x0c010102 | 
|  |  | 
|  | #define OID_CO_ADD_PVC 0xfe000001 | 
|  | #define OID_CO_DELETE_PVC 0xfe000002 | 
|  | #define OID_CO_GET_CALL_INFORMATION 0xfe000003 | 
|  | #define OID_CO_ADD_ADDRESS 0xfe000004 | 
|  | #define OID_CO_DELETE_ADDRESS 0xfe000005 | 
|  | #define OID_CO_GET_ADDRESSES 0xfe000006 | 
|  | #define OID_CO_ADDRESS_CHANGE 0xfe000007 | 
|  | #define OID_CO_SIGNALING_ENABLED 0xfe000008 | 
|  | #define OID_CO_SIGNALING_DISABLED 0xfe000009 | 
|  | #define OID_CO_AF_CLOSE 0xfe00000a | 
|  |  | 
|  | #define OID_CO_TAPI_CM_CAPS 0xfe001001 | 
|  | #define OID_CO_TAPI_LINE_CAPS 0xfe001002 | 
|  | #define OID_CO_TAPI_ADDRESS_CAPS 0xfe001003 | 
|  | #define OID_CO_TAPI_TRANSLATE_TAPI_CALLPARAMS 0xfe001004 | 
|  | #define OID_CO_TAPI_TRANSLATE_NDIS_CALLPARAMS 0xfe001005 | 
|  | #define OID_CO_TAPI_TRANSLATE_TAPI_SAP 0xfe001006 | 
|  | #define OID_CO_TAPI_GET_CALL_DIAGNOSTICS 0xfe001007 | 
|  | #define OID_CO_TAPI_REPORT_DIGITS 0xfe001008 | 
|  | #define OID_CO_TAPI_DONT_REPORT_DIGITS 0xfe001009 | 
|  |  | 
|  | #define OID_PNP_CAPABILITIES 0xfd010100 | 
|  | #define OID_PNP_SET_POWER 0xfd010101 | 
|  | #define OID_PNP_QUERY_POWER 0xfd010102 | 
|  | #define OID_PNP_ADD_WAKE_UP_PATTERN 0xfd010103 | 
|  | #define OID_PNP_REMOVE_WAKE_UP_PATTERN 0xfd010104 | 
|  | #define OID_PNP_WAKE_UP_PATTERN_LIST 0xfd010105 | 
|  | #define OID_PNP_ENABLE_WAKE_UP 0xfd010106 | 
|  |  | 
|  | #define OID_PNP_WAKE_UP_OK 0xfd020200 | 
|  | #define OID_PNP_WAKE_UP_ERROR 0xfd020201 | 
|  |  | 
|  | #if (NTDDI_VERSION >= 0x06010000 || NDIS_SUPPORT_NDIS620) | 
|  | #define OID_PM_CURRENT_CAPABILITIES 0xfd010107 | 
|  | #define OID_PM_HARDWARE_CAPABILITIES 0xfd010108 | 
|  | #define OID_PM_PARAMETERS 0xfd010109 | 
|  | #define OID_PM_ADD_WOL_PATTERN 0xfd01010a | 
|  | #define OID_PM_REMOVE_WOL_PATTERN 0xfd01010b | 
|  | #define OID_PM_WOL_PATTERN_LIST 0xfd01010c | 
|  | #define OID_PM_ADD_PROTOCOL_OFFLOAD 0xfd01010d | 
|  | #define OID_PM_GET_PROTOCOL_OFFLOAD 0xfd01010e | 
|  | #define OID_PM_REMOVE_PROTOCOL_OFFLOAD 0xfd01010f | 
|  | #define OID_PM_PROTOCOL_OFFLOAD_LIST 0xfd010110 | 
|  | #define OID_PM_RESERVED_1 0xfd010111 | 
|  |  | 
|  | #define OID_RECEIVE_FILTER_HARDWARE_CAPABILITIES 0x00010221 | 
|  | #define OID_RECEIVE_FILTER_GLOBAL_PARAMETERS 0x00010222 | 
|  | #define OID_RECEIVE_FILTER_ALLOCATE_QUEUE 0x00010223 | 
|  | #define OID_RECEIVE_FILTER_FREE_QUEUE 0x00010224 | 
|  | #define OID_RECEIVE_FILTER_ENUM_QUEUES 0x00010225 | 
|  | #define OID_RECEIVE_FILTER_QUEUE_PARAMETERS 0x00010226 | 
|  | #define OID_RECEIVE_FILTER_SET_FILTER 0x00010227 | 
|  | #define OID_RECEIVE_FILTER_CLEAR_FILTER 0x00010228 | 
|  | #define OID_RECEIVE_FILTER_ENUM_FILTERS 0x00010229 | 
|  | #define OID_RECEIVE_FILTER_PARAMETERS 0x0001022a | 
|  | #define OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE 0x0001022b | 
|  | #define OID_RECEIVE_FILTER_CURRENT_CAPABILITIES 0x0001022d | 
|  | #define OID_NIC_SWITCH_HARDWARE_CAPABILITIES 0x0001022e | 
|  | #define OID_NIC_SWITCH_CURRENT_CAPABILITIES 0x0001022f | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define OID_RECEIVE_FILTER_MOVE_FILTER 0x00010230 | 
|  | #endif | 
|  | #define OID_VLAN_RESERVED1 0x00010231 | 
|  | #define OID_VLAN_RESERVED2 0x00010232 | 
|  | #define OID_VLAN_RESERVED3 0x00010233 | 
|  | #define OID_VLAN_RESERVED4 0x00010234 | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define OID_PACKET_COALESCING_FILTER_MATCH_COUNT 0x00010235 | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #if NTDDI_VERSION >= 0x06020000 || NDIS_SUPPORT_NDIS630 | 
|  | #define OID_NIC_SWITCH_CREATE_SWITCH 0x00010237 | 
|  | #define OID_NIC_SWITCH_PARAMETERS 0x00010238 | 
|  | #define OID_NIC_SWITCH_DELETE_SWITCH 0x00010239 | 
|  | #define OID_NIC_SWITCH_ENUM_SWITCHES 0x00010240 | 
|  | #define OID_NIC_SWITCH_CREATE_VPORT 0x00010241 | 
|  | #define OID_NIC_SWITCH_VPORT_PARAMETERS 0x00010242 | 
|  | #define OID_NIC_SWITCH_ENUM_VPORTS 0x00010243 | 
|  | #define OID_NIC_SWITCH_DELETE_VPORT 0x00010244 | 
|  | #define OID_NIC_SWITCH_ALLOCATE_VF 0x00010245 | 
|  | #define OID_NIC_SWITCH_FREE_VF 0x00010246 | 
|  | #define OID_NIC_SWITCH_VF_PARAMETERS 0x00010247 | 
|  | #define OID_NIC_SWITCH_ENUM_VFS 0x00010248 | 
|  |  | 
|  | #define OID_SRIOV_HARDWARE_CAPABILITIES 0x00010249 | 
|  | #define OID_SRIOV_CURRENT_CAPABILITIES 0x00010250 | 
|  | #define OID_SRIOV_READ_VF_CONFIG_SPACE 0x00010251 | 
|  | #define OID_SRIOV_WRITE_VF_CONFIG_SPACE 0x00010252 | 
|  | #define OID_SRIOV_READ_VF_CONFIG_BLOCK 0x00010253 | 
|  | #define OID_SRIOV_WRITE_VF_CONFIG_BLOCK 0x00010254 | 
|  | #define OID_SRIOV_RESET_VF 0x00010255 | 
|  | #define OID_SRIOV_SET_VF_POWER_STATE 0x00010256 | 
|  | #define OID_SRIOV_VF_VENDOR_DEVICE_ID 0x00010257 | 
|  | #define OID_SRIOV_PROBED_BARS 0x00010258 | 
|  | #define OID_SRIOV_BAR_RESOURCES 0x00010259 | 
|  | #define OID_SRIOV_PF_LUID 0x00010260 | 
|  |  | 
|  | #define OID_SRIOV_CONFIG_STATE 0x00010261 | 
|  | #define OID_SRIOV_VF_SERIAL_NUMBER 0x00010262 | 
|  | #define OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK 0x00010269 | 
|  |  | 
|  | #define OID_SWITCH_PROPERTY_ADD 0x00010263 | 
|  | #define OID_SWITCH_PROPERTY_UPDATE 0x00010264 | 
|  | #define OID_SWITCH_PROPERTY_DELETE 0x00010265 | 
|  | #define OID_SWITCH_PROPERTY_ENUM 0x00010266 | 
|  | #define OID_SWITCH_FEATURE_STATUS_QUERY 0x00010267 | 
|  |  | 
|  | #define OID_SWITCH_NIC_REQUEST 0x00010270 | 
|  | #define OID_SWITCH_PORT_PROPERTY_ADD 0x00010271 | 
|  | #define OID_SWITCH_PORT_PROPERTY_UPDATE 0x00010272 | 
|  | #define OID_SWITCH_PORT_PROPERTY_DELETE 0x00010273 | 
|  | #define OID_SWITCH_PORT_PROPERTY_ENUM 0x00010274 | 
|  | #define OID_SWITCH_PARAMETERS 0x00010275 | 
|  | #define OID_SWITCH_PORT_ARRAY 0x00010276 | 
|  | #define OID_SWITCH_NIC_ARRAY 0x00010277 | 
|  | #define OID_SWITCH_PORT_CREATE 0x00010278 | 
|  | #define OID_SWITCH_PORT_DELETE 0x00010279 | 
|  | #define OID_SWITCH_NIC_CREATE 0x0001027a | 
|  | #define OID_SWITCH_NIC_CONNECT 0x0001027b | 
|  | #define OID_SWITCH_NIC_DISCONNECT 0x0001027c | 
|  | #define OID_SWITCH_NIC_DELETE 0x0001027d | 
|  | #define OID_SWITCH_PORT_FEATURE_STATUS_QUERY 0x0001027e | 
|  | #define OID_SWITCH_PORT_TEARDOWN 0x0001027f | 
|  | #define OID_SWITCH_NIC_SAVE 0x00010290 | 
|  | #define OID_SWITCH_NIC_SAVE_COMPLETE 0x00010291 | 
|  | #define OID_SWITCH_NIC_RESTORE 0x00010292 | 
|  | #define OID_SWITCH_NIC_RESTORE_COMPLETE 0x00010293 | 
|  | #define OID_SWITCH_NIC_UPDATED 0x00010294 | 
|  | #define OID_SWITCH_PORT_UPDATED 0x00010295 | 
|  | #endif | 
|  |  | 
|  | #define NDIS_PNP_WAKE_UP_MAGIC_PACKET 0x00000001 | 
|  | #define NDIS_PNP_WAKE_UP_PATTERN_MATCH 0x00000002 | 
|  | #define NDIS_PNP_WAKE_UP_LINK_CHANGE 0x00000004 | 
|  |  | 
|  | #define OID_TCP_TASK_OFFLOAD 0xfc010201 | 
|  | #define OID_TCP_TASK_IPSEC_ADD_SA 0xfc010202 | 
|  | #define OID_TCP_TASK_IPSEC_DELETE_SA 0xfc010203 | 
|  | #define OID_TCP_SAN_SUPPORT 0xfc010204 | 
|  | #define OID_TCP_TASK_IPSEC_ADD_UDPESP_SA 0xfc010205 | 
|  | #define OID_TCP_TASK_IPSEC_DELETE_UDPESP_SA 0xfc010206 | 
|  | #define OID_TCP4_OFFLOAD_STATS 0xfc010207 | 
|  | #define OID_TCP6_OFFLOAD_STATS 0xfc010208 | 
|  | #define OID_IP4_OFFLOAD_STATS 0xfc010209 | 
|  | #define OID_IP6_OFFLOAD_STATS 0xfc01020a | 
|  |  | 
|  | #define OID_TCP_OFFLOAD_CURRENT_CONFIG 0xfc01020b | 
|  | #define OID_TCP_OFFLOAD_PARAMETERS 0xfc01020c | 
|  | #define OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES 0xfc01020d | 
|  | #define OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG 0xfc01020e | 
|  | #define OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES 0xfc01020f | 
|  | #define OID_OFFLOAD_ENCAPSULATION 0x0101010a | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS61 | 
|  | #define OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA 0xfc030202 | 
|  | #define OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA 0xfc030203 | 
|  | #define OID_TCP_TASK_IPSEC_OFFLOAD_V2_UPDATE_SA 0xfc030204 | 
|  | #endif | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA_EX 0xfc030205 | 
|  | #endif | 
|  |  | 
|  | #define OID_FFP_SUPPORT 0xfc010210 | 
|  | #define OID_FFP_FLUSH 0xfc010211 | 
|  | #define OID_FFP_CONTROL 0xfc010212 | 
|  | #define OID_FFP_PARAMS 0xfc010213 | 
|  | #define OID_FFP_DATA 0xfc010214 | 
|  |  | 
|  | #define OID_FFP_DRIVER_STATS 0xfc020210 | 
|  | #define OID_FFP_ADAPTER_STATS 0xfc020211 | 
|  |  | 
|  | #define OID_TCP_CONNECTION_OFFLOAD_PARAMETERS 0xfc030201 | 
|  |  | 
|  | #if NTDDI_VERSION >= 0x06010000 || NDIS_SUPPORT_NDIS620 | 
|  | #define OID_TUNNEL_INTERFACE_SET_OID 0x0f010106 | 
|  | #define OID_TUNNEL_INTERFACE_RELEASE_OID 0x0f010107 | 
|  | #endif | 
|  |  | 
|  | #define OID_QOS_RESERVED1 0xfb010100 | 
|  | #define OID_QOS_RESERVED2 0xfb010101 | 
|  | #define OID_QOS_RESERVED3 0xfb010102 | 
|  | #define OID_QOS_RESERVED4 0xfb010103 | 
|  | #define OID_QOS_RESERVED5 0xfb010104 | 
|  | #define OID_QOS_RESERVED6 0xfb010105 | 
|  | #define OID_QOS_RESERVED7 0xfb010106 | 
|  | #define OID_QOS_RESERVED8 0xfb010107 | 
|  | #define OID_QOS_RESERVED9 0xfb010108 | 
|  | #define OID_QOS_RESERVED10 0xfb010109 | 
|  | #define OID_QOS_RESERVED11 0xfb01010a | 
|  | #define OID_QOS_RESERVED12 0xfb01010b | 
|  | #define OID_QOS_RESERVED13 0xfb01010c | 
|  | #define OID_QOS_RESERVED14 0xfb01010d | 
|  | #define OID_QOS_RESERVED15 0xfb01010e | 
|  | #define OID_QOS_RESERVED16 0xfb01010f | 
|  | #define OID_QOS_RESERVED17 0xfb010110 | 
|  | #define OID_QOS_RESERVED18 0xfb010111 | 
|  | #define OID_QOS_RESERVED19 0xfb010112 | 
|  | #define OID_QOS_RESERVED20 0xfb010113 | 
|  |  | 
|  | #define OFFLOAD_MAX_SAS 3 | 
|  |  | 
|  | #define OFFLOAD_INBOUND_SA 0x0001 | 
|  | #define OFFLOAD_OUTBOUND_SA 0x0002 | 
|  |  | 
|  | typedef struct NDIS_CO_DEVICE_PROFILE { | 
|  | NDIS_VAR_DATA_DESC DeviceDescription; | 
|  | NDIS_VAR_DATA_DESC DevSpecificInfo; | 
|  | ULONG ulTAPISupplementaryPassThru; | 
|  | ULONG ulAddressModes; | 
|  | ULONG ulNumAddresses; | 
|  | ULONG ulBearerModes; | 
|  | ULONG ulMaxTxRate; | 
|  | ULONG ulMinTxRate; | 
|  | ULONG ulMaxRxRate; | 
|  | ULONG ulMinRxRate; | 
|  | ULONG ulMediaModes; | 
|  | ULONG ulGenerateToneModes; | 
|  | ULONG ulGenerateToneMaxNumFreq; | 
|  | ULONG ulGenerateDigitModes; | 
|  | ULONG ulMonitorToneMaxNumFreq; | 
|  | ULONG ulMonitorToneMaxNumEntries; | 
|  | ULONG ulMonitorDigitModes; | 
|  | ULONG ulGatherDigitsMinTimeout; | 
|  | ULONG ulGatherDigitsMaxTimeout; | 
|  | ULONG ulDevCapFlags; | 
|  | ULONG ulMaxNumActiveCalls; | 
|  | ULONG ulAnswerMode; | 
|  | ULONG ulUUIAcceptSize; | 
|  | ULONG ulUUIAnswerSize; | 
|  | ULONG ulUUIMakeCallSize; | 
|  | ULONG ulUUIDropSize; | 
|  | ULONG ulUUISendUserUserInfoSize; | 
|  | ULONG ulUUICallInfoSize; | 
|  | } NDIS_CO_DEVICE_PROFILE, *PNDIS_CO_DEVICE_PROFILE; | 
|  |  | 
|  | #ifndef IP_EXPORT_INCLUDED | 
|  | typedef ULONG IPAddr, IPMask; | 
|  | #endif | 
|  | typedef ULONG SPI_TYPE; | 
|  |  | 
|  | typedef enum _OFFLOAD_OPERATION_E { | 
|  | AUTHENTICATE = 1, | 
|  | ENCRYPT | 
|  | } OFFLOAD_OPERATION_E; | 
|  |  | 
|  | typedef struct _OFFLOAD_ALGO_INFO { | 
|  | ULONG algoIdentifier; | 
|  | ULONG algoKeylen; | 
|  | ULONG algoRounds; | 
|  | } OFFLOAD_ALGO_INFO, *POFFLOAD_ALGO_INFO; | 
|  |  | 
|  | typedef enum _OFFLOAD_CONF_ALGO { | 
|  | OFFLOAD_IPSEC_CONF_NONE, | 
|  | OFFLOAD_IPSEC_CONF_DES, | 
|  | OFFLOAD_IPSEC_CONF_RESERVED, | 
|  | OFFLOAD_IPSEC_CONF_3_DES, | 
|  | OFFLOAD_IPSEC_CONF_MAX | 
|  | } OFFLOAD_CONF_ALGO; | 
|  |  | 
|  | typedef enum _OFFLOAD_INTEGRITY_ALGO { | 
|  | OFFLOAD_IPSEC_INTEGRITY_NONE, | 
|  | OFFLOAD_IPSEC_INTEGRITY_MD5, | 
|  | OFFLOAD_IPSEC_INTEGRITY_SHA, | 
|  | OFFLOAD_IPSEC_INTEGRITY_MAX | 
|  | } OFFLOAD_INTEGRITY_ALGO; | 
|  |  | 
|  | typedef struct _OFFLOAD_SECURITY_ASSOCIATION { | 
|  | OFFLOAD_OPERATION_E Operation; | 
|  | SPI_TYPE SPI; | 
|  | OFFLOAD_ALGO_INFO IntegrityAlgo; | 
|  | OFFLOAD_ALGO_INFO ConfAlgo; | 
|  | OFFLOAD_ALGO_INFO Reserved; | 
|  | } OFFLOAD_SECURITY_ASSOCIATION, *POFFLOAD_SECURITY_ASSOCIATION; | 
|  |  | 
|  | typedef struct _OFFLOAD_IPSEC_ADD_SA { | 
|  | IPAddr SrcAddr; | 
|  | IPMask SrcMask; | 
|  | IPAddr DestAddr; | 
|  | IPMask DestMask; | 
|  | ULONG Protocol; | 
|  | USHORT SrcPort; | 
|  | USHORT DestPort; | 
|  | IPAddr SrcTunnelAddr; | 
|  | IPAddr DestTunnelAddr; | 
|  | USHORT Flags; | 
|  | SHORT NumSAs; | 
|  | OFFLOAD_SECURITY_ASSOCIATION SecAssoc[OFFLOAD_MAX_SAS]; | 
|  | HANDLE OffloadHandle; | 
|  | ULONG KeyLen; | 
|  | UCHAR KeyMat[1]; | 
|  | } OFFLOAD_IPSEC_ADD_SA, *POFFLOAD_IPSEC_ADD_SA; | 
|  |  | 
|  | typedef struct _OFFLOAD_IPSEC_DELETE_SA { | 
|  | HANDLE OffloadHandle; | 
|  | } OFFLOAD_IPSEC_DELETE_SA, *POFFLOAD_IPSEC_DELETE_SA; | 
|  |  | 
|  | typedef enum _UDP_ENCAP_TYPE { | 
|  | OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_IKE, | 
|  | OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_OTHER | 
|  | } UDP_ENCAP_TYPE, *PUDP_ENCAP_TYPE; | 
|  |  | 
|  | typedef struct _OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY { | 
|  | UDP_ENCAP_TYPE UdpEncapType; | 
|  | USHORT DstEncapPort; | 
|  | } OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY, *POFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY; | 
|  |  | 
|  | typedef struct _OFFLOAD_IPSEC_ADD_UDPESP_SA { | 
|  | IPAddr SrcAddr; | 
|  | IPMask SrcMask; | 
|  | IPAddr DstAddr; | 
|  | IPMask DstMask; | 
|  | ULONG Protocol; | 
|  | USHORT SrcPort; | 
|  | USHORT DstPort; | 
|  | IPAddr SrcTunnelAddr; | 
|  | IPAddr DstTunnelAddr; | 
|  | USHORT Flags; | 
|  | SHORT NumSAs; | 
|  | OFFLOAD_SECURITY_ASSOCIATION SecAssoc[OFFLOAD_MAX_SAS]; | 
|  | HANDLE OffloadHandle; | 
|  | OFFLOAD_IPSEC_UDPESP_ENCAPTYPE_ENTRY EncapTypeEntry; | 
|  | HANDLE EncapTypeEntryOffldHandle; | 
|  | ULONG KeyLen; | 
|  | UCHAR KeyMat[1]; | 
|  | } OFFLOAD_IPSEC_ADD_UDPESP_SA, *POFFLOAD_IPSEC_ADD_UDPESP_SA; | 
|  |  | 
|  | typedef struct _OFFLOAD_IPSEC_DELETE_UDPESP_SA { | 
|  | HANDLE OffloadHandle; | 
|  | HANDLE EncapTypeEntryOffldHandle; | 
|  | } OFFLOAD_IPSEC_DELETE_UDPESP_SA, *POFFLOAD_IPSEC_DELETE_UDPESP_SA; | 
|  |  | 
|  | typedef ULONG NDIS_VLAN_ID; | 
|  |  | 
|  | typedef enum _NDIS_MEDIUM { | 
|  | NdisMedium802_3, | 
|  | NdisMedium802_5, | 
|  | NdisMediumFddi, | 
|  | NdisMediumWan, | 
|  | NdisMediumLocalTalk, | 
|  | NdisMediumDix, | 
|  | NdisMediumArcnetRaw, | 
|  | NdisMediumArcnet878_2, | 
|  | NdisMediumAtm, | 
|  | NdisMediumWirelessWan, | 
|  | NdisMediumIrda, | 
|  | NdisMediumBpc, | 
|  | NdisMediumCoWan, | 
|  | NdisMedium1394, | 
|  | NdisMediumInfiniBand, | 
|  | #if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6 | 
|  | NdisMediumTunnel, | 
|  | NdisMediumNative802_11, | 
|  | NdisMediumLoopback, | 
|  | #endif | 
|  | #if NTDDI_VERSION >= 0x06010000 | 
|  | NdisMediumWiMAX, | 
|  | NdisMediumIP, | 
|  | #endif | 
|  | NdisMediumMax | 
|  | } NDIS_MEDIUM, *PNDIS_MEDIUM; | 
|  |  | 
|  | typedef enum _NDIS_PHYSICAL_MEDIUM { | 
|  | NdisPhysicalMediumUnspecified, | 
|  | NdisPhysicalMediumWirelessLan, | 
|  | NdisPhysicalMediumCableModem, | 
|  | NdisPhysicalMediumPhoneLine, | 
|  | NdisPhysicalMediumPowerLine, | 
|  | NdisPhysicalMediumDSL, | 
|  | NdisPhysicalMediumFibreChannel, | 
|  | NdisPhysicalMedium1394, | 
|  | NdisPhysicalMediumWirelessWan, | 
|  | NdisPhysicalMediumNative802_11, | 
|  | NdisPhysicalMediumBluetooth, | 
|  | NdisPhysicalMediumInfiniband, | 
|  | NdisPhysicalMediumWiMax, | 
|  | NdisPhysicalMediumUWB, | 
|  | NdisPhysicalMedium802_3, | 
|  | NdisPhysicalMedium802_5, | 
|  | NdisPhysicalMediumIrda, | 
|  | NdisPhysicalMediumWiredWAN, | 
|  | NdisPhysicalMediumWiredCoWan, | 
|  | NdisPhysicalMediumOther, | 
|  | NdisPhysicalMediumMax | 
|  | } NDIS_PHYSICAL_MEDIUM, *PNDIS_PHYSICAL_MEDIUM; | 
|  |  | 
|  | typedef struct _TRANSPORT_HEADER_OFFSET { | 
|  | USHORT ProtocolType; | 
|  | USHORT HeaderOffset; | 
|  | } TRANSPORT_HEADER_OFFSET, *PTRANSPORT_HEADER_OFFSET; | 
|  |  | 
|  | typedef struct _NETWORK_ADDRESS { | 
|  | USHORT AddressLength; | 
|  | USHORT AddressType; | 
|  | UCHAR Address[1]; | 
|  | } NETWORK_ADDRESS, *PNETWORK_ADDRESS; | 
|  |  | 
|  | typedef struct _NETWORK_ADDRESS_LIST { | 
|  | LONG AddressCount; | 
|  | USHORT AddressType; | 
|  | NETWORK_ADDRESS Address[1]; | 
|  | } NETWORK_ADDRESS_LIST, *PNETWORK_ADDRESS_LIST; | 
|  |  | 
|  | typedef struct _NETWORK_ADDRESS_IP { | 
|  | USHORT sin_port; | 
|  | ULONG in_addr; | 
|  | UCHAR sin_zero[8]; | 
|  | } NETWORK_ADDRESS_IP, *PNETWORK_ADDRESS_IP; | 
|  |  | 
|  | #define NDIS_PROTOCOL_ID_DEFAULT 0x00 | 
|  | #define NDIS_PROTOCOL_ID_TCP_IP 0x02 | 
|  | #define NDIS_PROTOCOL_ID_IPX 0x06 | 
|  | #define NDIS_PROTOCOL_ID_NBF 0x07 | 
|  | #define NDIS_PROTOCOL_ID_MAX 0x0f | 
|  | #define NDIS_PROTOCOL_ID_MASK 0x0f | 
|  |  | 
|  | #define READABLE_LOCAL_CLOCK 0x00000001 | 
|  | #define CLOCK_NETWORK_DERIVED 0x00000002 | 
|  | #define CLOCK_PRECISION 0x00000004 | 
|  | #define RECEIVE_TIME_INDICATION_CAPABLE 0x00000008 | 
|  | #define TIMED_SEND_CAPABLE 0x00000010 | 
|  | #define TIME_STAMP_CAPABLE 0x00000020 | 
|  |  | 
|  | #define NDIS_DEVICE_WAKE_UP_ENABLE 0x00000001 | 
|  | #define NDIS_DEVICE_WAKE_ON_PATTERN_MATCH_ENABLE 0x00000002 | 
|  | #define NDIS_DEVICE_WAKE_ON_MAGIC_PACKET_ENABLE 0x00000004 | 
|  |  | 
|  | #define WAN_PROTOCOL_KEEPS_STATS 0x00000001 | 
|  |  | 
|  | #define NETWORK_ADDRESS_LENGTH_IP sizeof (NETWORK_ADDRESS_IP) | 
|  | #define NETWORK_ADDRESS_LENGTH_IPX sizeof (NETWORK_ADDRESS_IPX) | 
|  |  | 
|  | typedef struct _NETWORK_ADDRESS_IPX { | 
|  | ULONG NetworkAddress; | 
|  | UCHAR NodeAddress[6]; | 
|  | USHORT Socket; | 
|  | } NETWORK_ADDRESS_IPX, *PNETWORK_ADDRESS_IPX; | 
|  |  | 
|  | typedef enum _NDIS_HARDWARE_STATUS { | 
|  | NdisHardwareStatusReady, | 
|  | NdisHardwareStatusInitializing, | 
|  | NdisHardwareStatusReset, | 
|  | NdisHardwareStatusClosing, | 
|  | NdisHardwareStatusNotReady | 
|  | } NDIS_HARDWARE_STATUS, *PNDIS_HARDWARE_STATUS; | 
|  |  | 
|  | typedef struct _GEN_GET_TIME_CAPS { | 
|  | ULONG Flags; | 
|  | ULONG ClockPrecision; | 
|  | } GEN_GET_TIME_CAPS, *PGEN_GET_TIME_CAPS; | 
|  |  | 
|  | typedef struct _GEN_GET_NETCARD_TIME { | 
|  | ULONGLONG ReadTime; | 
|  | } GEN_GET_NETCARD_TIME, *PGEN_GET_NETCARD_TIME; | 
|  |  | 
|  | typedef struct _NDIS_PM_PACKET_PATTERN { | 
|  | ULONG Priority; | 
|  | ULONG Reserved; | 
|  | ULONG MaskSize; | 
|  | ULONG PatternOffset; | 
|  | ULONG PatternSize; | 
|  | ULONG PatternFlags; | 
|  | } NDIS_PM_PACKET_PATTERN, *PNDIS_PM_PACKET_PATTERN; | 
|  |  | 
|  | typedef enum _NDIS_DEVICE_POWER_STATE { | 
|  | NdisDeviceStateUnspecified = 0, | 
|  | NdisDeviceStateD0, | 
|  | NdisDeviceStateD1, | 
|  | NdisDeviceStateD2, | 
|  | NdisDeviceStateD3, | 
|  | NdisDeviceStateMaximum | 
|  | } NDIS_DEVICE_POWER_STATE, *PNDIS_DEVICE_POWER_STATE; | 
|  |  | 
|  | typedef struct _NDIS_PM_WAKE_UP_CAPABILITIES { | 
|  | NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp; | 
|  | NDIS_DEVICE_POWER_STATE MinPatternWakeUp; | 
|  | NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp; | 
|  | } NDIS_PM_WAKE_UP_CAPABILITIES, *PNDIS_PM_WAKE_UP_CAPABILITIES; | 
|  |  | 
|  | typedef struct _NDIS_PNP_CAPABILITIES { | 
|  | ULONG Flags; | 
|  | NDIS_PM_WAKE_UP_CAPABILITIES WakeUpCapabilities; | 
|  | } NDIS_PNP_CAPABILITIES, *PNDIS_PNP_CAPABILITIES; | 
|  |  | 
|  | typedef enum _NDIS_FDDI_ATTACHMENT_TYPE { | 
|  | NdisFddiTypeIsolated = 1, | 
|  | NdisFddiTypeLocalA, | 
|  | NdisFddiTypeLocalB, | 
|  | NdisFddiTypeLocalAB, | 
|  | NdisFddiTypeLocalS, | 
|  | NdisFddiTypeWrapA, | 
|  | NdisFddiTypeWrapB, | 
|  | NdisFddiTypeWrapAB, | 
|  | NdisFddiTypeWrapS, | 
|  | NdisFddiTypeCWrapA, | 
|  | NdisFddiTypeCWrapB, | 
|  | NdisFddiTypeCWrapS, | 
|  | NdisFddiTypeThrough | 
|  | } NDIS_FDDI_ATTACHMENT_TYPE, *PNDIS_FDDI_ATTACHMENT_TYPE; | 
|  |  | 
|  | typedef enum _NDIS_FDDI_RING_MGT_STATE { | 
|  | NdisFddiRingIsolated = 1, | 
|  | NdisFddiRingNonOperational, | 
|  | NdisFddiRingOperational, | 
|  | NdisFddiRingDetect, | 
|  | NdisFddiRingNonOperationalDup, | 
|  | NdisFddiRingOperationalDup, | 
|  | NdisFddiRingDirected, | 
|  | NdisFddiRingTrace | 
|  | } NDIS_FDDI_RING_MGT_STATE, *PNDIS_FDDI_RING_MGT_STATE; | 
|  |  | 
|  | typedef enum _NDIS_FDDI_LCONNECTION_STATE { | 
|  | NdisFddiStateOff = 1, | 
|  | NdisFddiStateBreak, | 
|  | NdisFddiStateTrace, | 
|  | NdisFddiStateConnect, | 
|  | NdisFddiStateNext, | 
|  | NdisFddiStateSignal, | 
|  | NdisFddiStateJoin, | 
|  | NdisFddiStateVerify, | 
|  | NdisFddiStateActive, | 
|  | NdisFddiStateMaintenance | 
|  | } NDIS_FDDI_LCONNECTION_STATE, *PNDIS_FDDI_LCONNECTION_STATE; | 
|  |  | 
|  | typedef enum _NDIS_WAN_MEDIUM_SUBTYPE { | 
|  | NdisWanMediumHub, | 
|  | NdisWanMediumX_25, | 
|  | NdisWanMediumIsdn, | 
|  | NdisWanMediumSerial, | 
|  | NdisWanMediumFrameRelay, | 
|  | NdisWanMediumAtm, | 
|  | NdisWanMediumSonet, | 
|  | NdisWanMediumSW56K, | 
|  | NdisWanMediumPPTP, | 
|  | NdisWanMediumL2TP, | 
|  | NdisWanMediumIrda, | 
|  | NdisWanMediumParallel, | 
|  | NdisWanMediumPppoe, | 
|  | #if NTDDI_VERSION >= 0x06000000 | 
|  | NdisWanMediumSSTP, | 
|  | NdisWanMediumAgileVPN, | 
|  | #endif | 
|  | } NDIS_WAN_MEDIUM_SUBTYPE, *PNDIS_WAN_MEDIUM_SUBTYPE; | 
|  |  | 
|  | typedef enum _NDIS_WAN_HEADER_FORMAT { | 
|  | NdisWanHeaderNative, | 
|  | NdisWanHeaderEthernet | 
|  | } NDIS_WAN_HEADER_FORMAT, *PNDIS_WAN_HEADER_FORMAT; | 
|  |  | 
|  | typedef enum _NDIS_WAN_QUALITY { | 
|  | NdisWanRaw, | 
|  | NdisWanErrorControl, | 
|  | NdisWanReliable | 
|  | } NDIS_WAN_QUALITY, *PNDIS_WAN_QUALITY; | 
|  |  | 
|  | typedef struct _NDIS_WAN_PROTOCOL_CAPS { | 
|  | ULONG Flags; | 
|  | ULONG Reserved; | 
|  | } NDIS_WAN_PROTOCOL_CAPS, *PNDIS_WAN_PROTOCOL_CAPS; | 
|  |  | 
|  | typedef enum _NDIS_802_5_RING_STATE { | 
|  | NdisRingStateOpened = 1, | 
|  | NdisRingStateClosed, | 
|  | NdisRingStateOpening, | 
|  | NdisRingStateClosing, | 
|  | NdisRingStateOpenFailure, | 
|  | NdisRingStateRingFailure | 
|  | } NDIS_802_5_RING_STATE, *PNDIS_802_5_RING_STATE; | 
|  |  | 
|  | typedef enum _NDIS_MEDIA_STATE { | 
|  | NdisMediaStateConnected, | 
|  | NdisMediaStateDisconnected | 
|  | } NDIS_MEDIA_STATE, *PNDIS_MEDIA_STATE; | 
|  |  | 
|  | typedef ULONG Priority_802_3; | 
|  |  | 
|  | typedef struct _NDIS_CO_LINK_SPEED { | 
|  | ULONG Outbound; | 
|  | ULONG Inbound; | 
|  | } NDIS_CO_LINK_SPEED, *PNDIS_CO_LINK_SPEED; | 
|  |  | 
|  | #if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6 | 
|  | #define NDIS_LINK_SPEED_UNKNOWN NET_IF_LINK_SPEED_UNKNOWN | 
|  |  | 
|  | typedef struct _NDIS_LINK_SPEED { | 
|  | ULONG64 XmitLinkSpeed; | 
|  | ULONG64 RcvLinkSpeed; | 
|  | } NDIS_LINK_SPEED, *PNDIS_LINK_SPEED; | 
|  | #endif | 
|  |  | 
|  | #ifndef _NDIS_ | 
|  | typedef int NDIS_STATUS, *PNDIS_STATUS; | 
|  | #endif | 
|  |  | 
|  | #if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6 | 
|  | #ifndef __WINDOT11_H__ | 
|  | #include <windot11.h> | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #define fNDIS_GUID_TO_OID 0x00000001 | 
|  | #define fNDIS_GUID_TO_STATUS 0x00000002 | 
|  | #define fNDIS_GUID_ANSI_STRING 0x00000004 | 
|  | #define fNDIS_GUID_UNICODE_STRING 0x00000008 | 
|  | #define fNDIS_GUID_ARRAY 0x00000010 | 
|  | #define fNDIS_GUID_ALLOW_READ 0x00000020 | 
|  | #define fNDIS_GUID_ALLOW_WRITE 0x00000040 | 
|  | #define fNDIS_GUID_METHOD 0x00000080 | 
|  | #define fNDIS_GUID_NDIS_RESERVED 0x00000100 | 
|  | #define fNDIS_GUID_SUPPORT_COMMON_HEADER 0x00000200 | 
|  |  | 
|  | #define NDIS_PACKET_TYPE_DIRECTED 0x00000001 | 
|  | #define NDIS_PACKET_TYPE_MULTICAST 0x00000002 | 
|  | #define NDIS_PACKET_TYPE_ALL_MULTICAST 0x00000004 | 
|  | #define NDIS_PACKET_TYPE_BROADCAST 0x00000008 | 
|  | #define NDIS_PACKET_TYPE_SOURCE_ROUTING 0x00000010 | 
|  | #define NDIS_PACKET_TYPE_PROMISCUOUS 0x00000020 | 
|  | #define NDIS_PACKET_TYPE_SMT 0x00000040 | 
|  | #define NDIS_PACKET_TYPE_ALL_LOCAL 0x00000080 | 
|  | #define NDIS_PACKET_TYPE_GROUP 0x00001000 | 
|  | #define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x00002000 | 
|  | #define NDIS_PACKET_TYPE_FUNCTIONAL 0x00004000 | 
|  | #define NDIS_PACKET_TYPE_MAC_FRAME 0x00008000 | 
|  | #define NDIS_PACKET_TYPE_NO_LOCAL 0x00010000 | 
|  |  | 
|  | #define NDIS_RING_SIGNAL_LOSS 0x00008000 | 
|  | #define NDIS_RING_HARD_ERROR 0x00004000 | 
|  | #define NDIS_RING_SOFT_ERROR 0x00002000 | 
|  | #define NDIS_RING_TRANSMIT_BEACON 0x00001000 | 
|  | #define NDIS_RING_LOBE_WIRE_FAULT 0x00000800 | 
|  | #define NDIS_RING_AUTO_REMOVAL_ERROR 0x00000400 | 
|  | #define NDIS_RING_REMOVE_RECEIVED 0x00000200 | 
|  | #define NDIS_RING_COUNTER_OVERFLOW 0x00000100 | 
|  | #define NDIS_RING_SINGLE_STATION 0x00000080 | 
|  | #define NDIS_RING_RING_RECOVERY 0x00000040 | 
|  |  | 
|  | #define NDIS_PROT_OPTION_ESTIMATED_LENGTH 0x00000001 | 
|  | #define NDIS_PROT_OPTION_NO_LOOPBACK 0x00000002 | 
|  | #define NDIS_PROT_OPTION_NO_RSVD_ON_RCVPKT 0x00000004 | 
|  | #define NDIS_PROT_OPTION_SEND_RESTRICTED 0x00000008 | 
|  |  | 
|  | #define NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA 0x00000001 | 
|  | #define NDIS_MAC_OPTION_RECEIVE_SERIALIZED 0x00000002 | 
|  | #define NDIS_MAC_OPTION_TRANSFERS_NOT_PEND 0x00000004 | 
|  | #define NDIS_MAC_OPTION_NO_LOOPBACK 0x00000008 | 
|  |  | 
|  | #define NDIS_MAC_OPTION_FULL_DUPLEX 0x00000010 | 
|  |  | 
|  | #define NDIS_MAC_OPTION_EOTX_INDICATION 0x00000020 | 
|  | #define NDIS_MAC_OPTION_8021P_PRIORITY 0x00000040 | 
|  | #define NDIS_MAC_OPTION_SUPPORTS_MAC_ADDRESS_OVERWRITE 0x00000080 | 
|  | #define NDIS_MAC_OPTION_RECEIVE_AT_DPC 0x00000100 | 
|  | #define NDIS_MAC_OPTION_8021Q_VLAN 0x00000200 | 
|  | #define NDIS_MAC_OPTION_RESERVED 0x80000000 | 
|  |  | 
|  | #define NDIS_MEDIA_CAP_TRANSMIT 0x00000001 | 
|  | #define NDIS_MEDIA_CAP_RECEIVE 0x00000002 | 
|  |  | 
|  | #define NDIS_CO_MAC_OPTION_DYNAMIC_LINK_SPEED 0x00000001 | 
|  |  | 
|  | typedef struct _NDIS_GUID { | 
|  | GUID Guid; | 
|  | __C89_NAMELESS union { | 
|  | NDIS_OID Oid; | 
|  | NDIS_STATUS Status; | 
|  | }; | 
|  | ULONG Size; | 
|  | ULONG Flags; | 
|  | } NDIS_GUID, *PNDIS_GUID; | 
|  |  | 
|  | typedef struct _NDIS_IRDA_PACKET_INFO { | 
|  | ULONG ExtraBOFs; | 
|  | ULONG MinTurnAroundTime; | 
|  | } NDIS_IRDA_PACKET_INFO, *PNDIS_IRDA_PACKET_INFO; | 
|  |  | 
|  | #if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6 | 
|  | #define NDIS_MAKE_NET_LUID(PNLUID, IFTYPE, NLUIDIDX) { (PNLUID)->Info.IfType = IFTYPE; (PNLUID)->Info.NetLuidIndex = NLUIDIDX; (PNLUID)->Info.Reserved = 0; } | 
|  |  | 
|  | #define MAXIMUM_IP_OPER_STATUS_ADDRESS_FAMILIES_SUPPORTED 32 | 
|  |  | 
|  | #define NDIS_IF_MAX_STRING_SIZE IF_MAX_STRING_SIZE | 
|  | #define NDIS_MAX_PHYS_ADDRESS_LENGTH IF_MAX_PHYS_ADDRESS_LENGTH | 
|  |  | 
|  | #define NDIS_LINK_STATE_XMIT_LINK_SPEED_AUTO_NEGOTIATED 0x00000001 | 
|  | #define NDIS_LINK_STATE_RCV_LINK_SPEED_AUTO_NEGOTIATED 0x00000002 | 
|  | #define NDIS_LINK_STATE_DUPLEX_AUTO_NEGOTIATED 0x00000004 | 
|  | #define NDIS_LINK_STATE_PAUSE_FUNCTIONS_AUTO_NEGOTIATED 0x00000008 | 
|  |  | 
|  | #define NDIS_LINK_STATE_REVISION_1 1 | 
|  | #define NDIS_LINK_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_OPER_STATE_REVISION_1 1 | 
|  | #define NDIS_IP_OPER_STATUS_INFO_REVISION_1 1 | 
|  | #define NDIS_IP_OPER_STATE_REVISION_1 1 | 
|  |  | 
|  | #define NDIS_SIZEOF_LINK_STATE_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_LINK_STATE, AutoNegotiationFlags) | 
|  | #define NDIS_SIZEOF_LINK_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_LINK_PARAMETERS, AutoNegotiationFlags) | 
|  | #define NDIS_SIZEOF_OPER_STATE_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_OPER_STATE, OperationalStatusFlags) | 
|  | #define NDIS_SIZEOF_IP_OPER_STATUS_INFO_REVISION_1 FIELD_OFFSET (NDIS_IP_OPER_STATUS_INFO, IpOperationalStatus) + MAXIMUM_IP_OPER_STATUS_ADDRESS_FAMILIES_SUPPORTED *sizeof (NDIS_IP_OPER_STATUS) | 
|  | #define NDIS_SIZEOF_IP_OPER_STATE_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_IP_OPER_STATE, IpOperationalStatus) | 
|  |  | 
|  | typedef IF_COUNTED_STRING NDIS_IF_COUNTED_STRING, *PNDIS_IF_COUNTED_STRING; | 
|  | typedef IF_PHYSICAL_ADDRESS NDIS_IF_PHYSICAL_ADDRESS, *PNDIS_IF_PHYSICAL_ADDRESS; | 
|  | typedef NET_IF_MEDIA_CONNECT_STATE NDIS_MEDIA_CONNECT_STATE, *PNDIS_MEDIA_CONNECT_STATE; | 
|  | typedef NET_IF_MEDIA_DUPLEX_STATE NDIS_MEDIA_DUPLEX_STATE, *PNDIS_MEDIA_DUPLEX_STATE; | 
|  |  | 
|  | typedef enum _NDIS_SUPPORTED_PAUSE_FUNCTIONS { | 
|  | NdisPauseFunctionsUnsupported, | 
|  | NdisPauseFunctionsSendOnly, | 
|  | NdisPauseFunctionsReceiveOnly, | 
|  | NdisPauseFunctionsSendAndReceive, | 
|  | NdisPauseFunctionsUnknown | 
|  | } NDIS_SUPPORTED_PAUSE_FUNCTIONS, *PNDIS_SUPPORTED_PAUSE_FUNCTIONS; | 
|  |  | 
|  | typedef struct _NDIS_LINK_STATE { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_MEDIA_CONNECT_STATE MediaConnectState; | 
|  | NDIS_MEDIA_DUPLEX_STATE MediaDuplexState; | 
|  | ULONG64 XmitLinkSpeed; | 
|  | ULONG64 RcvLinkSpeed; | 
|  | NDIS_SUPPORTED_PAUSE_FUNCTIONS PauseFunctions; | 
|  | ULONG AutoNegotiationFlags; | 
|  | } NDIS_LINK_STATE, *PNDIS_LINK_STATE; | 
|  |  | 
|  | typedef struct _NDIS_LINK_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_MEDIA_DUPLEX_STATE MediaDuplexState; | 
|  | ULONG64 XmitLinkSpeed; | 
|  | ULONG64 RcvLinkSpeed; | 
|  | NDIS_SUPPORTED_PAUSE_FUNCTIONS PauseFunctions; | 
|  | ULONG AutoNegotiationFlags; | 
|  | } NDIS_LINK_PARAMETERS, *PNDIS_LINK_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_OPER_STATE { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NET_IF_OPER_STATUS OperationalStatus; | 
|  | ULONG OperationalStatusFlags; | 
|  | } NDIS_OPER_STATE, *PNDIS_OPER_STATE; | 
|  |  | 
|  | typedef struct _NDIS_IP_OPER_STATUS { | 
|  | ULONG AddressFamily; | 
|  | NET_IF_OPER_STATUS OperationalStatus; | 
|  | ULONG OperationalStatusFlags; | 
|  | } NDIS_IP_OPER_STATUS, *PNDIS_IP_OPER_STATUS; | 
|  |  | 
|  | typedef struct _NDIS_IP_OPER_STATUS_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG NumberofAddressFamiliesReturned; | 
|  | NDIS_IP_OPER_STATUS IpOperationalStatus[MAXIMUM_IP_OPER_STATUS_ADDRESS_FAMILIES_SUPPORTED]; | 
|  | } NDIS_IP_OPER_STATUS_INFO, *PNDIS_IP_OPER_STATUS_INFO; | 
|  |  | 
|  | typedef struct _NDIS_IP_OPER_STATE { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_IP_OPER_STATUS IpOperationalStatus; | 
|  | } NDIS_IP_OPER_STATE, *PNDIS_IP_OPER_STATE; | 
|  |  | 
|  | #define NDIS_OFFLOAD_PARAMETERS_NO_CHANGE 0 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED 1 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED 2 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED 3 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED 4 | 
|  |  | 
|  | #define NDIS_OFFLOAD_PARAMETERS_LSOV1_DISABLED 1 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_LSOV1_ENABLED 2 | 
|  |  | 
|  | #define NDIS_OFFLOAD_PARAMETERS_IPSECV1_DISABLED 1 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_ENABLED 2 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_IPSECV1_ESP_ENABLED 3 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_AND_ESP_ENABLED 4 | 
|  |  | 
|  | #define NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED 1 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED 2 | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS61 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_IPSECV2_DISABLED 1 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_ENABLED 2 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED 3 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_AND_ESP_ENABLED 4 | 
|  | #endif | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED 1 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED 2 | 
|  |  | 
|  | #define NDIS_ENCAPSULATION_TYPE_GRE_MAC 0x00000001 | 
|  | #define NDIS_ENCAPSULATION_TYPE_MAX NDIS_ENCAPSULATION_TYPE_GRE_MAC | 
|  | #endif | 
|  |  | 
|  | #define NDIS_OFFLOAD_PARAMETERS_CONNECTION_OFFLOAD_DISABLED 1 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_CONNECTION_OFFLOAD_ENABLED 2 | 
|  |  | 
|  | #define NDIS_OFFLOAD_PARAMETERS_REVISION_1 1 | 
|  | #if NDIS_SUPPORT_NDIS61 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_REVISION_2 2 | 
|  | #endif | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_REVISION_3 3 | 
|  | #define NDIS_OFFLOAD_PARAMETERS_SKIP_REGISTRY_UPDATE 0x00000001 | 
|  | #endif | 
|  |  | 
|  | typedef struct _NDIS_OFFLOAD_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | UCHAR IPv4Checksum; | 
|  | UCHAR TCPIPv4Checksum; | 
|  | UCHAR UDPIPv4Checksum; | 
|  | UCHAR TCPIPv6Checksum; | 
|  | UCHAR UDPIPv6Checksum; | 
|  | UCHAR LsoV1; | 
|  | UCHAR IPsecV1; | 
|  | UCHAR LsoV2IPv4; | 
|  | UCHAR LsoV2IPv6; | 
|  | UCHAR TcpConnectionIPv4; | 
|  | UCHAR TcpConnectionIPv6; | 
|  | ULONG Flags; | 
|  | #if NDIS_SUPPORT_NDIS61 | 
|  | UCHAR IPsecV2; | 
|  | UCHAR IPsecV2IPv4; | 
|  | #endif | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | __C89_NAMELESS struct { | 
|  | UCHAR RscIPv4; | 
|  | UCHAR RscIPv6; | 
|  | }; | 
|  | #endif | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | __C89_NAMELESS struct { | 
|  | UCHAR EncapsulatedPacketTaskOffload; | 
|  | UCHAR EncapsulationTypes; | 
|  | }; | 
|  | #endif | 
|  | } NDIS_OFFLOAD_PARAMETERS, *PNDIS_OFFLOAD_PARAMETERS; | 
|  |  | 
|  | #define NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_OFFLOAD_PARAMETERS, Flags) | 
|  | #if NDIS_SUPPORT_NDIS61 | 
|  | #define NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_OFFLOAD_PARAMETERS, IPsecV2IPv4) | 
|  | #endif | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_3 RTL_SIZEOF_THROUGH_FIELD (NDIS_OFFLOAD_PARAMETERS, EncapsulationTypes) | 
|  | #endif | 
|  |  | 
|  | #define NDIS_OFFLOAD_NOT_SUPPORTED 0 | 
|  | #define NDIS_OFFLOAD_SUPPORTED 1 | 
|  |  | 
|  | #define NDIS_OFFLOAD_SET_NO_CHANGE 0 | 
|  | #define NDIS_OFFLOAD_SET_ON 1 | 
|  | #define NDIS_OFFLOAD_SET_OFF 2 | 
|  |  | 
|  | #define NDIS_ENCAPSULATION_NOT_SUPPORTED 0x00000000 | 
|  | #define NDIS_ENCAPSULATION_NULL 0x00000001 | 
|  | #define NDIS_ENCAPSULATION_IEEE_802_3 0x00000002 | 
|  | #define NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q 0x00000004 | 
|  | #define NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB 0x00000008 | 
|  | #define NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED 0x00000010 | 
|  |  | 
|  | typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_V1 { | 
|  | struct { | 
|  | ULONG Encapsulation; | 
|  | ULONG MaxOffLoadSize; | 
|  | ULONG MinSegmentCount; | 
|  | ULONG TcpOptions:2; | 
|  | ULONG IpOptions:2; | 
|  | } IPv4; | 
|  | } NDIS_TCP_LARGE_SEND_OFFLOAD_V1, *PNDIS_TCP_LARGE_SEND_OFFLOAD_V1; | 
|  |  | 
|  | typedef struct _NDIS_TCP_IP_CHECKSUM_OFFLOAD { | 
|  | struct { | 
|  | ULONG Encapsulation; | 
|  | ULONG IpOptionsSupported:2; | 
|  | ULONG TcpOptionsSupported:2; | 
|  | ULONG TcpChecksum:2; | 
|  | ULONG UdpChecksum:2; | 
|  | ULONG IpChecksum:2; | 
|  | } IPv4Transmit; | 
|  | struct { | 
|  | ULONG Encapsulation; | 
|  | ULONG IpOptionsSupported:2; | 
|  | ULONG TcpOptionsSupported:2; | 
|  | ULONG TcpChecksum:2; | 
|  | ULONG UdpChecksum:2; | 
|  | ULONG IpChecksum:2; | 
|  | } IPv4Receive; | 
|  | struct { | 
|  | ULONG Encapsulation; | 
|  | ULONG IpExtensionHeadersSupported:2; | 
|  | ULONG TcpOptionsSupported:2; | 
|  | ULONG TcpChecksum:2; | 
|  | ULONG UdpChecksum:2; | 
|  | } IPv6Transmit; | 
|  | struct { | 
|  | ULONG Encapsulation; | 
|  | ULONG IpExtensionHeadersSupported:2; | 
|  | ULONG TcpOptionsSupported:2; | 
|  | ULONG TcpChecksum:2; | 
|  | ULONG UdpChecksum:2; | 
|  | } IPv6Receive; | 
|  | } NDIS_TCP_IP_CHECKSUM_OFFLOAD, *PNDIS_TCP_IP_CHECKSUM_OFFLOAD; | 
|  | typedef struct _NDIS_IPSEC_OFFLOAD_V1 { | 
|  | struct { | 
|  | ULONG Encapsulation; | 
|  | ULONG AhEspCombined; | 
|  | ULONG TransportTunnelCombined; | 
|  | ULONG IPv4Options; | 
|  | ULONG Flags; | 
|  | } Supported; | 
|  | struct { | 
|  | ULONG Md5 : 2; | 
|  | ULONG Sha_1 : 2; | 
|  | ULONG Transport : 2; | 
|  | ULONG Tunnel : 2; | 
|  | ULONG Send : 2; | 
|  | ULONG Receive : 2; | 
|  | } IPv4AH; | 
|  | struct { | 
|  | ULONG Des : 2; | 
|  | ULONG Reserved : 2; | 
|  | ULONG TripleDes : 2; | 
|  | ULONG NullEsp : 2; | 
|  | ULONG Transport : 2; | 
|  | ULONG Tunnel : 2; | 
|  | ULONG Send : 2; | 
|  | ULONG Receive : 2; | 
|  | } IPv4ESP; | 
|  | } NDIS_IPSEC_OFFLOAD_V1, *PNDIS_IPSEC_OFFLOAD_V1; | 
|  |  | 
|  | typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_V2 { | 
|  | struct { | 
|  | ULONG Encapsulation; | 
|  | ULONG MaxOffLoadSize; | 
|  | ULONG MinSegmentCount; | 
|  | }IPv4; | 
|  | struct { | 
|  | ULONG Encapsulation; | 
|  | ULONG MaxOffLoadSize; | 
|  | ULONG MinSegmentCount; | 
|  | ULONG IpExtensionHeadersSupported:2; | 
|  | ULONG TcpOptionsSupported:2; | 
|  | } IPv6; | 
|  | } NDIS_TCP_LARGE_SEND_OFFLOAD_V2, *PNDIS_TCP_LARGE_SEND_OFFLOAD_V2; | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS61 | 
|  | #define IPSEC_OFFLOAD_V2_AUTHENTICATION_MD5 0x00000001 | 
|  | #define IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_1 0x00000002 | 
|  | #define IPSEC_OFFLOAD_V2_AUTHENTICATION_SHA_256 0x00000004 | 
|  | #define IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_128 0x00000008 | 
|  | #define IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_192 0x00000010 | 
|  | #define IPSEC_OFFLOAD_V2_AUTHENTICATION_AES_GCM_256 0x00000020 | 
|  |  | 
|  | #define IPSEC_OFFLOAD_V2_ENCRYPTION_NONE 0x00000001 | 
|  | #define IPSEC_OFFLOAD_V2_ENCRYPTION_DES_CBC 0x00000002 | 
|  | #define IPSEC_OFFLOAD_V2_ENCRYPTION_3_DES_CBC 0x00000004 | 
|  | #define IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_128 0x00000008 | 
|  | #define IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_192 0x00000010 | 
|  | #define IPSEC_OFFLOAD_V2_ENCRYPTION_AES_GCM_256 0x00000020 | 
|  | #define IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_128 0x00000040 | 
|  | #define IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_192 0x00000080 | 
|  | #define IPSEC_OFFLOAD_V2_ENCRYPTION_AES_CBC_256 0x00000100 | 
|  |  | 
|  | typedef struct _NDIS_IPSEC_OFFLOAD_V2 { | 
|  | ULONG Encapsulation; | 
|  | BOOLEAN IPv6Supported; | 
|  | BOOLEAN IPv4Options; | 
|  | BOOLEAN IPv6NonIPsecExtensionHeaders; | 
|  | BOOLEAN Ah; | 
|  | BOOLEAN Esp; | 
|  | BOOLEAN AhEspCombined; | 
|  | BOOLEAN Transport; | 
|  | BOOLEAN Tunnel; | 
|  | BOOLEAN TransportTunnelCombined; | 
|  | BOOLEAN LsoSupported; | 
|  | BOOLEAN ExtendedSequenceNumbers; | 
|  | ULONG UdpEsp; | 
|  | ULONG AuthenticationAlgorithms; | 
|  | ULONG EncryptionAlgorithms; | 
|  | ULONG SaOffloadCapacity; | 
|  | } NDIS_IPSEC_OFFLOAD_V2, *PNDIS_IPSEC_OFFLOAD_V2; | 
|  | #endif | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_NOT_SUPPORTED 0x00000000 | 
|  | #define NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV4 0x00000001 | 
|  | #define NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV4 0x00000002 | 
|  | #define NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV6 0x00000004 | 
|  | #define NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV6 0x00000008 | 
|  | #endif | 
|  |  | 
|  | #define NDIS_OFFLOAD_FLAGS_GROUP_CHECKSUM_CAPABILITIES 0x1 | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define IPSEC_OFFLOAD_V2_AND_TCP_CHECKSUM_COEXISTENCE 0x2 | 
|  | #define IPSEC_OFFLOAD_V2_AND_UDP_CHECKSUM_COEXISTENCE 0x4 | 
|  | #endif | 
|  |  | 
|  | #define NDIS_MAXIMUM_PORTS 0x1000000 | 
|  |  | 
|  | #define NDIS_DEFAULT_PORT_NUMBER ((NDIS_PORT_NUMBER) 0) | 
|  |  | 
|  | #define NDIS_WMI_DEFAULT_METHOD_ID 1 | 
|  |  | 
|  | #define NDIS_WMI_OBJECT_TYPE_SET 0x01 | 
|  | #define NDIS_WMI_OBJECT_TYPE_METHOD 0x02 | 
|  | #define NDIS_WMI_OBJECT_TYPE_EVENT 0x03 | 
|  | #define NDIS_WMI_OBJECT_TYPE_ENUM_ADAPTER 0x04 | 
|  | #define NDIS_WMI_OBJECT_TYPE_OUTPUT_INFO 0x05 | 
|  |  | 
|  | #define NDIS_DEVICE_TYPE_ENDPOINT 0x00000001 | 
|  |  | 
|  | #define NDIS_OFFLOAD_REVISION_1 1 | 
|  | #define NDIS_TCP_CONNECTION_OFFLOAD_REVISION_1 1 | 
|  | #define NDIS_PORT_AUTHENTICATION_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_WMI_METHOD_HEADER_REVISION_1 1 | 
|  | #define NDIS_WMI_SET_HEADER_REVISION_1 1 | 
|  | #define NDIS_WMI_EVENT_HEADER_REVISION_1 1 | 
|  | #define NDIS_WMI_ENUM_ADAPTER_REVISION_1 1 | 
|  | #if NDIS_SUPPORT_NDIS61 | 
|  | #define NDIS_TCP_CONNECTION_OFFLOAD_REVISION_2 2 | 
|  | #define NDIS_OFFLOAD_REVISION_2 2 | 
|  | #endif | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_OFFLOAD_REVISION_3 3 | 
|  | #define NDIS_TCP_RECV_SEG_COALESC_OFFLOAD_REVISION_1 1 | 
|  | #endif | 
|  |  | 
|  | #define NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_OFFLOAD, Flags) | 
|  | #define NDIS_SIZEOF_NDIS_WMI_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_OFFLOAD, Flags) | 
|  | #define NDIS_SIZEOF_TCP_CONNECTION_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_TCP_CONNECTION_OFFLOAD, Flags) | 
|  | #define NDIS_SIZEOF_WMI_TCP_CONNECTION_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_TCP_CONNECTION_OFFLOAD, Flags) | 
|  | #define NDIS_SIZEOF_PORT_AUTHENTICATION_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PORT_AUTHENTICATION_PARAMETERS, RcvAuthorizationState) | 
|  | #define NDIS_SIZEOF_WMI_METHOD_HEADER_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_METHOD_HEADER, Padding) | 
|  | #define NDIS_SIZEOF_WMI_SET_HEADER_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_SET_HEADER, Padding) | 
|  | #define NDIS_SIZEOF_WMI_EVENT_HEADER_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_EVENT_HEADER, Padding) | 
|  | #define NDIS_SIZEOF_WMI_ENUM_ADAPTER_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_ENUM_ADAPTER, DeviceName) | 
|  | #if NDIS_SUPPORT_NDIS61 | 
|  | #define NDIS_SIZEOF_TCP_CONNECTION_OFFLOAD_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_TCP_CONNECTION_OFFLOAD, Flags) | 
|  | #define NDIS_SIZEOF_NDIS_WMI_OFFLOAD_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_OFFLOAD, IPsecV2) | 
|  | #define NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_OFFLOAD, IPsecV2) | 
|  | #endif | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_SIZEOF_NDIS_WMI_OFFLOAD_REVISION_3 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_OFFLOAD, EncapsulatedPacketTaskOffloadGre) | 
|  | #define NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_3 RTL_SIZEOF_THROUGH_FIELD (NDIS_OFFLOAD, EncapsulatedPacketTaskOffloadGre) | 
|  | #define NDIS_SIZEOF_TCP_RECV_SEG_COALESC_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD, IPv6.Enabled) | 
|  | #define NDIS_SIZEOF_ENCAPSULATED_PACKET_TASK_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD, MaxHeaderSizeSupported) | 
|  | #endif | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | typedef struct _NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD { | 
|  | struct { | 
|  | BOOLEAN Enabled; | 
|  | } IPv4; | 
|  | struct { | 
|  | BOOLEAN Enabled; | 
|  | } IPv6; | 
|  | } NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD, *PNDIS_TCP_RECV_SEG_COALESCE_OFFLOAD; | 
|  |  | 
|  | typedef struct _NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD { | 
|  | ULONG TransmitChecksumOffloadSupported:4; | 
|  | ULONG ReceiveChecksumOffloadSupported:4; | 
|  | ULONG LsoV2Supported:4; | 
|  | ULONG RssSupported:4; | 
|  | ULONG VmqSupported:4; | 
|  | ULONG MaxHeaderSizeSupported; | 
|  | } NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD, *PNDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD; | 
|  | #endif | 
|  |  | 
|  | typedef struct _NDIS_OFFLOAD { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_TCP_IP_CHECKSUM_OFFLOAD Checksum; | 
|  | NDIS_TCP_LARGE_SEND_OFFLOAD_V1 LsoV1; | 
|  | NDIS_IPSEC_OFFLOAD_V1 IPsecV1; | 
|  | NDIS_TCP_LARGE_SEND_OFFLOAD_V2 LsoV2; | 
|  | ULONG Flags; | 
|  | #if NDIS_SUPPORT_NDIS61 | 
|  | NDIS_IPSEC_OFFLOAD_V2 IPsecV2; | 
|  | #endif | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD Rsc; | 
|  | NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD EncapsulatedPacketTaskOffloadGre; | 
|  | #endif | 
|  | } NDIS_OFFLOAD, *PNDIS_OFFLOAD; | 
|  |  | 
|  | typedef struct _NDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V1 { | 
|  | struct { | 
|  | ULONG Encapsulation; | 
|  | ULONG MaxOffLoadSize; | 
|  | ULONG MinSegmentCount; | 
|  | ULONG TcpOptions; | 
|  | ULONG IpOptions; | 
|  | } IPv4; | 
|  | } NDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V1, *PNDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V1; | 
|  |  | 
|  | typedef struct _NDIS_WMI_TCP_IP_CHECKSUM_OFFLOAD { | 
|  | struct { | 
|  | ULONG Encapsulation; | 
|  | ULONG IpOptionsSupported; | 
|  | ULONG TcpOptionsSupported; | 
|  | ULONG TcpChecksum; | 
|  | ULONG UdpChecksum; | 
|  | ULONG IpChecksum; | 
|  | } IPv4Transmit; | 
|  | struct { | 
|  | ULONG Encapsulation; | 
|  | ULONG IpOptionsSupported; | 
|  | ULONG TcpOptionsSupported; | 
|  | ULONG TcpChecksum; | 
|  | ULONG UdpChecksum; | 
|  | ULONG IpChecksum; | 
|  | } IPv4Receive; | 
|  | struct { | 
|  | ULONG Encapsulation; | 
|  | ULONG IpExtensionHeadersSupported; | 
|  | ULONG TcpOptionsSupported; | 
|  | ULONG TcpChecksum; | 
|  | ULONG UdpChecksum; | 
|  | } IPv6Transmit; | 
|  | struct { | 
|  | ULONG Encapsulation; | 
|  | ULONG IpExtensionHeadersSupported; | 
|  | ULONG TcpOptionsSupported; | 
|  | ULONG TcpChecksum; | 
|  | ULONG UdpChecksum; | 
|  | } IPv6Receive; | 
|  | } NDIS_WMI_TCP_IP_CHECKSUM_OFFLOAD, *PNDIS_WMI_TCP_IP_CHECKSUM_OFFLOAD; | 
|  |  | 
|  | typedef struct _NDIS_WMI_IPSEC_OFFLOAD_V1 { | 
|  | struct { | 
|  | ULONG Encapsulation; | 
|  | ULONG AhEspCombined; | 
|  | ULONG TransportTunnelCombined; | 
|  | ULONG IPv4Options; | 
|  | ULONG Flags; | 
|  | } Supported; | 
|  | struct { | 
|  | ULONG Md5; | 
|  | ULONG Sha_1; | 
|  | ULONG Transport; | 
|  | ULONG Tunnel; | 
|  | ULONG Send; | 
|  | ULONG Receive; | 
|  | } IPv4AH; | 
|  | struct { | 
|  | ULONG Des; | 
|  | ULONG Reserved; | 
|  | ULONG TripleDes; | 
|  | ULONG NullEsp; | 
|  | ULONG Transport; | 
|  | ULONG Tunnel; | 
|  | ULONG Send; | 
|  | ULONG Receive; | 
|  | } IPv4ESP; | 
|  | } NDIS_WMI_IPSEC_OFFLOAD_V1, *PNDIS_WMI_IPSEC_OFFLOAD_V1; | 
|  |  | 
|  | typedef struct _NDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V2 { | 
|  | struct { | 
|  | ULONG Encapsulation; | 
|  | ULONG MaxOffLoadSize; | 
|  | ULONG MinSegmentCount; | 
|  | } IPv4; | 
|  | struct { | 
|  | ULONG Encapsulation; | 
|  | ULONG MaxOffLoadSize; | 
|  | ULONG MinSegmentCount; | 
|  | ULONG IpExtensionHeadersSupported; | 
|  | ULONG TcpOptionsSupported; | 
|  | } IPv6; | 
|  | } NDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V2, *PNDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V2; | 
|  |  | 
|  | typedef struct _NDIS_WMI_OFFLOAD { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_WMI_TCP_IP_CHECKSUM_OFFLOAD Checksum; | 
|  | NDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V1 LsoV1; | 
|  | NDIS_WMI_IPSEC_OFFLOAD_V1 IPsecV1; | 
|  | NDIS_WMI_TCP_LARGE_SEND_OFFLOAD_V2 LsoV2; | 
|  | ULONG Flags; | 
|  | #if NDIS_SUPPORT_NDIS61 | 
|  | NDIS_IPSEC_OFFLOAD_V2 IPsecV2; | 
|  | #endif | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | NDIS_TCP_RECV_SEG_COALESCE_OFFLOAD Rsc; | 
|  | NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD EncapsulatedPacketTaskOffloadGre; | 
|  | #endif | 
|  | } NDIS_WMI_OFFLOAD, *PNDIS_WMI_OFFLOAD; | 
|  |  | 
|  | typedef struct _NDIS_TCP_CONNECTION_OFFLOAD { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Encapsulation; | 
|  | ULONG SupportIPv4:2; | 
|  | ULONG SupportIPv6:2; | 
|  | ULONG SupportIPv6ExtensionHeaders:2; | 
|  | ULONG SupportSack:2; | 
|  | #if NDIS_SUPPORT_NDIS61 | 
|  | ULONG CongestionAlgorithm:4; | 
|  | #endif | 
|  | ULONG TcpConnectionOffloadCapacity; | 
|  | ULONG Flags; | 
|  | } NDIS_TCP_CONNECTION_OFFLOAD, *PNDIS_TCP_CONNECTION_OFFLOAD; | 
|  |  | 
|  | typedef struct _NDIS_WMI_TCP_CONNECTION_OFFLOAD { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Encapsulation; | 
|  | ULONG SupportIPv4; | 
|  | ULONG SupportIPv6; | 
|  | ULONG SupportIPv6ExtensionHeaders; | 
|  | ULONG SupportSack; | 
|  | ULONG TcpConnectionOffloadCapacity; | 
|  | ULONG Flags; | 
|  | } NDIS_WMI_TCP_CONNECTION_OFFLOAD, *PNDIS_WMI_TCP_CONNECTION_OFFLOAD; | 
|  |  | 
|  | typedef ULONG NDIS_PORT_NUMBER, *PNDIS_PORT_NUMBER; | 
|  |  | 
|  | typedef enum _NDIS_PORT_TYPE { | 
|  | NdisPortTypeUndefined, | 
|  | NdisPortTypeBridge, | 
|  | NdisPortTypeRasConnection, | 
|  | NdisPortType8021xSupplicant, | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | NdisPortTypeNdisImPlatform, | 
|  | #endif | 
|  | NdisPortTypeMax, | 
|  | } NDIS_PORT_TYPE, *PNDIS_PORT_TYPE; | 
|  |  | 
|  | typedef enum _NDIS_PORT_AUTHORIZATION_STATE { | 
|  | NdisPortAuthorizationUnknown, | 
|  | NdisPortAuthorized, | 
|  | NdisPortUnauthorized, | 
|  | NdisPortReauthorizing | 
|  | } NDIS_PORT_AUTHORIZATION_STATE, *PNDIS_PORT_AUTHORIZATION_STATE; | 
|  |  | 
|  | typedef enum _NDIS_PORT_CONTROL_STATE { | 
|  | NdisPortControlStateUnknown, | 
|  | NdisPortControlStateControlled, | 
|  | NdisPortControlStateUncontrolled | 
|  | } NDIS_PORT_CONTROL_STATE, *PNDIS_PORT_CONTROL_STATE; | 
|  |  | 
|  | typedef NDIS_PORT_CONTROL_STATE NDIS_PORT_CONTROLL_STATE; | 
|  | typedef PNDIS_PORT_CONTROL_STATE PNDIS_PORT_CONTROLL_STATE; | 
|  |  | 
|  | typedef struct _NDIS_PORT_AUTHENTICATION_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_PORT_CONTROL_STATE SendControlState; | 
|  | NDIS_PORT_CONTROL_STATE RcvControlState; | 
|  | NDIS_PORT_AUTHORIZATION_STATE SendAuthorizationState; | 
|  | NDIS_PORT_AUTHORIZATION_STATE RcvAuthorizationState; | 
|  | } NDIS_PORT_AUTHENTICATION_PARAMETERS, *PNDIS_PORT_AUTHENTICATION_PARAMETERS; | 
|  |  | 
|  | typedef enum _NDIS_NETWORK_CHANGE_TYPE { | 
|  | NdisPossibleNetworkChange = 1, | 
|  | NdisDefinitelyNetworkChange, | 
|  | NdisNetworkChangeFromMediaConnect, | 
|  | NdisNetworkChangeMax | 
|  | } NDIS_NETWORK_CHANGE_TYPE, *PNDIS_NETWORK_CHANGE_TYPE; | 
|  |  | 
|  | typedef struct _NDIS_WMI_METHOD_HEADER { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_PORT_NUMBER PortNumber; | 
|  | NET_LUID NetLuid; | 
|  | ULONG64 RequestId; | 
|  | ULONG Timeout; | 
|  | UCHAR Padding[4]; | 
|  | } NDIS_WMI_METHOD_HEADER, *PNDIS_WMI_METHOD_HEADER; | 
|  |  | 
|  | typedef struct _NDIS_WMI_SET_HEADER { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_PORT_NUMBER PortNumber; | 
|  | NET_LUID NetLuid; | 
|  | ULONG64 RequestId; | 
|  | ULONG Timeout; | 
|  | UCHAR Padding[4]; | 
|  | } NDIS_WMI_SET_HEADER, *PNDIS_WMI_SET_HEADER; | 
|  |  | 
|  | typedef struct _NDIS_WMI_EVENT_HEADER { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NET_IFINDEX IfIndex; | 
|  | NET_LUID NetLuid; | 
|  | ULONG64 RequestId; | 
|  | NDIS_PORT_NUMBER PortNumber; | 
|  | ULONG DeviceNameLength; | 
|  | ULONG DeviceNameOffset; | 
|  | UCHAR Padding[4]; | 
|  | } NDIS_WMI_EVENT_HEADER, *PNDIS_WMI_EVENT_HEADER; | 
|  |  | 
|  | typedef struct _NDIS_WMI_ENUM_ADAPTER { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NET_IFINDEX IfIndex; | 
|  | NET_LUID NetLuid; | 
|  | USHORT DeviceNameLength; | 
|  | CHAR DeviceName[1]; | 
|  | } NDIS_WMI_ENUM_ADAPTER, *PNDIS_WMI_ENUM_ADAPTER; | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS61 | 
|  | #define NDIS_HD_SPLIT_COMBINE_ALL_HEADERS 0x00000001 | 
|  |  | 
|  | #define NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT 0x00000001 | 
|  | #define NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV4_OPTIONS 0x00000002 | 
|  | #define NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV6_EXTENSION_HEADERS 0x00000004 | 
|  | #define NDIS_HD_SPLIT_CAPS_SUPPORTS_TCP_OPTIONS 0x00000008 | 
|  |  | 
|  | #define NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT 0x00000001 | 
|  |  | 
|  | #define NDIS_HD_SPLIT_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_HD_SPLIT_CURRENT_CONFIG_REVISION_1 1 | 
|  |  | 
|  | #define NDIS_SIZEOF_HD_SPLIT_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_HD_SPLIT_PARAMETERS, HDSplitCombineFlags) | 
|  | #define NDIS_SIZEOF_HD_SPLIT_CURRENT_CONFIG_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_HD_SPLIT_CURRENT_CONFIG, MaxHeaderSize) | 
|  |  | 
|  | typedef struct _NDIS_HD_SPLIT_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG HDSplitCombineFlags; | 
|  | } NDIS_HD_SPLIT_PARAMETERS, *PNDIS_HD_SPLIT_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_HD_SPLIT_CURRENT_CONFIG { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG HardwareCapabilities; | 
|  | ULONG CurrentCapabilities; | 
|  | ULONG HDSplitFlags; | 
|  | ULONG HDSplitCombineFlags; | 
|  | ULONG BackfillSize; | 
|  | ULONG MaxHeaderSize; | 
|  | } NDIS_HD_SPLIT_CURRENT_CONFIG, *PNDIS_HD_SPLIT_CURRENT_CONFIG; | 
|  | #endif | 
|  |  | 
|  | #define NDIS_WMI_OUTPUT_INFO_REVISION_1 1 | 
|  |  | 
|  | typedef struct NDIS_WMI_OUTPUT_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | UCHAR SupportedRevision; | 
|  | ULONG DataOffset; | 
|  | } NDIS_WMI_OUTPUT_INFO, *PNDIS_WMI_OUTPUT_INFO; | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS620 | 
|  | #define NDIS_PM_WOL_BITMAP_PATTERN_SUPPORTED 0x00000001 | 
|  | #define NDIS_PM_WOL_MAGIC_PACKET_SUPPORTED 0x00000002 | 
|  | #define NDIS_PM_WOL_IPV4_TCP_SYN_SUPPORTED 0x00000004 | 
|  | #define NDIS_PM_WOL_IPV6_TCP_SYN_SUPPORTED 0x00000008 | 
|  | #define NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_SUPPORTED 0x00000200 | 
|  | #define NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_SUPPORTED 0x00000800 | 
|  | #define NDIS_PM_WOL_EAPOL_REQUEST_ID_MESSAGE_SUPPORTED 0x00010000 | 
|  |  | 
|  | #define NDIS_PM_PROTOCOL_OFFLOAD_ARP_SUPPORTED 0x00000001 | 
|  | #define NDIS_PM_PROTOCOL_OFFLOAD_NS_SUPPORTED 0x00000002 | 
|  | #define NDIS_PM_PROTOCOL_OFFLOAD_80211_RSN_REKEY_SUPPORTED 0x00000080 | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_PM_WAKE_ON_MEDIA_CONNECT_SUPPORTED 0x00000001 | 
|  | #define NDIS_PM_WAKE_ON_MEDIA_DISCONNECT_SUPPORTED 0x00000002 | 
|  |  | 
|  | #define NDIS_WLAN_WAKE_ON_NLO_DISCOVERY_SUPPORTED 0x00000001 | 
|  | #define NDIS_WLAN_WAKE_ON_AP_ASSOCIATION_LOST_SUPPORTED 0x00000002 | 
|  | #define NDIS_WLAN_WAKE_ON_GTK_HANDSHAKE_ERROR_SUPPORTED 0x00000004 | 
|  | #define NDIS_WLAN_WAKE_ON_4WAY_HANDSHAKE_REQUEST_SUPPORTED 0x00000008 | 
|  |  | 
|  | #define NDIS_WWAN_WAKE_ON_REGISTER_STATE_SUPPORTED 0x00000001 | 
|  | #define NDIS_WWAN_WAKE_ON_SMS_RECEIVE_SUPPORTED 0x00000002 | 
|  | #define NDIS_WWAN_WAKE_ON_USSD_RECEIVE_SUPPORTED 0x00000004 | 
|  |  | 
|  | #define NDIS_PM_WAKE_PACKET_INDICATION_SUPPORTED 0x00000001 | 
|  | #define NDIS_PM_SELECTIVE_SUSPEND_SUPPORTED 0x00000002 | 
|  | #endif | 
|  |  | 
|  | #define NDIS_PM_WOL_BITMAP_PATTERN_ENABLED 0x00000001 | 
|  | #define NDIS_PM_WOL_MAGIC_PACKET_ENABLED 0x00000002 | 
|  | #define NDIS_PM_WOL_IPV4_TCP_SYN_ENABLED 0x00000004 | 
|  | #define NDIS_PM_WOL_IPV6_TCP_SYN_ENABLED 0x00000008 | 
|  | #define NDIS_PM_WOL_IPV4_DEST_ADDR_WILDCARD_ENABLED 0x00000200 | 
|  | #define NDIS_PM_WOL_IPV6_DEST_ADDR_WILDCARD_ENABLED 0x00000800 | 
|  | #define NDIS_PM_WOL_EAPOL_REQUEST_ID_MESSAGE_ENABLED 0x00010000 | 
|  |  | 
|  | #define NDIS_PM_PROTOCOL_OFFLOAD_ARP_ENABLED 0x00000001 | 
|  | #define NDIS_PM_PROTOCOL_OFFLOAD_NS_ENABLED 0x00000002 | 
|  | #define NDIS_PM_PROTOCOL_OFFLOAD_80211_RSN_REKEY_ENABLED 0x00000080 | 
|  |  | 
|  | #define NDIS_PM_WAKE_ON_LINK_CHANGE_ENABLED 0x1 | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_PM_WAKE_ON_MEDIA_DISCONNECT_ENABLED 0x2 | 
|  | #define NDIS_PM_SELECTIVE_SUSPEND_ENABLED 0x10 | 
|  |  | 
|  | #define NDIS_WLAN_WAKE_ON_NLO_DISCOVERY_ENABLED 0x1 | 
|  | #define NDIS_WLAN_WAKE_ON_AP_ASSOCIATION_LOST_ENABLED 0x2 | 
|  | #define NDIS_WLAN_WAKE_ON_GTK_HANDSHAKE_ERROR_ENABLED 0x4 | 
|  | #define NDIS_WLAN_WAKE_ON_4WAY_HANDSHAKE_REQUEST_ENABLED 0x8 | 
|  |  | 
|  | #define NDIS_WWAN_WAKE_ON_REGISTER_STATE_ENABLED 0x1 | 
|  | #define NDIS_WWAN_WAKE_ON_SMS_RECEIVE_ENABLED 0x2 | 
|  | #define NDIS_WWAN_WAKE_ON_USSD_RECEIVE_ENABLED 0x4 | 
|  | #endif | 
|  |  | 
|  | #define NDIS_PM_WOL_PRIORITY_LOWEST 0xffffffff | 
|  | #define NDIS_PM_WOL_PRIORITY_NORMAL 0x10000000 | 
|  | #define NDIS_PM_WOL_PRIORITY_HIGHEST 0x00000001 | 
|  |  | 
|  | #define NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_LOWEST 0xffffffff | 
|  | #define NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_NORMAL 0x10000000 | 
|  | #define NDIS_PM_PROTOCOL_OFFLOAD_PRIORITY_HIGHEST 0x00000001 | 
|  |  | 
|  | #define NDIS_PM_MAX_STRING_SIZE 64 | 
|  |  | 
|  | #define EAPOL_REQUEST_ID_WOL_FLAG_MUST_ENCRYPT 0x00000001 | 
|  |  | 
|  | #define NDIS_PM_MAX_PATTERN_ID 0x0000ffff | 
|  |  | 
|  | #define NDIS_PM_PRIVATE_PATTERN_ID 0x00000001 | 
|  |  | 
|  | #define DOT11_RSN_KEK_LENGTH 16 | 
|  | #define DOT11_RSN_KCK_LENGTH 16 | 
|  |  | 
|  |  | 
|  | #define NDIS_RECEIVE_FILTER_MAC_HEADER_SUPPORTED 0x00000001 | 
|  | #define NDIS_RECEIVE_FILTER_IPV4_HEADER_SUPPORTED 0x00000002 | 
|  | #define NDIS_RECEIVE_FILTER_IPV6_HEADER_SUPPORTED 0x00000004 | 
|  | #define NDIS_RECEIVE_FILTER_ARP_HEADER_SUPPORTED 0x00000008 | 
|  | #define NDIS_RECEIVE_FILTER_UDP_HEADER_SUPPORTED 0x00000010 | 
|  |  | 
|  | #define NDIS_RECEIVE_FILTER_MAC_HEADER_DEST_ADDR_SUPPORTED 0x00000001 | 
|  | #define NDIS_RECEIVE_FILTER_MAC_HEADER_SOURCE_ADDR_SUPPORTED 0x00000002 | 
|  | #define NDIS_RECEIVE_FILTER_MAC_HEADER_PROTOCOL_SUPPORTED 0x00000004 | 
|  | #define NDIS_RECEIVE_FILTER_MAC_HEADER_VLAN_ID_SUPPORTED 0x00000008 | 
|  | #define NDIS_RECEIVE_FILTER_MAC_HEADER_PRIORITY_SUPPORTED 0x00000010 | 
|  | #define NDIS_RECEIVE_FILTER_MAC_HEADER_PACKET_TYPE_SUPPORTED 0x00000020 | 
|  |  | 
|  | #define NDIS_RECEIVE_FILTER_ARP_HEADER_OPERATION_SUPPORTED 0x1 | 
|  | #define NDIS_RECEIVE_FILTER_ARP_HEADER_SPA_SUPPORTED 0x2 | 
|  | #define NDIS_RECEIVE_FILTER_ARP_HEADER_TPA_SUPPORTED 0x4 | 
|  |  | 
|  | #define NDIS_RECEIVE_FILTER_IPV4_HEADER_PROTOCOL_SUPPORTED 0x1 | 
|  | #define NDIS_RECEIVE_FILTER_IPV6_HEADER_PROTOCOL_SUPPORTED 0x1 | 
|  | #define NDIS_RECEIVE_FILTER_UDP_HEADER_DEST_PORT_SUPPORTED 0x1 | 
|  |  | 
|  | #define NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_EQUAL_SUPPORTED 0x00000001 | 
|  | #define NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_MASK_EQUAL_SUPPORTED 0x00000002 | 
|  | #define NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_NOT_EQUAL_SUPPORTED 0x00000004 | 
|  |  | 
|  | #define NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED 0x00000001 | 
|  | #define NDIS_RECEIVE_FILTER_VM_QUEUE_SUPPORTED 0x00000002 | 
|  | #define NDIS_RECEIVE_FILTER_LOOKAHEAD_SPLIT_SUPPORTED 0x00000004 | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_RECEIVE_FILTER_DYNAMIC_PROCESSOR_AFFINITY_CHANGE_SUPPORTED 0x00000008 | 
|  | #define NDIS_RECEIVE_FILTER_INTERRUPT_VECTOR_COALESCING_SUPPORTED 0x00000010 | 
|  | #define NDIS_RECEIVE_FILTER_ANY_VLAN_SUPPORTED 0x00000020 | 
|  | #define NDIS_RECEIVE_FILTER_IMPLAT_MIN_OF_QUEUES_MODE 0x00000040 | 
|  | #define NDIS_RECEIVE_FILTER_IMPLAT_SUM_OF_QUEUES_MODE 0x00000080 | 
|  | #define NDIS_RECEIVE_FILTER_PACKET_COALESCING_SUPPORTED_ON_DEFAULT_QUEUE 0x00000100 | 
|  | #endif | 
|  |  | 
|  | #define NDIS_RECEIVE_FILTER_VMQ_FILTERS_ENABLED 0x00000001 | 
|  | #define NDIS_RECEIVE_FILTER_PACKET_COALESCING_FILTERS_ENABLED 0x00000002 | 
|  |  | 
|  | #define NDIS_RECEIVE_FILTER_VM_QUEUES_ENABLED 0x00000001 | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_NIC_SWITCH_CAPS_VLAN_SUPPORTED 0x00000001 | 
|  | #define NDIS_NIC_SWITCH_CAPS_PER_VPORT_INTERRUPT_MODERATION_SUPPORTED 0x00000002 | 
|  | #define NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED 0x00000004 | 
|  | #define NDIS_NIC_SWITCH_CAPS_VF_RSS_SUPPORTED 0x00000008 | 
|  | #define NDIS_NIC_SWITCH_CAPS_SINGLE_VPORT_POOL 0x00000010 | 
|  | #endif | 
|  |  | 
|  |  | 
|  | #define NDIS_DEFAULT_RECEIVE_QUEUE_ID 0 | 
|  | #define NDIS_DEFAULT_RECEIVE_QUEUE_GROUP_ID 0 | 
|  | #define NDIS_DEFAULT_RECEIVE_FILTER_ID 0 | 
|  |  | 
|  | #define NDIS_RECEIVE_FILTER_FIELD_MAC_HEADER_VLAN_UNTAGGED_OR_ZERO 0x00000001 | 
|  | #define NDIS_RECEIVE_FILTER_PACKET_ENCAPSULATION_GRE 0x00000002 | 
|  |  | 
|  | #define NDIS_RECEIVE_QUEUE_PARAMETERS_PER_QUEUE_RECEIVE_INDICATION 0x00000001 | 
|  | #define NDIS_RECEIVE_QUEUE_PARAMETERS_LOOKAHEAD_SPLIT_REQUIRED 0x00000002 | 
|  | #define NDIS_RECEIVE_QUEUE_PARAMETERS_FLAGS_CHANGED 0x00010000 | 
|  | #define NDIS_RECEIVE_QUEUE_PARAMETERS_PROCESSOR_AFFINITY_CHANGED 0x00020000 | 
|  | #define NDIS_RECEIVE_QUEUE_PARAMETERS_SUGGESTED_RECV_BUFFER_NUMBERS_CHANGED 0x00040000 | 
|  | #define NDIS_RECEIVE_QUEUE_PARAMETERS_NAME_CHANGED 0x00080000 | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_RECEIVE_QUEUE_PARAMETERS_INTERRUPT_COALESCING_DOMAIN_ID_CHANGED 0x00100000 | 
|  | #endif | 
|  |  | 
|  | #define NDIS_RECEIVE_QUEUE_PARAMETERS_CHANGE_MASK 0xffff0000 | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_RECEIVE_FILTER_INFO_ARRAY_VPORT_ID_SPECIFIED 0x00000001 | 
|  | #endif | 
|  |  | 
|  | #define NDIS_PM_CAPABILITIES_REVISION_1 1 | 
|  | #define NDIS_PM_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_PM_WOL_PATTERN_REVISION_1 1 | 
|  | #define NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1 1 | 
|  | #define NDIS_WMI_PM_ADMIN_CONFIG_REVISION_1 1 | 
|  | #define NDIS_WMI_PM_ACTIVE_CAPABILITIES_REVISION_1 1 | 
|  | #define NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_1 1 | 
|  | #define NDIS_NIC_SWITCH_CAPABILITIES_REVISION_1 1 | 
|  | #define NDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_RECEIVE_FILTER_FIELD_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_RECEIVE_FILTER_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_RECEIVE_QUEUE_FREE_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_RECEIVE_QUEUE_INFO_REVISION_1 1 | 
|  | #define NDIS_RECEIVE_QUEUE_INFO_ARRAY_REVISION_1 1 | 
|  | #define NDIS_RECEIVE_FILTER_INFO_REVISION_1 1 | 
|  | #define NDIS_RECEIVE_FILTER_INFO_ARRAY_REVISION_1 1 | 
|  | #define NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY_REVISION_1 1 | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_PM_CAPABILITIES_REVISION_2 2 | 
|  | #define NDIS_PM_PARAMETERS_REVISION_2 2 | 
|  | #define NDIS_PM_WOL_PATTERN_REVISION_2 2 | 
|  | #define NDIS_PM_WAKE_REASON_REVISION_1 1 | 
|  | #define NDIS_PM_WAKE_PACKET_REVISION_1 1 | 
|  | #define NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_2 2 | 
|  | #define NDIS_NIC_SWITCH_CAPABILITIES_REVISION_2 2 | 
|  | #define NDIS_RECEIVE_FILTER_FIELD_PARAMETERS_REVISION_2 2 | 
|  | #define NDIS_RECEIVE_FILTER_PARAMETERS_REVISION_2 2 | 
|  | #define NDIS_RECEIVE_QUEUE_PARAMETERS_REVISION_2 2 | 
|  | #define NDIS_RECEIVE_FILTER_INFO_ARRAY_REVISION_2 2 | 
|  | #define NDIS_RECEIVE_QUEUE_INFO_REVISION_2 2 | 
|  | #endif | 
|  |  | 
|  | #define NDIS_SIZEOF_WMI_OUTPUT_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_OUTPUT_INFO, DataOffset) | 
|  | #define NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_CAPABILITIES, MinLinkChangeWakeUp) | 
|  | #define NDIS_SIZEOF_NDIS_PM_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_PARAMETERS, WakeUpFlags) | 
|  | #define NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_WOL_PATTERN, WoLPattern) | 
|  | #define NDIS_SIZEOF_NDIS_PM_PROTOCOL_OFFLOAD_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_PROTOCOL_OFFLOAD, ProtocolOffloadParameters) | 
|  | #define NDIS_SIZEOF_WMI_PM_ADMIN_CONFIG_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_PM_ADMIN_CONFIG, PMWiFiRekeyOffload) | 
|  | #define NDIS_SIZEOF_WMI_PM_ACTIVE_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_PM_ACTIVE_CAPABILITIES, PMWiFiRekeyOffload) | 
|  | #define NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_CAPABILITIES, MaxLookaheadSplitSize) | 
|  | #define NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_CAPABILITIES, NdisReserved3) | 
|  | #define NDIS_SIZEOF_RECEIVE_FILTER_GLOBAL_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS, EnabledQueueTypes) | 
|  | #define NDIS_SIZEOF_RECEIVE_FILTER_FIELD_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_FIELD_PARAMETERS, ResultValue) | 
|  | #define NDIS_SIZEOF_RECEIVE_FILTER_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_PARAMETERS, RequestedFilterIdBitCount) | 
|  | #define NDIS_SIZEOF_RECEIVE_FILTER_CLEAR_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS, FilterId) | 
|  | #define NDIS_SIZEOF_RECEIVE_QUEUE_FREE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_FREE_PARAMETERS, QueueId) | 
|  | #define NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_PARAMETERS, QueueName) | 
|  | #define NDIS_SIZEOF_RECEIVE_QUEUE_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_INFO, QueueName) | 
|  | #define NDIS_SIZEOF_RECEIVE_QUEUE_INFO_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_INFO_ARRAY, ElementSize) | 
|  | #define NDIS_SIZEOF_RECEIVE_FILTER_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_INFO, FilterId) | 
|  | #define NDIS_SIZEOF_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY, ElementSize) | 
|  | #define NDIS_SIZEOF_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS, CompletionStatus) | 
|  | #define NDIS_SIZEOF_RECEIVE_FILTER_INFO_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_INFO_ARRAY, ElementSize) | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_SIZEOF_NDIS_PM_CAPABILITIES_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_CAPABILITIES, MediaSpecificWakeUpEvents) | 
|  | #define NDIS_SIZEOF_NDIS_PM_PARAMETERS_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_PARAMETERS, MediaSpecificWakeUpEvents) | 
|  | #define NDIS_SIZEOF_NDIS_PM_WOL_PATTERN_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_WOL_PATTERN, WoLPattern) | 
|  | #define NDIS_SIZEOF_PM_WAKE_REASON_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_WAKE_REASON, InfoBufferSize) | 
|  | #define NDIS_SIZEOF_PM_WAKE_PACKET_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PM_WAKE_PACKET, SavedPacketOffset) | 
|  | #define NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_CAPABILITIES, NdisReserved) | 
|  | #define NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_CAPABILITIES, NdisReserved17) | 
|  | #define NDIS_SIZEOF_RECEIVE_FILTER_FIELD_PARAMETERS_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_FIELD_PARAMETERS, ResultValue) | 
|  | #define NDIS_SIZEOF_RECEIVE_FILTER_PARAMETERS_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_PARAMETERS, VPortId) | 
|  | #define NDIS_SIZEOF_RECEIVE_FILTER_INFO_ARRAY_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_INFO_ARRAY, VPortId) | 
|  | #define NDIS_SIZEOF_RECEIVE_QUEUE_INFO_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_INFO, InterruptCoalescingDomainId) | 
|  | #define NDIS_SIZEOF_RECEIVE_QUEUE_PARAMETERS_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_QUEUE_PARAMETERS, InterruptCoalescingDomainId) | 
|  | #endif | 
|  |  | 
|  | typedef enum _NDIS_PM_WOL_PACKET { | 
|  | NdisPMWoLPacketUnspecified, | 
|  | NdisPMWoLPacketBitmapPattern, | 
|  | NdisPMWoLPacketMagicPacket, | 
|  | NdisPMWoLPacketIPv4TcpSyn, | 
|  | NdisPMWoLPacketIPv6TcpSyn, | 
|  | NdisPMWoLPacketEapolRequestIdMessage, | 
|  | NdisPMWoLPacketMaximum | 
|  | } NDIS_PM_WOL_PACKET, *PNDIS_PM_WOL_PACKET; | 
|  |  | 
|  | typedef enum _NDIS_PM_PROTOCOL_OFFLOAD_TYPE { | 
|  | NdisPMProtocolOffloadIdUnspecified, | 
|  | NdisPMProtocolOffloadIdIPv4ARP, | 
|  | NdisPMProtocolOffloadIdIPv6NS, | 
|  | NdisPMProtocolOffload80211RSNRekey, | 
|  | NdisPMProtocolOffloadIdMaximum | 
|  | } NDIS_PM_PROTOCOL_OFFLOAD_TYPE, *PNDIS_PM_PROTOCOL_OFFLOAD_TYPE; | 
|  |  | 
|  | typedef struct _NDIS_PM_COUNTED_STRING { | 
|  | USHORT Length; | 
|  | WCHAR String[NDIS_PM_MAX_STRING_SIZE + 1]; | 
|  | } NDIS_PM_COUNTED_STRING, *PNDIS_PM_COUNTED_STRING; | 
|  |  | 
|  | typedef struct _NDIS_PM_CAPABILITIES { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG SupportedWoLPacketPatterns; | 
|  | ULONG NumTotalWoLPatterns; | 
|  | ULONG MaxWoLPatternSize; | 
|  | ULONG MaxWoLPatternOffset; | 
|  | ULONG MaxWoLPacketSaveBuffer; | 
|  | ULONG SupportedProtocolOffloads; | 
|  | ULONG NumArpOffloadIPv4Addresses; | 
|  | ULONG NumNSOffloadIPv6Addresses; | 
|  | NDIS_DEVICE_POWER_STATE MinMagicPacketWakeUp; | 
|  | NDIS_DEVICE_POWER_STATE MinPatternWakeUp; | 
|  | NDIS_DEVICE_POWER_STATE MinLinkChangeWakeUp; | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | ULONG SupportedWakeUpEvents; | 
|  | ULONG MediaSpecificWakeUpEvents; | 
|  | #endif | 
|  | } NDIS_PM_CAPABILITIES, *PNDIS_PM_CAPABILITIES; | 
|  |  | 
|  | typedef struct _NDIS_PM_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG EnabledWoLPacketPatterns; | 
|  | ULONG EnabledProtocolOffloads; | 
|  | ULONG WakeUpFlags; | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | ULONG MediaSpecificWakeUpEvents; | 
|  | #endif | 
|  | } NDIS_PM_PARAMETERS, *PNDIS_PM_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_PM_WOL_PATTERN { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG Priority; | 
|  | NDIS_PM_WOL_PACKET WoLPacketType; | 
|  | NDIS_PM_COUNTED_STRING FriendlyName; | 
|  | ULONG PatternId; | 
|  | ULONG NextWoLPatternOffset; | 
|  | union _WOL_PATTERN { | 
|  | struct _IPV4_TCP_SYN_WOL_PACKET_PARAMETERS { | 
|  | ULONG Flags; | 
|  | UCHAR IPv4SourceAddress[4]; | 
|  | UCHAR IPv4DestAddress[4]; | 
|  | USHORT TCPSourcePortNumber; | 
|  | USHORT TCPDestPortNumber; | 
|  | } IPv4TcpSynParameters; | 
|  | struct _IPV6_TCP_SYN_WOL_PACKET_PARAMETERS { | 
|  | ULONG Flags; | 
|  | UCHAR IPv6SourceAddress[16]; | 
|  | UCHAR IPv6DestAddress[16]; | 
|  | USHORT TCPSourcePortNumber; | 
|  | USHORT TCPDestPortNumber; | 
|  | } IPv6TcpSynParameters; | 
|  | struct _EAPOL_REQUEST_ID_MESSAGE_WOL_PACKET_PARAMETERS { | 
|  | ULONG Flags; | 
|  | } EapolRequestIdMessageParameters; | 
|  | struct _WOL_BITMAP_PATTERN { | 
|  | ULONG Flags; | 
|  | ULONG MaskOffset; | 
|  | ULONG MaskSize; | 
|  | ULONG PatternOffset; | 
|  | ULONG PatternSize; | 
|  | } WoLBitMapPattern; | 
|  | } WoLPattern; | 
|  | } NDIS_PM_WOL_PATTERN, *PNDIS_PM_WOL_PATTERN; | 
|  |  | 
|  | typedef struct _NDIS_PM_PROTOCOL_OFFLOAD { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG Priority; | 
|  | NDIS_PM_PROTOCOL_OFFLOAD_TYPE ProtocolOffloadType; | 
|  | NDIS_PM_COUNTED_STRING FriendlyName; | 
|  | ULONG ProtocolOffloadId; | 
|  | ULONG NextProtocolOffloadOffset; | 
|  | union _PROTOCOL_OFFLOAD_PARAMETERS { | 
|  | struct _IPV4_ARP_PARAMETERS { | 
|  | ULONG Flags; | 
|  | UCHAR RemoteIPv4Address[4]; | 
|  | UCHAR HostIPv4Address[4]; | 
|  | UCHAR MacAddress[6]; | 
|  | } IPv4ARPParameters; | 
|  | struct _IPV6_NS_PARAMETERS { | 
|  | ULONG Flags; | 
|  | UCHAR RemoteIPv6Address[16]; | 
|  | UCHAR SolicitedNodeIPv6Address[16]; | 
|  | UCHAR MacAddress[6]; | 
|  | UCHAR TargetIPv6Addresses[2][16]; | 
|  | } IPv6NSParameters; | 
|  | struct _DOT11_RSN_REKEY_PARAMETERS { | 
|  | ULONG Flags; | 
|  | UCHAR KCK[DOT11_RSN_KCK_LENGTH]; | 
|  | UCHAR KEK[DOT11_RSN_KEK_LENGTH]; | 
|  | ULONGLONG KeyReplayCounter; | 
|  | } Dot11RSNRekeyParameters; | 
|  | } ProtocolOffloadParameters; | 
|  | } NDIS_PM_PROTOCOL_OFFLOAD, *PNDIS_PM_PROTOCOL_OFFLOAD; | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | typedef enum _NDIS_PM_WAKE_REASON_TYPE { | 
|  | NdisWakeReasonUnspecified = 0x0000, | 
|  | NdisWakeReasonPacket = 0x0001, | 
|  | NdisWakeReasonMediaDisconnect = 0x0002, | 
|  | NdisWakeReasonMediaConnect = 0x0003, | 
|  | NdisWakeReasonWlanNLODiscovery = 0x1000, | 
|  | NdisWakeReasonWlanAPAssociationLost = 0x1001, | 
|  | NdisWakeReasonWlanGTKHandshakeError = 0x1002, | 
|  | NdisWakeReasonWlan4WayHandshakeRequest = 0x1003, | 
|  | NdisWakeReasonWwanRegisterState = 0x2000, | 
|  | NdisWakeReasonWwanSMSReceive = 0x2001, | 
|  | NdisWakeReasonWwanUSSDReceive = 0x2002, | 
|  | } NDIS_PM_WAKE_REASON_TYPE, *PNDIS_PM_WAKE_REASON_TYPE; | 
|  |  | 
|  | typedef struct _NDIS_PM_WAKE_REASON { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_PM_WAKE_REASON_TYPE WakeReason; | 
|  | ULONG InfoBufferOffset; | 
|  | ULONG InfoBufferSize; | 
|  | } NDIS_PM_WAKE_REASON, *PNDIS_PM_WAKE_REASON; | 
|  |  | 
|  | typedef struct _NDIS_PM_WAKE_PACKET { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG PatternId; | 
|  | NDIS_PM_COUNTED_STRING PatternFriendlyName; | 
|  | ULONG OriginalPacketSize; | 
|  | ULONG SavedPacketSize; | 
|  | ULONG SavedPacketOffset; | 
|  | } NDIS_PM_WAKE_PACKET, *PNDIS_PM_WAKE_PACKET; | 
|  | #endif | 
|  |  | 
|  | typedef enum _NDIS_PM_ADMIN_CONFIG_STATE { | 
|  | NdisPMAdminConfigUnspecified = 0, | 
|  | NdisPMAdminConfigDisabled = 1, | 
|  | NdisPMAdminConfigEnabled = 2 | 
|  | } NDIS_PM_ADMIN_CONFIG_STATE, *PNDIS_PM_ADMIN_CONFIG_STATE; | 
|  |  | 
|  | typedef struct _NDIS_WMI_PM_ADMIN_CONFIG { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_PM_ADMIN_CONFIG_STATE WakeOnPattern; | 
|  | NDIS_PM_ADMIN_CONFIG_STATE WakeOnMagicPacket; | 
|  | NDIS_PM_ADMIN_CONFIG_STATE DeviceSleepOnDisconnect; | 
|  | NDIS_PM_ADMIN_CONFIG_STATE PMARPOffload; | 
|  | NDIS_PM_ADMIN_CONFIG_STATE PMNSOffload; | 
|  | NDIS_PM_ADMIN_CONFIG_STATE PMWiFiRekeyOffload; | 
|  | } NDIS_WMI_PM_ADMIN_CONFIG, *PNDIS_WMI_PM_ADMIN_CONFIG; | 
|  |  | 
|  | typedef enum _NDIS_PM_CAPABILITY_STATE { | 
|  | NdisPMAdminConfigUnsupported = 0, | 
|  | NdisPMAdminConfigInactive = 1, | 
|  | NdisPMAdminConfigActive = 2 | 
|  | } NDIS_PM_CAPABILITY_STATE, *PNDIS_PM_CAPABILITY_STATE; | 
|  |  | 
|  | typedef struct _NDIS_WMI_PM_ACTIVE_CAPABILITIES { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_PM_CAPABILITY_STATE WakeOnPattern; | 
|  | NDIS_PM_CAPABILITY_STATE WakeOnMagicPacket; | 
|  | NDIS_PM_CAPABILITY_STATE DeviceSleepOnDisconnect; | 
|  | NDIS_PM_CAPABILITY_STATE PMARPOffload; | 
|  | NDIS_PM_CAPABILITY_STATE PMNSOffload; | 
|  | NDIS_PM_CAPABILITY_STATE PMWiFiRekeyOffload; | 
|  | } NDIS_WMI_PM_ACTIVE_CAPABILITIES, *PNDIS_WMI_PM_ACTIVE_CAPABILITIES; | 
|  |  | 
|  | typedef struct _NDIS_RECEIVE_FILTER_CAPABILITIES { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG EnabledFilterTypes; | 
|  | ULONG EnabledQueueTypes; | 
|  | ULONG NumQueues; | 
|  | ULONG SupportedQueueProperties; | 
|  | ULONG SupportedFilterTests; | 
|  | ULONG SupportedHeaders; | 
|  | ULONG SupportedMacHeaderFields; | 
|  | ULONG MaxMacHeaderFilters; | 
|  | ULONG MaxQueueGroups; | 
|  | ULONG MaxQueuesPerQueueGroup; | 
|  | ULONG MinLookaheadSplitSize; | 
|  | ULONG MaxLookaheadSplitSize; | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | ULONG SupportedARPHeaderFields; | 
|  | ULONG SupportedIPv4HeaderFields; | 
|  | ULONG SupportedIPv6HeaderFields; | 
|  | ULONG SupportedUdpHeaderFields; | 
|  | ULONG MaxFieldTestsPerPacketCoalescingFilter; | 
|  | ULONG MaxPacketCoalescingFilters; | 
|  | ULONG NdisReserved; | 
|  | #endif | 
|  | } NDIS_RECEIVE_FILTER_CAPABILITIES, *PNDIS_RECEIVE_FILTER_CAPABILITIES; | 
|  |  | 
|  | typedef struct _NDIS_NIC_SWITCH_CAPABILITIES { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG NdisReserved1; | 
|  | ULONG NumTotalMacAddresses; | 
|  | ULONG NumMacAddressesPerPort; | 
|  | ULONG NumVlansPerPort; | 
|  | ULONG NdisReserved2; | 
|  | ULONG NdisReserved3; | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | ULONG NicSwitchCapabilities; | 
|  | ULONG MaxNumSwitches; | 
|  | ULONG MaxNumVPorts; | 
|  | ULONG NdisReserved4; | 
|  | ULONG MaxNumVFs; | 
|  | ULONG MaxNumQueuePairs; | 
|  | ULONG NdisReserved5; | 
|  | ULONG NdisReserved6; | 
|  | ULONG NdisReserved7; | 
|  | ULONG MaxNumQueuePairsPerNonDefaultVPort; | 
|  | ULONG NdisReserved8; | 
|  | ULONG NdisReserved9; | 
|  | ULONG NdisReserved10; | 
|  | ULONG NdisReserved11; | 
|  | ULONG NdisReserved12; | 
|  | ULONG MaxNumMacAddresses; | 
|  | ULONG NdisReserved13; | 
|  | ULONG NdisReserved14; | 
|  | ULONG NdisReserved15; | 
|  | ULONG NdisReserved16; | 
|  | ULONG NdisReserved17; | 
|  | #endif | 
|  | } NDIS_NIC_SWITCH_CAPABILITIES, *PNDIS_NIC_SWITCH_CAPABILITIES; | 
|  |  | 
|  | typedef struct _NDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG EnabledFilterTypes; | 
|  | ULONG EnabledQueueTypes; | 
|  | } NDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS, *PNDIS_RECEIVE_FILTER_GLOBAL_PARAMETERS; | 
|  |  | 
|  | typedef ULONG NDIS_RECEIVE_QUEUE_ID, *PNDIS_RECEIVE_QUEUE_ID; | 
|  | typedef ULONG NDIS_RECEIVE_QUEUE_GROUP_ID, *PNDIS_RECEIVE_QUEUE_GROUP_ID; | 
|  | typedef ULONG NDIS_RECEIVE_FILTER_ID, *PNDIS_RECEIVE_FILTER_ID; | 
|  |  | 
|  | typedef enum _NDIS_RECEIVE_FILTER_TYPE { | 
|  | NdisReceiveFilterTypeUndefined, | 
|  | NdisReceiveFilterTypeVMQueue, | 
|  | NdisReceiveFilterTypePacketCoalescing, | 
|  | NdisReceiveFilterTypeMaximum | 
|  | } NDIS_RECEIVE_FILTER_TYPE, *PNDIS_RECEIVE_FILTER_TYPE; | 
|  |  | 
|  | typedef enum _NDIS_FRAME_HEADER { | 
|  | NdisFrameHeaderUndefined, | 
|  | NdisFrameHeaderMac, | 
|  | NdisFrameHeaderArp, | 
|  | NdisFrameHeaderIPv4, | 
|  | NdisFrameHeaderIPv6, | 
|  | NdisFrameHeaderUdp, | 
|  | NdisFrameHeaderMaximum | 
|  | } NDIS_FRAME_HEADER, *PNDIS_FRAME_HEADER; | 
|  |  | 
|  | typedef enum _NDIS_MAC_HEADER_FIELD { | 
|  | NdisMacHeaderFieldUndefined, | 
|  | NdisMacHeaderFieldDestinationAddress, | 
|  | NdisMacHeaderFieldSourceAddress, | 
|  | NdisMacHeaderFieldProtocol, | 
|  | NdisMacHeaderFieldVlanId, | 
|  | NdisMacHeaderFieldPriority, | 
|  | NdisMacHeaderFieldPacketType, | 
|  | NdisMacHeaderFieldMaximum | 
|  | } NDIS_MAC_HEADER_FIELD, *PNDIS_MAC_HEADER_FIELD; | 
|  |  | 
|  | typedef enum _NDIS_MAC_PACKET_TYPE { | 
|  | NdisMacPacketTypeUndefined = 0, | 
|  | NdisMacPacketTypeUnicast = 1, | 
|  | NdisMacPacketTypeMulticast = 2, | 
|  | NdisMacPacketTypeBroadcast = 3, | 
|  | NdisMacPacketTypeMaximum | 
|  | } NDIS_MAC_PACKET_TYPE, *PNDIS_MAC_PACKET_TYPE; | 
|  |  | 
|  | typedef enum _NDIS_ARP_HEADER_FIELD { | 
|  | NdisARPHeaderFieldUndefined, | 
|  | NdisARPHeaderFieldOperation, | 
|  | NdisARPHeaderFieldSPA, | 
|  | NdisARPHeaderFieldTPA, | 
|  | NdisARPHeaderFieldMaximum | 
|  | } NDIS_ARP_HEADER_FIELD, *PNDIS_ARP_HEADER_FIELD; | 
|  |  | 
|  | typedef enum _NDIS_IPV4_HEADER_FIELD { | 
|  | NdisIPv4HeaderFieldUndefined, | 
|  | NdisIPv4HeaderFieldProtocol, | 
|  | NdisIPv4HeaderFieldMaximum | 
|  | } NDIS_IPV4_HEADER_FIELD, *PNDIS_IPV4_HEADER_FIELD; | 
|  |  | 
|  | typedef enum _NDIS_IPV6_HEADER_FIELD { | 
|  | NdisIPv6HeaderFieldUndefined, | 
|  | NdisIPv6HeaderFieldProtocol, | 
|  | NdisIPv6HeaderFieldMaximum | 
|  | } NDIS_IPV6_HEADER_FIELD, *PNDIS_IPV6_HEADER_FIELD; | 
|  |  | 
|  | typedef enum _NDIS_UDP_HEADER_FIELD { | 
|  | NdisUdpHeaderFieldUndefined, | 
|  | NdisUdpHeaderFieldDestinationPort, | 
|  | NdisUdpHeaderFieldMaximum | 
|  | } NDIS_UDP_HEADER_FIELD, *PNDIS_UDP_HEADER_FIELD; | 
|  |  | 
|  | typedef enum _NDIS_RECEIVE_FILTER_TEST { | 
|  | NdisReceiveFilterTestUndefined, | 
|  | NdisReceiveFilterTestEqual, | 
|  | NdisReceiveFilterTestMaskEqual, | 
|  | NdisReceiveFilterTestNotEqual, | 
|  | NdisReceiveFilterTestMaximum | 
|  | } NDIS_RECEIVE_FILTER_TEST, *PNDIS_RECEIVE_FILTER_TEST; | 
|  |  | 
|  | typedef struct _NDIS_RECEIVE_FILTER_FIELD_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_FRAME_HEADER FrameHeader; | 
|  | NDIS_RECEIVE_FILTER_TEST ReceiveFilterTest; | 
|  | union _HEADER_FIELD { | 
|  | NDIS_MAC_HEADER_FIELD MacHeaderField; | 
|  | NDIS_ARP_HEADER_FIELD ArpHeaderField; | 
|  | NDIS_IPV4_HEADER_FIELD IPv4HeaderField; | 
|  | NDIS_IPV6_HEADER_FIELD IPv6HeaderField; | 
|  | NDIS_UDP_HEADER_FIELD UdpHeaderField; | 
|  | } HeaderField; | 
|  | union _FIELD_VALUE { | 
|  | UCHAR FieldByteValue; | 
|  | USHORT FieldShortValue; | 
|  | ULONG FieldLongValue; | 
|  | ULONG64 FieldLong64Value; | 
|  | UCHAR FieldByteArrayValue[16]; | 
|  | } FieldValue; | 
|  | union _RESULT_VALUE { | 
|  | UCHAR ResultByteValue; | 
|  | USHORT ResultShortValue; | 
|  | ULONG ResultLongValue; | 
|  | ULONG64 ResultLong64Value; | 
|  | UCHAR ResultByteArrayValue[16]; | 
|  | } ResultValue; | 
|  | } NDIS_RECEIVE_FILTER_FIELD_PARAMETERS, *PNDIS_RECEIVE_FILTER_FIELD_PARAMETERS; | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | typedef ULONG NDIS_NIC_SWITCH_VPORT_ID, *PNDIS_NIC_SWITCH_VPORT_ID; | 
|  | #endif | 
|  |  | 
|  | typedef struct _NDIS_RECEIVE_FILTER_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_RECEIVE_FILTER_TYPE FilterType; | 
|  | NDIS_RECEIVE_QUEUE_ID QueueId; | 
|  | NDIS_RECEIVE_FILTER_ID FilterId; | 
|  | ULONG FieldParametersArrayOffset; | 
|  | ULONG FieldParametersArrayNumElements; | 
|  | ULONG FieldParametersArrayElementSize; | 
|  | ULONG RequestedFilterIdBitCount; | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | ULONG MaxCoalescingDelay; | 
|  | NDIS_NIC_SWITCH_VPORT_ID VPortId; | 
|  | #endif | 
|  | } NDIS_RECEIVE_FILTER_PARAMETERS, *PNDIS_RECEIVE_FILTER_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_RECEIVE_QUEUE_ID QueueId; | 
|  | NDIS_RECEIVE_FILTER_ID FilterId; | 
|  | } NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS, *PNDIS_RECEIVE_FILTER_CLEAR_PARAMETERS; | 
|  |  | 
|  | typedef enum _NDIS_RECEIVE_QUEUE_TYPE { | 
|  | NdisReceiveQueueTypeUnspecified, | 
|  | NdisReceiveQueueTypeVMQueue, | 
|  | NdisReceiveQueueTypeMaximum | 
|  | } NDIS_RECEIVE_QUEUE_TYPE, *PNDIS_RECEIVE_QUEUE_TYPE; | 
|  |  | 
|  | typedef NDIS_IF_COUNTED_STRING NDIS_QUEUE_NAME, *PNDIS_QUEUE_NAME; | 
|  | typedef NDIS_IF_COUNTED_STRING NDIS_VM_NAME, *PNDIS_VM_NAME; | 
|  | typedef NDIS_IF_COUNTED_STRING NDIS_VM_FRIENDLYNAME, *PNDIS_VM_FRIENDLYNAME; | 
|  | typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_PORT_PROPERTY_PROFILE_NAME, *PNDIS_SWITCH_PORT_PROPERTY_PROFILE_NAME; | 
|  | typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_PORT_PROPERTY_PROFILE_CDN_LABEL, *PNDIS_SWITCH_PORT_PROPERTY_PROFILE_CDN_LABEL; | 
|  | typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_NAME, *PNDIS_SWITCH_NAME; | 
|  | typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_FRIENDLYNAME, *PNDIS_SWITCH_FRIENDLYNAME; | 
|  | typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_PORT_NAME, *PNDIS_SWITCH_PORT_NAME; | 
|  | typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_PORT_FRIENDLYNAME, *PNDIS_SWITCH_PORT_FRIENDLYNAME; | 
|  | typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_NIC_NAME, *PNDIS_SWITCH_NIC_NAME; | 
|  | typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_NIC_FRIENDLYNAME, *PNDIS_SWITCH_NIC_FRIENDLYNAME; | 
|  | typedef NDIS_IF_COUNTED_STRING NDIS_SWITCH_EXTENSION_FRIENDLYNAME, *PNDIS_SWITCH_EXTENSION_FRIENDLYNAME; | 
|  | typedef NDIS_IF_COUNTED_STRING NDIS_VENDOR_NAME, *PNDIS_VENDOR_NAME; | 
|  |  | 
|  | typedef struct _NDIS_RECEIVE_QUEUE_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_RECEIVE_QUEUE_TYPE QueueType; | 
|  | NDIS_RECEIVE_QUEUE_ID QueueId; | 
|  | NDIS_RECEIVE_QUEUE_GROUP_ID QueueGroupId; | 
|  | GROUP_AFFINITY ProcessorAffinity; | 
|  | ULONG NumSuggestedReceiveBuffers; | 
|  | ULONG MSIXTableEntry; | 
|  | ULONG LookaheadSize; | 
|  | NDIS_VM_NAME VmName; | 
|  | NDIS_QUEUE_NAME QueueName; | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | ULONG PortId; | 
|  | ULONG InterruptCoalescingDomainId; | 
|  | #endif | 
|  | } NDIS_RECEIVE_QUEUE_PARAMETERS, *PNDIS_RECEIVE_QUEUE_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_RECEIVE_QUEUE_FREE_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_RECEIVE_QUEUE_ID QueueId; | 
|  | } NDIS_RECEIVE_QUEUE_FREE_PARAMETERS, *PNDIS_RECEIVE_QUEUE_FREE_PARAMETERS; | 
|  |  | 
|  | typedef enum _NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE { | 
|  | NdisReceiveQueueOperationalStateUndefined, | 
|  | NdisReceiveQueueOperationalStateRunning, | 
|  | NdisReceiveQueueOperationalStatePaused, | 
|  | NdisReceiveQueueOperationalStateDmaStopped, | 
|  | NdisReceiveQueueOperationalStateMaximum | 
|  | } NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE, *PNDIS_RECEIVE_QUEUE_OPERATIONAL_STATE; | 
|  |  | 
|  | typedef struct _NDIS_RECEIVE_QUEUE_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_RECEIVE_QUEUE_TYPE QueueType; | 
|  | NDIS_RECEIVE_QUEUE_ID QueueId; | 
|  | NDIS_RECEIVE_QUEUE_GROUP_ID QueueGroupId; | 
|  | NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE QueueState; | 
|  | GROUP_AFFINITY ProcessorAffinity; | 
|  | ULONG NumSuggestedReceiveBuffers; | 
|  | ULONG MSIXTableEntry; | 
|  | ULONG LookaheadSize; | 
|  | NDIS_VM_NAME VmName; | 
|  | NDIS_QUEUE_NAME QueueName; | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | ULONG NumFilters; | 
|  | ULONG InterruptCoalescingDomainId; | 
|  | #endif | 
|  | } NDIS_RECEIVE_QUEUE_INFO, *PNDIS_RECEIVE_QUEUE_INFO; | 
|  |  | 
|  | typedef struct _NDIS_RECEIVE_QUEUE_INFO_ARRAY { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG FirstElementOffset; | 
|  | ULONG NumElements; | 
|  | ULONG ElementSize; | 
|  | } NDIS_RECEIVE_QUEUE_INFO_ARRAY, *PNDIS_RECEIVE_QUEUE_INFO_ARRAY; | 
|  |  | 
|  | typedef struct _NDIS_RECEIVE_FILTER_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_RECEIVE_FILTER_TYPE FilterType; | 
|  | NDIS_RECEIVE_FILTER_ID FilterId; | 
|  | } NDIS_RECEIVE_FILTER_INFO, *PNDIS_RECEIVE_FILTER_INFO; | 
|  |  | 
|  | typedef struct _NDIS_RECEIVE_FILTER_INFO_ARRAY { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_RECEIVE_QUEUE_ID QueueId; | 
|  | ULONG FirstElementOffset; | 
|  | ULONG NumElements; | 
|  | ULONG ElementSize; | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | ULONG Flags; | 
|  | NDIS_NIC_SWITCH_VPORT_ID VPortId; | 
|  | #endif | 
|  | } NDIS_RECEIVE_FILTER_INFO_ARRAY, *PNDIS_RECEIVE_FILTER_INFO_ARRAY; | 
|  |  | 
|  | typedef struct _NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_RECEIVE_QUEUE_ID QueueId; | 
|  | NDIS_STATUS CompletionStatus; | 
|  | } NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS, *PNDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG FirstElementOffset; | 
|  | ULONG NumElements; | 
|  | ULONG ElementSize; | 
|  | } NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY, *PNDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY; | 
|  | #endif | 
|  |  | 
|  | #if NTDDI_VERSION >= 0x06000000 || NDIS_SUPPORT_NDIS6 | 
|  | #define NDIS_RSS_CAPS_MESSAGE_SIGNALED_INTERRUPTS 0x01000000 | 
|  | #define NDIS_RSS_CAPS_CLASSIFICATION_AT_ISR 0x02000000 | 
|  | #define NDIS_RSS_CAPS_CLASSIFICATION_AT_DPC 0x04000000 | 
|  | #if NDIS_SUPPORT_NDIS620 | 
|  | #define NDIS_RSS_CAPS_USING_MSI_X 0x08000000 | 
|  | #endif | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_RSS_CAPS_RSS_AVAILABLE_ON_PORTS 0x10000000 | 
|  | #define NDIS_RSS_CAPS_SUPPORTS_MSI_X 0x20000000 | 
|  | #endif | 
|  | #define NDIS_RSS_CAPS_HASH_TYPE_TCP_IPV4 0x00000100 | 
|  | #define NDIS_RSS_CAPS_HASH_TYPE_TCP_IPV6 0x00000200 | 
|  | #define NDIS_RSS_CAPS_HASH_TYPE_TCP_IPV6_EX 0x00000400 | 
|  |  | 
|  | #define NdisHashFunctionToeplitz 0x00000001 | 
|  | #define NdisHashFunctionReserved1 0x00000002 | 
|  | #define NdisHashFunctionReserved2 0x00000004 | 
|  | #define NdisHashFunctionReserved3 0x00000008 | 
|  |  | 
|  | #define NDIS_HASH_FUNCTION_MASK 0x000000ff | 
|  | #define NDIS_HASH_TYPE_MASK 0x00ffff00 | 
|  |  | 
|  | #define NDIS_RSS_HASH_FUNC_FROM_HASH_INFO(HINFO) ((HINFO) & (NDIS_HASH_FUNCTION_MASK)) | 
|  | #define NDIS_RSS_HASH_TYPE_FROM_HASH_INFO(HINFO) ((HINFO) & (NDIS_HASH_TYPE_MASK)) | 
|  | #define NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC(HTYPE, HFCT) ((HTYPE) | (HFCT)) | 
|  |  | 
|  | #define NDIS_HASH_IPV4 0x00000100 | 
|  | #define NDIS_HASH_TCP_IPV4 0x00000200 | 
|  | #define NDIS_HASH_IPV6 0x00000400 | 
|  | #define NDIS_HASH_IPV6_EX 0x00000800 | 
|  | #define NDIS_HASH_TCP_IPV6 0x00001000 | 
|  | #define NDIS_HASH_TCP_IPV6_EX 0x00002000 | 
|  |  | 
|  | #define NDIS_RSS_PARAM_FLAG_BASE_CPU_UNCHANGED 0x0001 | 
|  | #define NDIS_RSS_PARAM_FLAG_HASH_INFO_UNCHANGED 0x0002 | 
|  | #define NDIS_RSS_PARAM_FLAG_ITABLE_UNCHANGED 0x0004 | 
|  | #define NDIS_RSS_PARAM_FLAG_HASH_KEY_UNCHANGED 0x0008 | 
|  | #define NDIS_RSS_PARAM_FLAG_DISABLE_RSS 0x0010 | 
|  |  | 
|  | #define NDIS_RSS_INDIRECTION_TABLE_SIZE_REVISION_1 128 | 
|  | #define NDIS_RSS_HASH_SECRET_KEY_SIZE_REVISION_1 40 | 
|  |  | 
|  | #define NDIS_RSS_INDIRECTION_TABLE_MAX_SIZE_REVISION_1 128 | 
|  | #define NDIS_RSS_HASH_SECRET_KEY_MAX_SIZE_REVISION_1 40 | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS620 | 
|  | #define NDIS_RSS_INDIRECTION_TABLE_MAX_SIZE_REVISION_2 (128 * sizeof (PROCESSOR_NUMBER)) | 
|  | #define NDIS_RSS_HASH_SECRET_KEY_MAX_SIZE_REVISION_2 40 | 
|  | #endif | 
|  |  | 
|  | #define NDIS_RECEIVE_HASH_FLAG_ENABLE_HASH 0x00000001 | 
|  | #define NDIS_RECEIVE_HASH_FLAG_HASH_INFO_UNCHANGED 0x00000002 | 
|  | #define NDIS_RECEIVE_HASH_FLAG_HASH_KEY_UNCHANGED 0x00000004 | 
|  |  | 
|  | #define NDIS_PORT_CHAR_USE_DEFAULT_AUTH_SETTINGS 0x00000001 | 
|  |  | 
|  | #define NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_1 1 | 
|  | #define NDIS_RECEIVE_HASH_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_PORT_STATE_REVISION_1 1 | 
|  | #define NDIS_PORT_CHARACTERISTICS_REVISION_1 1 | 
|  | #define NDIS_PORT_ARRAY_REVISION_1 1 | 
|  | #define NDIS_RECEIVE_SCALE_PARAMETERS_REVISION_1 1 | 
|  | #if NDIS_SUPPORT_NDIS620 | 
|  | #define NDIS_RECEIVE_SCALE_PARAMETERS_REVISION_2 2 | 
|  | #endif | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_RECEIVE_SCALE_CAPABILITIES_REVISION_2 2 | 
|  | #endif | 
|  |  | 
|  | #define NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_SCALE_CAPABILITIES, NumberOfReceiveQueues) | 
|  | #define NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_SCALE_PARAMETERS, HashSecretKeyOffset) | 
|  | #define NDIS_SIZEOF_RECEIVE_HASH_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_HASH_PARAMETERS, HashSecretKeyOffset) | 
|  | #define NDIS_SIZEOF_PORT_STATE_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PORT_STATE, Flags) | 
|  | #define NDIS_SIZEOF_PORT_CHARACTERISTICS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PORT_CHARACTERISTICS, RcvAuthorizationState) | 
|  | #define NDIS_SIZEOF_PORT_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_PORT_ARRAY, Ports) | 
|  | #if NDIS_SUPPORT_NDIS620 | 
|  | #define NDIS_SIZEOF_RECEIVE_SCALE_PARAMETERS_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_SCALE_PARAMETERS, ProcessorMasksEntrySize) | 
|  | #endif | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_SIZEOF_RECEIVE_SCALE_CAPABILITIES_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_SCALE_CAPABILITIES, NumberOfIndirectionTableEntries) | 
|  | #endif | 
|  |  | 
|  | typedef struct _NDIS_RECEIVE_SCALE_CAPABILITIES { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG CapabilitiesFlags; | 
|  | ULONG NumberOfInterruptMessages; | 
|  | ULONG NumberOfReceiveQueues; | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | USHORT NumberOfIndirectionTableEntries; | 
|  | #endif | 
|  | } NDIS_RECEIVE_SCALE_CAPABILITIES, *PNDIS_RECEIVE_SCALE_CAPABILITIES; | 
|  |  | 
|  | typedef struct _NDIS_RECEIVE_SCALE_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | USHORT Flags; | 
|  | USHORT BaseCpuNumber; | 
|  | ULONG HashInformation; | 
|  | USHORT IndirectionTableSize; | 
|  | ULONG IndirectionTableOffset; | 
|  | USHORT HashSecretKeySize; | 
|  | ULONG HashSecretKeyOffset; | 
|  | #if NDIS_SUPPORT_NDIS620 | 
|  | ULONG ProcessorMasksOffset; | 
|  | ULONG NumberOfProcessorMasks; | 
|  | ULONG ProcessorMasksEntrySize; | 
|  | #endif | 
|  | } NDIS_RECEIVE_SCALE_PARAMETERS, *PNDIS_RECEIVE_SCALE_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_RECEIVE_HASH_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG HashInformation; | 
|  | USHORT HashSecretKeySize; | 
|  | ULONG HashSecretKeyOffset; | 
|  | } NDIS_RECEIVE_HASH_PARAMETERS, *PNDIS_RECEIVE_HASH_PARAMETERS; | 
|  |  | 
|  | typedef enum _NDIS_PROCESSOR_VENDOR { | 
|  | NdisProcessorVendorUnknown, | 
|  | NdisProcessorVendorGenuinIntel, | 
|  | NdisProcessorVendorGenuineIntel = NdisProcessorVendorGenuinIntel, | 
|  | NdisProcessorVendorAuthenticAMD | 
|  | } NDIS_PROCESSOR_VENDOR, *PNDIS_PROCESSOR_VENDOR; | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS620 | 
|  | #define NDIS_HYPERVISOR_INFO_FLAG_HYPERVISOR_PRESENT 0x00000001 | 
|  |  | 
|  | #define NDIS_RSS_PROCESSOR_INFO_REVISION_1 1 | 
|  | #define NDIS_SYSTEM_PROCESSOR_INFO_EX_REVISION_1 1 | 
|  | #define NDIS_HYPERVISOR_INFO_REVISION_1 1 | 
|  | #define NDIS_WMI_RECEIVE_QUEUE_INFO_REVISION_1 1 | 
|  | #define NDIS_WMI_RECEIVE_QUEUE_PARAMETERS_REVISION_1 1 | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_RSS_PROCESSOR_INFO_REVISION_2 2 | 
|  | #endif | 
|  |  | 
|  | #define NDIS_SIZEOF_RSS_PROCESSOR_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RSS_PROCESSOR, PreferenceIndex) | 
|  | #define NDIS_SIZEOF_RSS_PROCESSOR_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RSS_PROCESSOR_INFO, RssProcessorEntrySize) | 
|  | #define NDIS_SIZEOF_SYSTEM_PROCESSOR_INFO_EX_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SYSTEM_PROCESSOR_INFO_EX, ProcessorInfoEntrySize) | 
|  | #define NDIS_SIZEOF_HYPERVISOR_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_HYPERVISOR_INFO, PartitionType) | 
|  | #define NDIS_SIZEOF_WMI_RECEIVE_QUEUE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_RECEIVE_QUEUE_PARAMETERS, QueueName) | 
|  | #define NDIS_SIZEOF_WMI_RECEIVE_QUEUE_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_WMI_RECEIVE_QUEUE_INFO, QueueName) | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | #define NDIS_SIZEOF_RSS_PROCESSOR_INFO_REVISION_2 RTL_SIZEOF_THROUGH_FIELD (NDIS_RSS_PROCESSOR_INFO, RssProfile) | 
|  | #endif | 
|  |  | 
|  | typedef struct _NDIS_RSS_PROCESSOR { | 
|  | PROCESSOR_NUMBER ProcNum; | 
|  | USHORT PreferenceIndex; | 
|  | USHORT Reserved; | 
|  | } NDIS_RSS_PROCESSOR, *PNDIS_RSS_PROCESSOR; | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | typedef enum _NDIS_RSS_PROFILE { | 
|  | NdisRssProfileClosest = 1, | 
|  | NdisRssProfileClosestStatic, | 
|  | NdisRssProfileNuma, | 
|  | NdisRssProfileNumaStatic, | 
|  | NdisRssProfileConservative, | 
|  | NdisRssProfileMaximum, | 
|  | } NDIS_RSS_PROFILE, *PNDIS_RSS_PROFILE; | 
|  | #endif | 
|  |  | 
|  | typedef struct _NDIS_RSS_PROCESSOR_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | PROCESSOR_NUMBER RssBaseProcessor; | 
|  | ULONG MaxNumRssProcessors; | 
|  | USHORT PreferredNumaNode; | 
|  | ULONG RssProcessorArrayOffset; | 
|  | ULONG RssProcessorCount; | 
|  | ULONG RssProcessorEntrySize; | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  | PROCESSOR_NUMBER RssMaxProcessor; | 
|  | NDIS_RSS_PROFILE RssProfile; | 
|  | #endif | 
|  | } NDIS_RSS_PROCESSOR_INFO, *PNDIS_RSS_PROCESSOR_INFO; | 
|  |  | 
|  | typedef struct _NDIS_PROCESSOR_INFO_EX { | 
|  | PROCESSOR_NUMBER ProcNum; | 
|  | ULONG SocketId; | 
|  | ULONG CoreId; | 
|  | ULONG HyperThreadId; | 
|  | USHORT NodeId; | 
|  | USHORT NodeDistance; | 
|  | } NDIS_PROCESSOR_INFO_EX, *PNDIS_PROCESSOR_INFO_EX; | 
|  |  | 
|  | typedef struct _NDIS_SYSTEM_PROCESSOR_INFO_EX { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_PROCESSOR_VENDOR ProcessorVendor; | 
|  | ULONG NumSockets; | 
|  | ULONG NumCores; | 
|  | ULONG NumCoresPerSocket; | 
|  | ULONG MaxHyperThreadingProcsPerCore; | 
|  | ULONG ProcessorInfoOffset; | 
|  | ULONG NumberOfProcessors; | 
|  | ULONG ProcessorInfoEntrySize; | 
|  | } NDIS_SYSTEM_PROCESSOR_INFO_EX, *PNDIS_SYSTEM_PROCESSOR_INFO_EX; | 
|  |  | 
|  | typedef enum _NDIS_HYPERVISOR_PARTITION_TYPE { | 
|  | NdisHypervisorPartitionTypeUnknown, | 
|  | NdisHypervisorPartitionTypeMsHvParent, | 
|  | NdisHypervisorPartitionMsHvChild, | 
|  | NdisHypervisorPartitionTypeMax | 
|  | } NDIS_HYPERVISOR_PARTITION_TYPE, *PNDIS_HYPERVISOR_PARTITION_TYPE; | 
|  |  | 
|  | typedef struct _NDIS_HYPERVISOR_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_HYPERVISOR_PARTITION_TYPE PartitionType; | 
|  | } NDIS_HYPERVISOR_INFO, *PNDIS_HYPERVISOR_INFO; | 
|  |  | 
|  | typedef struct _NDIS_WMI_GROUP_AFFINITY { | 
|  | ULONG64 Mask; | 
|  | USHORT Group; | 
|  | USHORT Reserved[3]; | 
|  | } NDIS_WMI_GROUP_AFFINITY, *PNDIS_WMI_GROUP_AFFINITY; | 
|  |  | 
|  | typedef struct _NDIS_WMI_RECEIVE_QUEUE_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_RECEIVE_QUEUE_TYPE QueueType; | 
|  | NDIS_RECEIVE_QUEUE_ID QueueId; | 
|  | NDIS_RECEIVE_QUEUE_GROUP_ID QueueGroupId; | 
|  | NDIS_WMI_GROUP_AFFINITY ProcessorAffinity; | 
|  | ULONG NumSuggestedReceiveBuffers; | 
|  | ULONG MSIXTableEntry; | 
|  | ULONG LookaheadSize; | 
|  | NDIS_VM_NAME VmName; | 
|  | NDIS_QUEUE_NAME QueueName; | 
|  | } NDIS_WMI_RECEIVE_QUEUE_PARAMETERS, *PNDIS_WMI_RECEIVE_QUEUE_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_WMI_RECEIVE_QUEUE_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_RECEIVE_QUEUE_TYPE QueueType; | 
|  | NDIS_RECEIVE_QUEUE_ID QueueId; | 
|  | NDIS_RECEIVE_QUEUE_GROUP_ID QueueGroupId; | 
|  | NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE QueueState; | 
|  | NDIS_WMI_GROUP_AFFINITY ProcessorAffinity; | 
|  | ULONG NumSuggestedReceiveBuffers; | 
|  | ULONG MSIXTableEntry; | 
|  | ULONG LookaheadSize; | 
|  | NDIS_VM_NAME VmName; | 
|  | NDIS_QUEUE_NAME QueueName; | 
|  | } NDIS_WMI_RECEIVE_QUEUE_INFO, *PNDIS_WMI_RECEIVE_QUEUE_INFO; | 
|  | #endif | 
|  |  | 
|  | #if NDIS_SUPPORT_NDIS630 | 
|  |  | 
|  | #define NDIS_NDK_PERFORMANCE_COUNTER_MASK(CNTFIELD) (((ULONG64) 1) << (FIELD_OFFSET (NDIS_NDK_PERFORMANCE_COUNTERS, CNTFIELD) / sizeof (ULONG64))) | 
|  |  | 
|  | #define OID_NDK_SET_STATE 0xfc040201 | 
|  | #define OID_NDK_STATISTICS 0xfc040202 | 
|  | #define OID_NDK_CONNECTIONS 0xfc040203 | 
|  | #define OID_NDK_LOCAL_ENDPOINTS 0xfc040204 | 
|  |  | 
|  | #define OID_QOS_HARDWARE_CAPABILITIES 0xfc050001 | 
|  | #define OID_QOS_CURRENT_CAPABILITIES 0xfc050002 | 
|  | #define OID_QOS_PARAMETERS 0xfc050003 | 
|  | #define OID_QOS_OPERATIONAL_PARAMETERS 0xfc050004 | 
|  | #define OID_QOS_REMOTE_PARAMETERS 0xfc050005 | 
|  |  | 
|  | #define NDIS_QOS_MAXIMUM_PRIORITIES 8 | 
|  | #define NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES 8 | 
|  |  | 
|  | #define NDIS_QOS_CAPABILITIES_STRICT_TSA_SUPPORTED 0x00000001 | 
|  | #define NDIS_QOS_CAPABILITIES_MACSEC_BYPASS_SUPPORTED 0x00000002 | 
|  | #define NDIS_QOS_CAPABILITIES_CEE_DCBX_SUPPORTED 0x00000004 | 
|  | #define NDIS_QOS_CAPABILITIES_IEEE_DCBX_SUPPORTED 0x00000008 | 
|  |  | 
|  | #define NDIS_QOS_CLASSIFICATION_SET_BY_MINIPORT_MASK 0xff000000 | 
|  | #define NDIS_QOS_CLASSIFICATION_ENFORCED_BY_MINIPORT 0x01000000 | 
|  |  | 
|  | #define NDIS_QOS_CONDITION_RESERVED 0x0 | 
|  | #define NDIS_QOS_CONDITION_DEFAULT 0x1 | 
|  | #define NDIS_QOS_CONDITION_TCP_PORT 0x2 | 
|  | #define NDIS_QOS_CONDITION_UDP_PORT 0x3 | 
|  | #define NDIS_QOS_CONDITION_TCP_OR_UDP_PORT 0x4 | 
|  | #define NDIS_QOS_CONDITION_ETHERTYPE 0x5 | 
|  | #define NDIS_QOS_CONDITION_NETDIRECT_PORT 0x6 | 
|  | #define NDIS_QOS_CONDITION_MAXIMUM 0x7 | 
|  |  | 
|  | #define NDIS_QOS_ACTION_PRIORITY 0x0 | 
|  | #define NDIS_QOS_ACTION_MAXIMUM 0x1 | 
|  |  | 
|  | #define NDIS_QOS_PARAMETERS_ETS_CHANGED 0x00000001 | 
|  | #define NDIS_QOS_PARAMETERS_ETS_CONFIGURED 0x00000002 | 
|  | #define NDIS_QOS_PARAMETERS_PFC_CHANGED 0x00000100 | 
|  | #define NDIS_QOS_PARAMETERS_PFC_CONFIGURED 0x00000200 | 
|  | #define NDIS_QOS_PARAMETERS_CLASSIFICATION_CHANGED 0x00010000 | 
|  | #define NDIS_QOS_PARAMETERS_CLASSIFICATION_CONFIGURED 0x00020000 | 
|  | #define NDIS_QOS_PARAMETERS_WILLING 0x80000000 | 
|  |  | 
|  | #define NDIS_QOS_TSA_STRICT 0x0 | 
|  | #define NDIS_QOS_TSA_CBS 0x1 | 
|  | #define NDIS_QOS_TSA_ETS 0x2 | 
|  | #define NDIS_QOS_TSA_MAXIMUM 0x3 | 
|  |  | 
|  | #define NDIS_PF_FUNCTION_ID (USHORT) -1 | 
|  | #define NDIS_INVALID_VF_FUNCTION_ID (USHORT) -1 | 
|  | #define NDIS_INVALID_RID (ULONG) -1 | 
|  | #define NDIS_DEFAULT_VPORT_ID 0 | 
|  | #define NDIS_DEFAULT_SWITCH_ID 0 | 
|  | #define NDIS_INVALID_SWITCH_ID (ULONG) -1 | 
|  |  | 
|  | #define NDIS_NIC_SWITCH_PARAMETERS_CHANGE_MASK 0xffff0000 | 
|  | #define NDIS_NIC_SWITCH_PARAMETERS_SWITCH_NAME_CHANGED 0x00010000 | 
|  |  | 
|  | #define NDIS_SRIOV_CAPS_SRIOV_SUPPORTED 0x00000001 | 
|  | #define NDIS_SRIOV_CAPS_PF_MINIPORT 0x00000002 | 
|  | #define NDIS_SRIOV_CAPS_VF_MINIPORT 0x00000004 | 
|  |  | 
|  | #define NDIS_NIC_SWITCH_VF_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH 0x00000001 | 
|  |  | 
|  | #define NDIS_NIC_SWITCH_VPORT_PARAMS_LOOKAHEAD_SPLIT_ENABLED 0x00000001 | 
|  | #define NDIS_NIC_SWITCH_VPORT_PARAMS_CHANGE_MASK 0xffff0000 | 
|  | #define NDIS_NIC_SWITCH_VPORT_PARAMS_FLAGS_CHANGED 0x00010000 | 
|  | #define NDIS_NIC_SWITCH_VPORT_PARAMS_NAME_CHANGED 0x00020000 | 
|  | #define NDIS_NIC_SWITCH_VPORT_PARAMS_INT_MOD_CHANGED 0x00040000 | 
|  | #define NDIS_NIC_SWITCH_VPORT_PARAMS_STATE_CHANGED 0x00080000 | 
|  | #define NDIS_NIC_SWITCH_VPORT_PARAMS_PROCESSOR_AFFINITY_CHANGED 0x00100000 | 
|  |  | 
|  | #define NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_FUNCTION 0x00000001 | 
|  | #define NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH 0x00000002 | 
|  |  | 
|  | #define NDIS_NIC_SWITCH_VPORT_INFO_LOOKAHEAD_SPLIT_ENABLED 0x00000001 | 
|  |  | 
|  | DEFINE_GUID (GUID_NDIS_NDK_CAPABILITIES, 0x7969ba4d, 0xdd80, 0x4bc7, 0xb3, 0xe6, 0x68, 0x04, 0x39, 0x97, 0xe5, 0x19); | 
|  | DEFINE_GUID (GUID_NDIS_NDK_STATE, 0x530c69c9, 0x2f51, 0x49de, 0xa1, 0xaf, 0x08, 0x8d, 0x54, 0xff, 0xa4, 0x74); | 
|  |  | 
|  | #define NDIS_NDK_CAPABILITIES_REVISION_1 1 | 
|  | #define NDIS_NDK_STATISTICS_INFO_REVISION_1 1 | 
|  | #define NDIS_NDK_CONNECTIONS_REVISION_1 1 | 
|  | #define NDIS_NDK_LOCAL_ENDPOINTS_REVISION_1 1 | 
|  | #define NDIS_QOS_CAPABILITIES_REVISION_1 1 | 
|  | #define NDIS_QOS_CLASSIFICATION_ELEMENT_REVISION_1 1 | 
|  | #define NDIS_QOS_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_NIC_SWITCH_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_NIC_SWITCH_INFO_REVISION_1 1 | 
|  | #define NDIS_NIC_SWITCH_INFO_ARRAY_REVISION_1 1 | 
|  | #define NDIS_NIC_SWITCH_VPORT_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_NIC_SWITCH_VPORT_INFO_REVISION_1 1 | 
|  | #define NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_REVISION_1 1 | 
|  | #define NDIS_NIC_SWITCH_VF_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_NIC_SWITCH_FREE_VF_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_NIC_SWITCH_VF_INFO_REVISION_1 1 | 
|  | #define NDIS_NIC_SWITCH_VF_INFO_ARRAY_REVISION_1 1 | 
|  | #define NDIS_SRIOV_CAPABILITIES_REVISION_1 1 | 
|  | #define NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SRIOV_RESET_VF_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SRIOV_CONFIG_STATE_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO_REVISION_1 1 | 
|  | #define NDIS_SRIOV_PROBED_BARS_INFO_REVISION_1 1 | 
|  | #define NDIS_RECEIVE_FILTER_MOVE_FILTER_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SRIOV_BAR_RESOURCES_INFO_REVISION_1 1 | 
|  | #define NDIS_SRIOV_PF_LUID_INFO_REVISION_1 1 | 
|  | #define NDIS_SRIOV_VF_SERIAL_NUMBER_INFO_REVISION_1 1 | 
|  | #define NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO_REVISION_1 1 | 
|  | #define NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION_1 1 | 
|  | #define NDIS_SWITCH_PORT_PROPERTY_SECURITY_REVISION_1 1 | 
|  | #define NDIS_SWITCH_PORT_PROPERTY_VLAN_REVISION_1 1 | 
|  | #define NDIS_SWITCH_PORT_PROPERTY_PROFILE_REVISION_1 1 | 
|  | #define NDIS_SWITCH_PORT_PROPERTY_CUSTOM_REVISION_1 1 | 
|  | #define NDIS_SWITCH_PORT_PROPERTY_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO_REVISION_1 1 | 
|  | #define NDIS_SWITCH_PROPERTY_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SWITCH_PROPERTY_CUSTOM_REVISION_1 1 | 
|  | #define NDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM_REVISION_1 1 | 
|  | #define NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SWITCH_PROPERTY_ENUM_INFO_REVISION_1 1 | 
|  | #define NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SWITCH_FEATURE_STATUS_CUSTOM_REVISION_1 1 | 
|  | #define NDIS_SWITCH_PORT_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SWITCH_PORT_ARRAY_REVISION_1 1 | 
|  | #define NDIS_SWITCH_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SWITCH_NIC_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SWITCH_NIC_ARRAY_REVISION_1 1 | 
|  | #define NDIS_SWITCH_NIC_OID_REQUEST_REVISION_1 1 | 
|  | #define NDIS_SWITCH_FEATURE_STATUS_PARAMETERS_REVISION_1 1 | 
|  | #define NDIS_SWITCH_NIC_SAVE_STATE_REVISION_1 1 | 
|  |  | 
|  | #define NDIS_SIZEOF_NDK_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NDK_CAPABILITIES, NdkInfo) | 
|  | #define NDIS_SIZEOF_NDK_STATISTICS_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NDK_STATISTICS_INFO, CounterSet) | 
|  | #define NDIS_SIZEOF_NDK_CONNECTIONS_REVISION_1(n) FIELD_OFFSET (NDIS_NDK_CONNECTIONS, Connections[n]) | 
|  | #define NDIS_SIZEOF_NDK_LOCAL_ENDPOINTS_REVISION_1(n) FIELD_OFFSET (NDIS_NDK_LOCAL_ENDPOINTS, LocalEndpoints[n]) | 
|  | #define NDIS_SIZEOF_QOS_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_QOS_CAPABILITIES, MaxNumPfcEnabledTrafficClasses) | 
|  | #define NDIS_SIZEOF_QOS_CLASSIFICATION_ELEMENT_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_QOS_CLASSIFICATION_ELEMENT, ActionField) | 
|  | #define NDIS_SIZEOF_QOS_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_QOS_PARAMETERS, FirstClassificationElementOffset) | 
|  | #define NDIS_SIZEOF_NIC_SWITCH_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_PARAMETERS, NdisReserved3) | 
|  | #define NDIS_SIZEOF_NIC_SWITCH_DELETE_SWITCH_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS, SwitchId) | 
|  | #define NDIS_SIZEOF_NIC_SWITCH_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_INFO, NumActiveNonDefaultVPortVlanIds) | 
|  | #define NDIS_SIZEOF_NIC_SWITCH_INFO_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_INFO_ARRAY, ElementSize) | 
|  | #define NDIS_SIZEOF_NIC_SWITCH_VPORT_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_VPORT_PARAMETERS, LookaheadSize) | 
|  | #define NDIS_SIZEOF_NIC_SWITCH_DELETE_VPORT_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS, VPortId) | 
|  | #define NDIS_SIZEOF_NIC_SWITCH_VPORT_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_VPORT_INFO, NumFilters) | 
|  | #define NDIS_SIZEOF_NIC_SWITCH_VPORT_INFO_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_VPORT_INFO_ARRAY, ElementSize) | 
|  | #define NDIS_SIZEOF_NIC_SWITCH_VF_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_VF_PARAMETERS, RequestorId) | 
|  | #define NDIS_SIZEOF_NIC_SWITCH_FREE_VF_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_FREE_VF_PARAMETERS, VFId) | 
|  | #define NDIS_SIZEOF_NIC_SWITCH_VF_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_VF_INFO, RequestorId) | 
|  | #define NDIS_SIZEOF_NIC_SWITCH_VF_INFO_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_NIC_SWITCH_VF_INFO_ARRAY, ElementSize) | 
|  | #define NDIS_SIZEOF_SRIOV_CAPABILITIES_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_CAPABILITIES, SriovCapabilities) | 
|  | #define NDIS_SIZEOF_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS, BufferOffset) | 
|  | #define NDIS_SIZEOF_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS, BufferOffset) | 
|  | #define NDIS_SIZEOF_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS, BufferOffset) | 
|  | #define NDIS_SIZEOF_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS, BufferOffset) | 
|  | #define NDIS_SIZEOF_SRIOV_RESET_VF_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_RESET_VF_PARAMETERS, VFId) | 
|  | #define NDIS_SIZEOF_SRIOV_SET_VF_POWER_STATE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS, WakeEnable) | 
|  | #define NDIS_SIZEOF_SRIOV_CONFIG_STATE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_CONFIG_STATE_PARAMETERS, Length) | 
|  | #define NDIS_SIZEOF_SRIOV_VF_VENDOR_DEVICE_ID_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO, DeviceId) | 
|  | #define NDIS_SIZEOF_SRIOV_PROBED_BARS_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_PROBED_BARS_INFO, BaseRegisterValuesOffset) | 
|  | #define NDIS_SIZEOF_RECEIVE_FILTER_MOVE_FILTER_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_RECEIVE_FILTER_MOVE_FILTER_PARAMETERS, DestVPortId) | 
|  | #define NDIS_SIZEOF_SRIOV_BAR_RESOURCES_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_BAR_RESOURCES_INFO, BarResourcesOffset) | 
|  | #define NDIS_SIZEOF_SRIOV_PF_LUID_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_PF_LUID_INFO, Luid) | 
|  | #define NDIS_SIZEOF_SRIOV_VF_SERIAL_NUMBER_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_VF_SERIAL_NUMBER_INFO, SerialNumber) | 
|  | #define NDIS_SIZEOF_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO, BlockMask) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_SECURITY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_SECURITY, AllowTeaming) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_VLAN_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_VLAN, VlanProperties) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_PROFILE_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_PROFILE, CdnLabel) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_CUSTOM_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_CUSTOM, PropertyBufferOffset) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_PARAMETERS, Reserved) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS, Reserved) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO, PropertyBufferOffset) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS, Reserved) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM, FeatureStatusBufferOffset) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_PROPERTY_CUSTOM_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PROPERTY_CUSTOM, PropertyBufferOffset) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS, PropertyInstanceId) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_PROPERTY_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PROPERTY_PARAMETERS, PropertyBufferOffset) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_PROPERTY_ENUM_INFO_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PROPERTY_ENUM_INFO, PropertyBufferOffset) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS, NumProperties) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_FEATURE_STATUS_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_FEATURE_STATUS_PARAMETERS, FeatureStatusBufferLength) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS, PropertyInstanceId) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PARAMETERS, IsActive) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_FEATURE_STATUS_CUSTOM_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_FEATURE_STATUS_CUSTOM, FeatureStatusCustomBufferOffset) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_PORT_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_PARAMETERS, PortState) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_PORT_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_PORT_ARRAY, ElementSize) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_NIC_OID_REQUEST_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_NIC_OID_REQUEST, OidRequest) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_NIC_SAVE_STATE_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_NIC_SAVE_STATE, SaveDataOffset) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_NIC_PARAMETERS_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_NIC_PARAMETERS, VFAssigned) | 
|  | #define NDIS_SIZEOF_NDIS_SWITCH_NIC_ARRAY_REVISION_1 RTL_SIZEOF_THROUGH_FIELD (NDIS_SWITCH_NIC_ARRAY, ElementSize) | 
|  |  | 
|  | #define NDIS_SWITCH_PORT_PROPERTY_CUSTOM_GET_BUFFER(PPROPC) ((PVOID) ((PUCHAR) (PPROPC) + (PPROPC)->PropertyBufferOffset)) | 
|  | #define NDIS_SWITCH_PORT_PROPERTY_PARAMETERS_GET_PROPERTY(PPARM) ((PVOID) ((PUCHAR) (PPARM) + (PPARM)->PropertyBufferOffset)) | 
|  | #define NDIS_SWITCH_CREATE_PROPERTY_VERSION(VMAJOR, VMINOR) (((VMAJOR) << 8) + (VMINOR)) | 
|  | #define NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS_GET_FIRST_INFO(PEPARM) ((PNDIS_SWITCH_PORT_PROPERTY_ENUM_INFO) ((PUCHAR) (PEPARM) + (PEPARM)->FirstPropertyOffset)) | 
|  | #define NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO_GET_NEXT(PEINFO) ((PNDIS_SWITCH_PORT_PROPERTY_ENUM_INFO) ((ULONG_PTR) (PEINFO) + (PEINFO)->QwordAlignedPropertyBufferLength + sizeof (NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO))) | 
|  | #define NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO_GET_PROPERTY(PEINFO) ((PVOID) ((PUCHAR) (PEINFO) + (PEINFO)->PropertyBufferOffset)) | 
|  | #define NDIS_SWITCH_CREATE_FEATURE_STATUS_VERSION(VMAJOR, VMINOR) (((VMAJOR) << 8) + (VMINOR)) | 
|  | #define NDIS_SWITCH_PROPERTY_CUSTOM_GET_BUFFER(SWPROPC) ((PVOID) ((PUCHAR) (SWPROPC) + (SWPROPC)->PropertyBufferOffset)) | 
|  | #define NDIS_SWITCH_PROPERTY_PARAMETERS_GET_PROPERTY(SWPARA) ((PVOID) ((PUCHAR) (SWPARA) + (SWPARA)->PropertyBufferOffset)) | 
|  | #define NDIS_SWITCH_PROPERTY_ENUM_INFO_GET_NEXT(SWEINFO) ((PNDIS_SWITCH_PROPERTY_ENUM_INFO) ((ULONG_PTR) (SWEINFO) + (SWEINFO)->QwordAlignedPropertyBufferLength + sizeof (NDIS_SWITCH_PROPERTY_ENUM_INFO))) | 
|  | #define NDIS_SWITCH_PROPERTY_ENUM_INFO_GET_PROPERTY(SWEINFO) ((PVOID) ((PUCHAR) (SWEINFO) + (SWEINFO)->PropertyBufferOffset)) | 
|  | #define NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS_GET_FIRST_INFO(SWEPARM) ((PNDIS_SWITCH_PROPERTY_ENUM_INFO) ((PUCHAR) (SWEPARM) + (SWEPARM)->FirstPropertyOffset)) | 
|  | #define NDIS_SWITCH_PORT_AT_ARRAY_INDEX(PA, IDX) ((PNDIS_SWITCH_PORT_PARAMETERS) ((PUCHAR) (PA) + (PA)->FirstElementOffset + ((PA)->ElementSize * (IDX)))) | 
|  | #define NDIS_SWITCH_NIC_AT_ARRAY_INDEX(NA, IDX) ((PNDIS_SWITCH_NIC_PARAMETERS) ((PUCHAR) (NA) + (NA)->FirstElementOffset + ((NA)->ElementSize * (IDX)))) | 
|  |  | 
|  | #include <ndkinfo.h> | 
|  | #include <ws2def.h> | 
|  | #ifndef __CYGWIN__ | 
|  | #include <ws2ipdef.h> | 
|  | #endif | 
|  |  | 
|  | typedef struct _NDIS_NDK_PERFORMANCE_COUNTERS { | 
|  | ULONG64 Connect; | 
|  | ULONG64 Accept; | 
|  | ULONG64 ConnectFailure; | 
|  | ULONG64 ConnectionError; | 
|  | ULONG64 ActiveConnection; | 
|  | ULONG64 Reserved01; | 
|  | ULONG64 Reserved02; | 
|  | ULONG64 Reserved03; | 
|  | ULONG64 Reserved04; | 
|  | ULONG64 Reserved05; | 
|  | ULONG64 Reserved06; | 
|  | ULONG64 Reserved07; | 
|  | ULONG64 Reserved08; | 
|  | ULONG64 Reserved09; | 
|  | ULONG64 Reserved10; | 
|  | ULONG64 Reserved11; | 
|  | ULONG64 Reserved12; | 
|  | ULONG64 Reserved13; | 
|  | ULONG64 Reserved14; | 
|  | ULONG64 Reserved15; | 
|  | ULONG64 Reserved16; | 
|  | ULONG64 Reserved17; | 
|  | ULONG64 Reserved18; | 
|  | ULONG64 Reserved19; | 
|  | ULONG64 Reserved20; | 
|  | ULONG64 CQError; | 
|  | ULONG64 RDMAInOctets; | 
|  | ULONG64 RDMAOutOctets; | 
|  | ULONG64 RDMAInFrames; | 
|  | ULONG64 RDMAOutFrames; | 
|  | } NDIS_NDK_PERFORMANCE_COUNTERS, *PNDIS_NDK_PERFORMANCE_COUNTERS; | 
|  |  | 
|  | typedef struct _NDIS_NDK_CAPABILITIES { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG MaxQpCount; | 
|  | ULONG MaxCqCount; | 
|  | ULONG MaxMrCount; | 
|  | ULONG MaxPdCount; | 
|  | ULONG MaxInboundReadLimit; | 
|  | ULONG MaxOutboundReadLimit; | 
|  | ULONG MaxMwCount; | 
|  | ULONG MaxSrqCount; | 
|  | ULONG64 MissingCounterMask; | 
|  | NDK_ADAPTER_INFO *NdkInfo; | 
|  | } NDIS_NDK_CAPABILITIES, *PNDIS_NDK_CAPABILITIES; | 
|  |  | 
|  | typedef struct _NDK_WMI_ADAPTER_INFO { | 
|  | NDK_VERSION Version; | 
|  | UINT32 VendorId; | 
|  | UINT32 DeviceId; | 
|  | ULONGLONG MaxRegistrationSize; | 
|  | ULONGLONG MaxWindowSize; | 
|  | ULONG FRMRPageCount; | 
|  | ULONG MaxInitiatorRequestSge; | 
|  | ULONG MaxReceiveRequestSge; | 
|  | ULONG MaxReadRequestSge; | 
|  | ULONG MaxTransferLength; | 
|  | ULONG MaxInlineDataSize; | 
|  | ULONG MaxInboundReadLimit; | 
|  | ULONG MaxOutboundReadLimit; | 
|  | ULONG MaxReceiveQueueDepth; | 
|  | ULONG MaxInitiatorQueueDepth; | 
|  | ULONG MaxSrqDepth; | 
|  | ULONG MaxCqDepth; | 
|  | ULONG LargeRequestThreshold; | 
|  | ULONG MaxCallerData; | 
|  | ULONG MaxCalleeData; | 
|  | ULONG AdapterFlags; | 
|  | } NDK_WMI_ADAPTER_INFO, *PNDK_WMI_ADAPTER_INFO; | 
|  |  | 
|  | typedef struct _NDIS_WMI_NDK_CAPABILITIES { | 
|  | ULONG MaxQpCount; | 
|  | ULONG MaxCqCount; | 
|  | ULONG MaxMrCount; | 
|  | ULONG MaxPdCount; | 
|  | ULONG MaxInboundReadLimit; | 
|  | ULONG MaxOutboundReadLimit; | 
|  | ULONG MaxMwCount; | 
|  | ULONG MaxSrqCount; | 
|  | ULONG64 MissingCounterMask; | 
|  | NDK_WMI_ADAPTER_INFO NdkInfo; | 
|  | } NDIS_WMI_NDK_CAPABILITIES, *PNDIS_WMI_NDK_CAPABILITIES; | 
|  |  | 
|  | typedef struct _NDIS_NDK_STATISTICS_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_NDK_PERFORMANCE_COUNTERS CounterSet; | 
|  | } NDIS_NDK_STATISTICS_INFO; | 
|  |  | 
|  | typedef struct _NDIS_NDK_CONNECTION_ENTRY { | 
|  | SOCKADDR_INET Local; | 
|  | SOCKADDR_INET Remote; | 
|  | BOOLEAN UserModeOwner; | 
|  | ULONG OwnerPid; | 
|  | } NDIS_NDK_CONNECTION_ENTRY; | 
|  |  | 
|  | typedef struct _NDIS_NDK_CONNECTIONS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG Count; | 
|  | BOOLEAN NDConnectionsMappedtoTCPConnections; | 
|  | NDIS_NDK_CONNECTION_ENTRY Connections[1]; | 
|  | } NDIS_NDK_CONNECTIONS; | 
|  |  | 
|  | typedef struct _NDIS_NDK_LOCAL_ENDPOINT_ENTRY { | 
|  | SOCKADDR_INET Local; | 
|  | BOOLEAN UserModeOwner; | 
|  | BOOLEAN Listener; | 
|  | ULONG OwnerPid; | 
|  | } NDIS_NDK_LOCAL_ENDPOINT_ENTRY; | 
|  |  | 
|  | typedef struct _NDIS_NDK_LOCAL_ENDPOINTS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG Count; | 
|  | BOOLEAN NDLocalEndpointsMappedtoTCPLocalEndpoints; | 
|  | NDIS_NDK_LOCAL_ENDPOINT_ENTRY LocalEndpoints[1]; | 
|  | } NDIS_NDK_LOCAL_ENDPOINTS; | 
|  |  | 
|  | typedef struct _NDIS_QOS_CAPABILITIES { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG MaxNumTrafficClasses; | 
|  | ULONG MaxNumEtsCapableTrafficClasses; | 
|  | ULONG MaxNumPfcEnabledTrafficClasses; | 
|  | } NDIS_QOS_CAPABILITIES, *PNDIS_QOS_CAPABILITIES; | 
|  |  | 
|  | typedef struct _NDIS_QOS_CLASSIFICATION_ELEMENT { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | USHORT ConditionSelector; | 
|  | USHORT ConditionField; | 
|  | USHORT ActionSelector; | 
|  | USHORT ActionField; | 
|  | } NDIS_QOS_CLASSIFICATION_ELEMENT, *PNDIS_QOS_CLASSIFICATION_ELEMENT; | 
|  |  | 
|  | typedef struct _NDIS_QOS_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG NumTrafficClasses; | 
|  | UCHAR PriorityAssignmentTable[NDIS_QOS_MAXIMUM_PRIORITIES]; | 
|  | UCHAR TcBandwidthAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]; | 
|  | UCHAR TsaAssignmentTable[NDIS_QOS_MAXIMUM_TRAFFIC_CLASSES]; | 
|  | ULONG PfcEnable; | 
|  | ULONG NumClassificationElements; | 
|  | ULONG ClassificationElementSize; | 
|  | ULONG FirstClassificationElementOffset; | 
|  | } NDIS_QOS_PARAMETERS, *PNDIS_QOS_PARAMETERS; | 
|  |  | 
|  | typedef NDIS_IF_COUNTED_STRING NDIS_NIC_SWITCH_FRIENDLYNAME, *PNDIS_NIC_SWITCH_FRIENDLYNAME; | 
|  | typedef NDIS_IF_COUNTED_STRING NDIS_VPORT_NAME, *PNDIS_VPORT_NAME; | 
|  | typedef ULONG NDIS_NIC_SWITCH_ID, *PNDIS_NIC_SWITCH_ID; | 
|  | typedef USHORT NDIS_SRIOV_FUNCTION_ID, *PNDIS_SRIOV_FUNCTION_ID; | 
|  | typedef ULONG NDIS_VF_RID, *PNDIS_VF_RID; | 
|  |  | 
|  | typedef enum _NDIS_NIC_SWITCH_TYPE { | 
|  | NdisNicSwitchTypeUnspecified, | 
|  | NdisNicSwitchTypeExternal, | 
|  | NdisNicSwitchTypeMax | 
|  | } NDIS_NIC_SWITCH_TYPE, *PNDIS_NIC_SWITCH_TYPE; | 
|  |  | 
|  | typedef struct _NDIS_NIC_SWITCH_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_NIC_SWITCH_TYPE SwitchType; | 
|  | NDIS_NIC_SWITCH_ID SwitchId; | 
|  | NDIS_NIC_SWITCH_FRIENDLYNAME SwitchFriendlyName; | 
|  | ULONG NumVFs; | 
|  | ULONG NdisReserved1; | 
|  | ULONG NdisReserved2; | 
|  | ULONG NdisReserved3; | 
|  | } NDIS_NIC_SWITCH_PARAMETERS, *PNDIS_NIC_SWITCH_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_NIC_SWITCH_ID SwitchId; | 
|  | } NDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS, *PNDIS_NIC_SWITCH_DELETE_SWITCH_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_NIC_SWITCH_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_NIC_SWITCH_TYPE SwitchType; | 
|  | NDIS_NIC_SWITCH_ID SwitchId; | 
|  | NDIS_NIC_SWITCH_FRIENDLYNAME SwitchFriendlyName; | 
|  | ULONG NumVFs; | 
|  | ULONG NumAllocatedVFs; | 
|  | ULONG NumVPorts; | 
|  | ULONG NumActiveVPorts; | 
|  | ULONG NumQueuePairsForDefaultVPort; | 
|  | ULONG NumQueuePairsForNonDefaultVPorts; | 
|  | ULONG NumActiveDefaultVPortMacAddresses; | 
|  | ULONG NumActiveNonDefaultVPortMacAddresses; | 
|  | ULONG NumActiveDefaultVPortVlanIds; | 
|  | ULONG NumActiveNonDefaultVPortVlanIds; | 
|  | } NDIS_NIC_SWITCH_INFO, *PNDIS_NIC_SWITCH_INFO; | 
|  |  | 
|  | typedef struct _NDIS_NIC_SWITCH_INFO_ARRAY { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG FirstElementOffset; | 
|  | ULONG NumElements; | 
|  | ULONG ElementSize; | 
|  | } NDIS_NIC_SWITCH_INFO_ARRAY, *PNDIS_NIC_SWITCH_INFO_ARRAY; | 
|  |  | 
|  | typedef enum _NDIS_NIC_SWITCH_VPORT_STATE { | 
|  | NdisNicSwitchVPortStateUndefined, | 
|  | NdisNicSwitchVPortStateActivated, | 
|  | NdisNicSwitchVPortStateDeactivated, | 
|  | NdisNicSwitchVPortStateMaximum | 
|  | } NDIS_NIC_SWITCH_VPORT_STATE, *PNDIS_NIC_SWITCH_VPORT_STATE; | 
|  |  | 
|  | typedef enum _NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION { | 
|  | NdisNicSwitchVPortInterruptModerationUndefined = 0, | 
|  | NdisNicSwitchVPortInterruptModerationAdaptive = 1, | 
|  | NdisNicSwitchVPortInterruptModerationOff = 2, | 
|  | NdisNicSwitchVPortInterruptModerationLow = 100, | 
|  | NdisNicSwitchVPortInterruptModerationMedium = 200, | 
|  | NdisNicSwitchVPortInterruptModerationHigh = 300, | 
|  | } NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION, *PNDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION; | 
|  |  | 
|  | typedef struct _NDIS_NIC_SWITCH_VPORT_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_NIC_SWITCH_ID SwitchId; | 
|  | NDIS_NIC_SWITCH_VPORT_ID VPortId; | 
|  | NDIS_VPORT_NAME VPortName; | 
|  | NDIS_SRIOV_FUNCTION_ID AttachedFunctionId; | 
|  | ULONG NumQueuePairs; | 
|  | NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION InterruptModeration; | 
|  | NDIS_NIC_SWITCH_VPORT_STATE VPortState; | 
|  | GROUP_AFFINITY ProcessorAffinity; | 
|  | ULONG LookaheadSize; | 
|  | } NDIS_NIC_SWITCH_VPORT_PARAMETERS, *PNDIS_NIC_SWITCH_VPORT_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_NIC_SWITCH_VPORT_ID VPortId; | 
|  | } NDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS, *PNDIS_NIC_SWITCH_DELETE_VPORT_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_NIC_SWITCH_VPORT_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_NIC_SWITCH_VPORT_ID VPortId; | 
|  | ULONG Flags; | 
|  | NDIS_NIC_SWITCH_ID SwitchId; | 
|  | NDIS_VPORT_NAME VPortName; | 
|  | NDIS_SRIOV_FUNCTION_ID AttachedFunctionId; | 
|  | ULONG NumQueuePairs; | 
|  | NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION InterruptModeration; | 
|  | NDIS_NIC_SWITCH_VPORT_STATE VPortState; | 
|  | GROUP_AFFINITY ProcessorAffinity; | 
|  | ULONG LookaheadSize; | 
|  | ULONG NumFilters; | 
|  | } NDIS_NIC_SWITCH_VPORT_INFO, *PNDIS_NIC_SWITCH_VPORT_INFO; | 
|  |  | 
|  | typedef struct _NDIS_NIC_SWITCH_VPORT_INFO_ARRAY { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_NIC_SWITCH_ID SwitchId; | 
|  | NDIS_SRIOV_FUNCTION_ID AttachedFunctionId; | 
|  | ULONG FirstElementOffset; | 
|  | ULONG NumElements; | 
|  | ULONG ElementSize; | 
|  | } NDIS_NIC_SWITCH_VPORT_INFO_ARRAY, *PNDIS_NIC_SWITCH_VPORT_INFO_ARRAY; | 
|  |  | 
|  | typedef struct _NDIS_NIC_SWITCH_VF_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_NIC_SWITCH_ID SwitchId; | 
|  | NDIS_VM_NAME VMName; | 
|  | NDIS_VM_FRIENDLYNAME VMFriendlyName; | 
|  | NDIS_SWITCH_NIC_NAME NicName; | 
|  | USHORT MacAddressLength; | 
|  | UCHAR PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]; | 
|  | UCHAR CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]; | 
|  | NDIS_SRIOV_FUNCTION_ID VFId; | 
|  | NDIS_VF_RID RequestorId; | 
|  | } NDIS_NIC_SWITCH_VF_PARAMETERS, *PNDIS_NIC_SWITCH_VF_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_NIC_SWITCH_FREE_VF_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_SRIOV_FUNCTION_ID VFId; | 
|  | } NDIS_NIC_SWITCH_FREE_VF_PARAMETERS, *PNDIS_NIC_SWITCH_FREE_VF_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_NIC_SWITCH_VF_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_NIC_SWITCH_ID SwitchId; | 
|  | NDIS_VM_NAME VMName; | 
|  | NDIS_VM_FRIENDLYNAME VMFriendlyName; | 
|  | NDIS_SWITCH_NIC_NAME NicName; | 
|  | USHORT MacAddressLength; | 
|  | UCHAR PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]; | 
|  | UCHAR CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]; | 
|  | NDIS_SRIOV_FUNCTION_ID VFId; | 
|  | NDIS_VF_RID RequestorId; | 
|  | } NDIS_NIC_SWITCH_VF_INFO, *PNDIS_NIC_SWITCH_VF_INFO; | 
|  |  | 
|  | typedef struct _NDIS_NIC_SWITCH_VF_INFO_ARRAY { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_NIC_SWITCH_ID SwitchId; | 
|  | ULONG FirstElementOffset; | 
|  | ULONG NumElements; | 
|  | ULONG ElementSize; | 
|  | } NDIS_NIC_SWITCH_VF_INFO_ARRAY, *PNDIS_NIC_SWITCH_VF_INFO_ARRAY; | 
|  |  | 
|  | typedef struct _NDIS_SRIOV_CAPABILITIES { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG SriovCapabilities; | 
|  | } NDIS_SRIOV_CAPABILITIES, *PNDIS_SRIOV_CAPABILITIES; | 
|  |  | 
|  | typedef struct _NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_SRIOV_FUNCTION_ID VFId; | 
|  | ULONG Offset; | 
|  | ULONG Length; | 
|  | ULONG BufferOffset; | 
|  | } NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS, *PNDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_SRIOV_FUNCTION_ID VFId; | 
|  | ULONG Offset; | 
|  | ULONG Length; | 
|  | ULONG BufferOffset; | 
|  | } NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS, *PNDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_SRIOV_FUNCTION_ID VFId; | 
|  | ULONG BlockId; | 
|  | ULONG Length; | 
|  | ULONG BufferOffset; | 
|  | } NDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS, *PNDIS_SRIOV_READ_VF_CONFIG_BLOCK_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_SRIOV_FUNCTION_ID VFId; | 
|  | ULONG BlockId; | 
|  | ULONG Length; | 
|  | ULONG BufferOffset; | 
|  | } NDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS, *PNDIS_SRIOV_WRITE_VF_CONFIG_BLOCK_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_SRIOV_RESET_VF_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_SRIOV_FUNCTION_ID VFId; | 
|  | } NDIS_SRIOV_RESET_VF_PARAMETERS, *PNDIS_SRIOV_RESET_VF_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_SRIOV_FUNCTION_ID VFId; | 
|  | NDIS_DEVICE_POWER_STATE PowerState; | 
|  | BOOLEAN WakeEnable; | 
|  | } NDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS, *PNDIS_SRIOV_SET_VF_POWER_STATE_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_SRIOV_CONFIG_STATE_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG BlockId; | 
|  | ULONG Length; | 
|  | } NDIS_SRIOV_CONFIG_STATE_PARAMETERS, *PNDIS_SRIOV_CONFIG_STATE_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_SRIOV_FUNCTION_ID VFId; | 
|  | USHORT VendorId; | 
|  | USHORT DeviceId; | 
|  | } NDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO, *PNDIS_SRIOV_VF_VENDOR_DEVICE_ID_INFO; | 
|  |  | 
|  | typedef struct _NDIS_SRIOV_PROBED_BARS_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG BaseRegisterValuesOffset; | 
|  | } NDIS_SRIOV_PROBED_BARS_INFO, *PNDIS_SRIOV_PROBED_BARS_INFO; | 
|  |  | 
|  | typedef struct _NDIS_RECEIVE_FILTER_MOVE_FILTER_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_RECEIVE_FILTER_ID FilterId; | 
|  | NDIS_RECEIVE_QUEUE_ID SourceQueueId; | 
|  | NDIS_NIC_SWITCH_VPORT_ID SourceVPortId; | 
|  | NDIS_RECEIVE_QUEUE_ID DestQueueId; | 
|  | NDIS_NIC_SWITCH_VPORT_ID DestVPortId; | 
|  | } NDIS_RECEIVE_FILTER_MOVE_FILTER_PARAMETERS, *PNDIS_RECEIVE_FILTER_MOVE_FILTER_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_SRIOV_BAR_RESOURCES_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_SRIOV_FUNCTION_ID VFId; | 
|  | USHORT BarIndex; | 
|  | ULONG BarResourcesOffset; | 
|  | } NDIS_SRIOV_BAR_RESOURCES_INFO, *PNDIS_SRIOV_BAR_RESOURCES_INFO; | 
|  |  | 
|  | typedef struct _NDIS_SRIOV_PF_LUID_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | LUID Luid; | 
|  | } NDIS_SRIOV_PF_LUID_INFO, *PNDIS_SRIOV_PF_LUID_INFO; | 
|  |  | 
|  | typedef struct _NDIS_SRIOV_VF_SERIAL_NUMBER_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG SerialNumber; | 
|  | } NDIS_SRIOV_VF_SERIAL_NUMBER_INFO, *PNDIS_SRIOV_VF_SERIAL_NUMBER_INFO; | 
|  |  | 
|  | typedef struct _NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG64 BlockMask; | 
|  | } NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO, *PNDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO; | 
|  |  | 
|  | typedef GUID NDIS_SWITCH_OBJECT_INSTANCE_ID, *PNDIS_SWITCH_OBJECT_INSTANCE_ID; | 
|  | typedef GUID NDIS_SWITCH_OBJECT_ID, *PNDIS_SWITCH_OBJECT_ID; | 
|  | typedef USHORT NDIS_SWITCH_OBJECT_VERSION, *PNDIS_SWITCH_OBJECT_VERSION; | 
|  | typedef USHORT NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION, *PNDIS_SWITCH_OBJECT_SERIALIZATION_VERSION; | 
|  | #ifndef _NDIS_SWITCH_PORT_ID | 
|  | #define _NDIS_SWITCH_PORT_ID NDIS_SWITCH_PORT_ID | 
|  | typedef UINT32 NDIS_SWITCH_PORT_ID, *PNDIS_SWITCH_PORT_ID; | 
|  | typedef USHORT NDIS_SWITCH_NIC_INDEX, *PNDIS_SWITCH_NIC_INDEX; | 
|  | #endif | 
|  |  | 
|  | typedef enum _NDIS_SWITCH_PORT_PROPERTY_TYPE { | 
|  | NdisSwitchPortPropertyTypeUndefined, | 
|  | NdisSwitchPortPropertyTypeCustom, | 
|  | NdisSwitchPortPropertyTypeSecurity, | 
|  | NdisSwitchPortPropertyTypeVlan, | 
|  | NdisSwitchPortPropertyTypeProfile, | 
|  | NdisSwitchPortPropertyTypeMaximum | 
|  | } NDIS_SWITCH_PORT_PROPERTY_TYPE, *PNDIS_SWITCH_PORT_PROPERTY_TYPE; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_PORT_PROPERTY_SECURITY { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | BOOLEAN AllowMacSpoofing; | 
|  | BOOLEAN AllowIeeePriorityTag; | 
|  | UINT32 VirtualSubnetId; | 
|  | BOOLEAN AllowTeaming; | 
|  | } NDIS_SWITCH_PORT_PROPERTY_SECURITY, *PNDIS_SWITCH_PORT_PROPERTY_SECURITY; | 
|  |  | 
|  | typedef enum _NDIS_SWITCH_PORT_VLAN_MODE { | 
|  | NdisSwitchPortVlanModeUnknown = 0, | 
|  | NdisSwitchPortVlanModeAccess = 1, | 
|  | NdisSwitchPortVlanModeTrunk = 2, | 
|  | NdisSwitchPortVlanModePrivate = 3, | 
|  | NdisSwitchPortVlanModeMax = 4 | 
|  | } NDIS_SWITCH_PORT_VLAN_MODE, *PNDIS_SWITCH_PORT_VLAN_MODE; | 
|  |  | 
|  | typedef enum _NDIS_SWITCH_PORT_PVLAN_MODE { | 
|  | NdisSwitchPortPvlanModeUndefined = 0, | 
|  | NdisSwitchPortPvlanModeIsolated, | 
|  | NdisSwitchPortPvlanModeCommunity, | 
|  | NdisSwitchPortPvlanModePromiscuous | 
|  | } NDIS_SWITCH_PORT_PVLAN_MODE, *PNDIS_SWITCH_PORT_PVLAN_MODE; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_PORT_PROPERTY_VLAN { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_SWITCH_PORT_VLAN_MODE OperationMode; | 
|  | __C89_NAMELESS union { | 
|  | struct { | 
|  | UINT16 AccessVlanId; | 
|  | UINT16 NativeVlanId; | 
|  | UINT64 PruneVlanIdArray[64]; | 
|  | UINT64 TrunkVlanIdArray[64]; | 
|  | } VlanProperties; | 
|  | struct { | 
|  | NDIS_SWITCH_PORT_PVLAN_MODE PvlanMode; | 
|  | UINT16 PrimaryVlanId; | 
|  | __C89_NAMELESS union { | 
|  | UINT16 SecondaryVlanId; | 
|  | UINT64 SecondaryVlanIdArray[64]; | 
|  | }; | 
|  | } PvlanProperties; | 
|  | }; | 
|  | } NDIS_SWITCH_PORT_PROPERTY_VLAN, *PNDIS_SWITCH_PORT_PROPERTY_VLAN; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_PORT_PROPERTY_PROFILE { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_SWITCH_PORT_PROPERTY_PROFILE_NAME ProfileName; | 
|  | GUID ProfileId; | 
|  | NDIS_VENDOR_NAME VendorName; | 
|  | GUID VendorId; | 
|  | UINT32 ProfileData; | 
|  | GUID NetCfgInstanceId; | 
|  | struct { | 
|  | UINT32 PciSegmentNumber:16; | 
|  | UINT32 PciBusNumber:8; | 
|  | UINT32 PciDeviceNumber:5; | 
|  | UINT32 PciFunctionNumber:3; | 
|  | } PciLocation; | 
|  | UINT32 CdnLabelId; | 
|  | NDIS_SWITCH_PORT_PROPERTY_PROFILE_CDN_LABEL CdnLabel; | 
|  | } NDIS_SWITCH_PORT_PROPERTY_PROFILE, *PNDIS_SWITCH_PORT_PROPERTY_PROFILE; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_PORT_PROPERTY_CUSTOM { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG PropertyBufferLength; | 
|  | ULONG PropertyBufferOffset; | 
|  | } NDIS_SWITCH_PORT_PROPERTY_CUSTOM, *PNDIS_SWITCH_PORT_PROPERTY_CUSTOM; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_PORT_PROPERTY_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_SWITCH_PORT_ID PortId; | 
|  | NDIS_SWITCH_PORT_PROPERTY_TYPE PropertyType; | 
|  | NDIS_SWITCH_OBJECT_ID PropertyId; | 
|  | NDIS_SWITCH_OBJECT_VERSION PropertyVersion; | 
|  | NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION SerializationVersion; | 
|  | NDIS_SWITCH_OBJECT_INSTANCE_ID PropertyInstanceId; | 
|  | ULONG PropertyBufferLength; | 
|  | ULONG PropertyBufferOffset; | 
|  | ULONG Reserved; | 
|  | } NDIS_SWITCH_PORT_PROPERTY_PARAMETERS, *PNDIS_SWITCH_PORT_PROPERTY_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_SWITCH_PORT_ID PortId; | 
|  | NDIS_SWITCH_PORT_PROPERTY_TYPE PropertyType; | 
|  | NDIS_SWITCH_OBJECT_ID PropertyId; | 
|  | NDIS_SWITCH_OBJECT_INSTANCE_ID PropertyInstanceId; | 
|  | } NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS, *PNDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_SWITCH_PORT_ID PortId; | 
|  | NDIS_SWITCH_PORT_PROPERTY_TYPE PropertyType; | 
|  | NDIS_SWITCH_OBJECT_ID PropertyId; | 
|  | NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION SerializationVersion; | 
|  | ULONG FirstPropertyOffset; | 
|  | ULONG NumProperties; | 
|  | USHORT Reserved; | 
|  | } NDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS, *PNDIS_SWITCH_PORT_PROPERTY_ENUM_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_SWITCH_OBJECT_VERSION PropertyVersion; | 
|  | NDIS_SWITCH_OBJECT_INSTANCE_ID PropertyInstanceId; | 
|  | ULONG QwordAlignedPropertyBufferLength; | 
|  | ULONG PropertyBufferLength; | 
|  | ULONG PropertyBufferOffset; | 
|  | } NDIS_SWITCH_PORT_PROPERTY_ENUM_INFO, *PNDIS_SWITCH_PORT_PROPERTY_ENUM_INFO; | 
|  |  | 
|  | typedef enum _NDIS_SWITCH_PORT_FEATURE_STATUS_TYPE { | 
|  | NdisSwitchPortFeatureStatusTypeUndefined, | 
|  | NdisSwitchPortFeatureStatusTypeCustom, | 
|  | NdisSwitchPortFeatureStatusTypeMaximum | 
|  | } NDIS_SWITCH_PORT_FEATURE_STATUS_TYPE, *PNDIS_SWITCH_PORT_FEATURE_STATUS_TYPE; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_SWITCH_PORT_ID PortId; | 
|  | NDIS_SWITCH_PORT_FEATURE_STATUS_TYPE FeatureStatusType; | 
|  | NDIS_SWITCH_OBJECT_ID FeatureStatusId; | 
|  | NDIS_SWITCH_OBJECT_VERSION FeatureStatusVersion; | 
|  | NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION SerializationVersion; | 
|  | NDIS_SWITCH_OBJECT_INSTANCE_ID FeatureStatusInstanceId; | 
|  | ULONG FeatureStatusBufferLength; | 
|  | ULONG FeatureStatusBufferOffset; | 
|  | ULONG Reserved; | 
|  | } NDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS, *PNDIS_SWITCH_PORT_FEATURE_STATUS_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG FeatureStatusBufferLength; | 
|  | ULONG FeatureStatusBufferOffset; | 
|  | } NDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM, *PNDIS_SWITCH_PORT_FEATURE_STATUS_CUSTOM; | 
|  |  | 
|  | typedef enum _NDIS_SWITCH_PROPERTY_TYPE { | 
|  | NdisSwitchPropertyTypeUndefined, | 
|  | NdisSwitchPropertyTypeCustom, | 
|  | NdisSwitchPropertyTypeMaximum | 
|  | } NDIS_SWITCH_PROPERTY_TYPE, *PNDIS_SWITCH_PROPERTY_TYPE; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_PROPERTY_CUSTOM { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG PropertyBufferLength; | 
|  | ULONG PropertyBufferOffset; | 
|  | } NDIS_SWITCH_PROPERTY_CUSTOM, *PNDIS_SWITCH_PROPERTY_CUSTOM; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_PROPERTY_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_SWITCH_PROPERTY_TYPE PropertyType; | 
|  | NDIS_SWITCH_OBJECT_ID PropertyId; | 
|  | NDIS_SWITCH_OBJECT_VERSION PropertyVersion; | 
|  | NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION SerializationVersion; | 
|  | NDIS_SWITCH_OBJECT_INSTANCE_ID PropertyInstanceId; | 
|  | ULONG PropertyBufferLength; | 
|  | ULONG PropertyBufferOffset; | 
|  | } NDIS_SWITCH_PROPERTY_PARAMETERS, *PNDIS_SWITCH_PROPERTY_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_SWITCH_PROPERTY_TYPE PropertyType; | 
|  | NDIS_SWITCH_OBJECT_ID PropertyId; | 
|  | NDIS_SWITCH_OBJECT_INSTANCE_ID PropertyInstanceId; | 
|  | } NDIS_SWITCH_PROPERTY_DELETE_PARAMETERS, *PNDIS_SWITCH_PROPERTY_DELETE_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_PROPERTY_ENUM_INFO { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_SWITCH_OBJECT_INSTANCE_ID PropertyInstanceId; | 
|  | NDIS_SWITCH_OBJECT_VERSION PropertyVersion; | 
|  | ULONG QwordAlignedPropertyBufferLength; | 
|  | ULONG PropertyBufferLength; | 
|  | ULONG PropertyBufferOffset; | 
|  | } NDIS_SWITCH_PROPERTY_ENUM_INFO, *PNDIS_SWITCH_PROPERTY_ENUM_INFO; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_SWITCH_PROPERTY_TYPE PropertyType; | 
|  | NDIS_SWITCH_OBJECT_ID PropertyId; | 
|  | NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION SerializationVersion; | 
|  | ULONG FirstPropertyOffset; | 
|  | ULONG NumProperties; | 
|  | } NDIS_SWITCH_PROPERTY_ENUM_PARAMETERS, *PNDIS_SWITCH_PROPERTY_ENUM_PARAMETERS; | 
|  |  | 
|  | typedef enum _NDIS_SWITCH_FEATURE_STATUS_TYPE { | 
|  | NdisSwitchFeatureStatusTypeUndefined, | 
|  | NdisSwitchFeatureStatusTypeCustom, | 
|  | NdisSwitchFeatureStatusTypeMaximum | 
|  | } NDIS_SWITCH_FEATURE_STATUS_TYPE, *PNDIS_SWITCH_FEATURE_STATUS_TYPE; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_FEATURE_STATUS_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_SWITCH_FEATURE_STATUS_TYPE FeatureStatusType; | 
|  | NDIS_SWITCH_OBJECT_ID FeatureStatusId; | 
|  | NDIS_SWITCH_OBJECT_INSTANCE_ID FeatureStatusInstanceId; | 
|  | NDIS_SWITCH_OBJECT_VERSION FeatureStatusVersion; | 
|  | NDIS_SWITCH_OBJECT_SERIALIZATION_VERSION SerializationVersion; | 
|  | ULONG FeatureStatusBufferOffset; | 
|  | ULONG FeatureStatusBufferLength; | 
|  | } NDIS_SWITCH_FEATURE_STATUS_PARAMETERS, *PNDIS_SWITCH_FEATURE_STATUS_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_FEATURE_STATUS_CUSTOM { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | ULONG FeatureStatusCustomBufferLength; | 
|  | ULONG FeatureStatusCustomBufferOffset; | 
|  | } NDIS_SWITCH_FEATURE_STATUS_CUSTOM, *PNDIS_SWITCH_FEATURE_STATUS_CUSTOM; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_SWITCH_NAME SwitchName; | 
|  | NDIS_SWITCH_FRIENDLYNAME SwitchFriendlyName; | 
|  | UINT32 NumSwitchPorts; | 
|  | BOOLEAN IsActive; | 
|  | } NDIS_SWITCH_PARAMETERS, *PNDIS_SWITCH_PARAMETERS; | 
|  |  | 
|  | typedef enum _NDIS_SWITCH_PORT_TYPE { | 
|  | NdisSwitchPortTypeGeneric = 0, | 
|  | NdisSwitchPortTypeExternal = 1, | 
|  | NdisSwitchPortTypeSynthetic = 2, | 
|  | NdisSwitchPortTypeEmulated = 3, | 
|  | NdisSwitchPortTypeInternal = 4 | 
|  | } NDIS_SWITCH_PORT_TYPE; | 
|  |  | 
|  | typedef enum _NDIS_SWITCH_PORT_STATE { | 
|  | NdisSwitchPortStateUnknown = 0, | 
|  | NdisSwitchPortStateCreated = 1, | 
|  | NdisSwitchPortStateTeardown = 2, | 
|  | NdisSwitchPortStateDeleted = 3 | 
|  | } NDIS_SWITCH_PORT_STATE; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_PORT_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_SWITCH_PORT_ID PortId; | 
|  | NDIS_SWITCH_PORT_NAME PortName; | 
|  | NDIS_SWITCH_PORT_FRIENDLYNAME PortFriendlyName; | 
|  | NDIS_SWITCH_PORT_TYPE PortType; | 
|  | BOOLEAN IsValidationPort; | 
|  | NDIS_SWITCH_PORT_STATE PortState; | 
|  | } NDIS_SWITCH_PORT_PARAMETERS, *PNDIS_SWITCH_PORT_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_PORT_ARRAY { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | USHORT FirstElementOffset; | 
|  | ULONG NumElements; | 
|  | ULONG ElementSize; | 
|  | } NDIS_SWITCH_PORT_ARRAY, *PNDIS_SWITCH_PORT_ARRAY; | 
|  |  | 
|  | typedef enum _NDIS_SWITCH_NIC_TYPE { | 
|  | NdisSwitchNicTypeExternal = 0, | 
|  | NdisSwitchNicTypeSynthetic = 1, | 
|  | NdisSwitchNicTypeEmulated = 2, | 
|  | NdisSwitchNicTypeInternal = 3 | 
|  | } NDIS_SWITCH_NIC_TYPE; | 
|  |  | 
|  | typedef enum _NDIS_SWITCH_NIC_STATE { | 
|  | NdisSwitchNicStateUnknown = 0, | 
|  | NdisSwitchNicStateCreated = 1, | 
|  | NdisSwitchNicStateConnected = 2, | 
|  | NdisSwitchNicStateDisconnected = 3, | 
|  | NdisSwitchNicStateDeleted = 4 | 
|  | } NDIS_SWITCH_NIC_STATE; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_NIC_PARAMETERS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_SWITCH_NIC_NAME NicName; | 
|  | NDIS_SWITCH_NIC_FRIENDLYNAME NicFriendlyName; | 
|  | NDIS_SWITCH_PORT_ID PortId; | 
|  | NDIS_SWITCH_NIC_INDEX NicIndex; | 
|  | NDIS_SWITCH_NIC_TYPE NicType; | 
|  | NDIS_SWITCH_NIC_STATE NicState; | 
|  | NDIS_VM_NAME VmName; | 
|  | NDIS_VM_FRIENDLYNAME VmFriendlyName; | 
|  | GUID NetCfgInstanceId; | 
|  | ULONG MTU; | 
|  | USHORT NumaNodeId; | 
|  | UCHAR PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]; | 
|  | UCHAR VMMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]; | 
|  | UCHAR CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]; | 
|  | BOOLEAN VFAssigned; | 
|  | } NDIS_SWITCH_NIC_PARAMETERS, *PNDIS_SWITCH_NIC_PARAMETERS; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_NIC_ARRAY { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | USHORT FirstElementOffset; | 
|  | ULONG NumElements; | 
|  | ULONG ElementSize; | 
|  | } NDIS_SWITCH_NIC_ARRAY, *PNDIS_SWITCH_NIC_ARRAY; | 
|  |  | 
|  | typedef struct _NDIS_OID_REQUEST NDIS_OID_REQUEST, *PNDIS_OID_REQUEST; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_NIC_OID_REQUEST { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_SWITCH_PORT_ID SourcePortId; | 
|  | NDIS_SWITCH_NIC_INDEX SourceNicIndex; | 
|  | NDIS_SWITCH_PORT_ID DestinationPortId; | 
|  | NDIS_SWITCH_NIC_INDEX DestinationNicIndex; | 
|  | PNDIS_OID_REQUEST OidRequest; | 
|  | } NDIS_SWITCH_NIC_OID_REQUEST, *PNDIS_SWITCH_NIC_OID_REQUEST; | 
|  |  | 
|  | typedef struct _NDIS_SWITCH_NIC_SAVE_STATE { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG Flags; | 
|  | NDIS_SWITCH_PORT_ID PortId; | 
|  | NDIS_SWITCH_NIC_INDEX NicIndex; | 
|  | GUID ExtensionId; | 
|  | NDIS_SWITCH_EXTENSION_FRIENDLYNAME ExtensionFriendlyName; | 
|  | GUID FeatureClassId; | 
|  | USHORT SaveDataSize; | 
|  | USHORT SaveDataOffset; | 
|  | } NDIS_SWITCH_NIC_SAVE_STATE, *PNDIS_SWITCH_NIC_SAVE_STATE; | 
|  | #endif | 
|  |  | 
|  | typedef struct _NDIS_PORT_STATE { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_MEDIA_CONNECT_STATE MediaConnectState; | 
|  | ULONG64 XmitLinkSpeed; | 
|  | ULONG64 RcvLinkSpeed; | 
|  | NET_IF_DIRECTION_TYPE Direction; | 
|  | NDIS_PORT_CONTROL_STATE SendControlState; | 
|  | NDIS_PORT_CONTROL_STATE RcvControlState; | 
|  | NDIS_PORT_AUTHORIZATION_STATE SendAuthorizationState; | 
|  | NDIS_PORT_AUTHORIZATION_STATE RcvAuthorizationState; | 
|  | ULONG Flags; | 
|  | } NDIS_PORT_STATE, *PNDIS_PORT_STATE; | 
|  |  | 
|  | typedef struct _NDIS_PORT_CHARACTERISTICS { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | NDIS_PORT_NUMBER PortNumber; | 
|  | ULONG Flags; | 
|  | NDIS_PORT_TYPE Type; | 
|  | NDIS_MEDIA_CONNECT_STATE MediaConnectState; | 
|  | ULONG64 XmitLinkSpeed; | 
|  | ULONG64 RcvLinkSpeed; | 
|  | NET_IF_DIRECTION_TYPE Direction; | 
|  | NDIS_PORT_CONTROL_STATE SendControlState; | 
|  | NDIS_PORT_CONTROL_STATE RcvControlState; | 
|  | NDIS_PORT_AUTHORIZATION_STATE SendAuthorizationState; | 
|  | NDIS_PORT_AUTHORIZATION_STATE RcvAuthorizationState; | 
|  | } NDIS_PORT_CHARACTERISTICS, *PNDIS_PORT_CHARACTERISTICS; | 
|  |  | 
|  | typedef struct _NDIS_PORT NDIS_PORT, *PNDIS_PORT; | 
|  |  | 
|  | struct _NDIS_PORT { | 
|  | PNDIS_PORT Next; | 
|  | PVOID NdisReserved; | 
|  | PVOID MiniportReserved; | 
|  | PVOID ProtocolReserved; | 
|  | NDIS_PORT_CHARACTERISTICS PortCharacteristics; | 
|  | }; | 
|  |  | 
|  | typedef struct _NDIS_PORT_ARRAY { | 
|  | NDIS_OBJECT_HEADER Header; | 
|  | ULONG NumberOfPorts; | 
|  | ULONG OffsetFirstPort; | 
|  | ULONG ElementSize; | 
|  | NDIS_PORT_CHARACTERISTICS Ports[1]; | 
|  | } NDIS_PORT_ARRAY, *PNDIS_PORT_ARRAY; | 
|  | #endif | 
|  | #endif | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif | 
|  | #endif |