📄 ntddndis.h
字号:
NdisFddiRingOperational,
NdisFddiRingDetect,
NdisFddiRingNonOperationalDup,
NdisFddiRingOperationalDup,
NdisFddiRingDirected,
NdisFddiRingTrace
} NDIS_FDDI_RING_MGT_STATE, *PNDIS_FDDI_RING_MGT_STATE;
//
// Defines the Lconnection state for FDDI (OID_FDDI_LCONNECTION_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;
//
// Defines the medium subtypes for WAN medium (OID_WAN_MEDIUM_SUBTYPE).
// Sub-medium used only by connection-oriented WAN devices
// i.e. NdisMediumWan, NdisMediumCoWan.
//
typedef enum _NDIS_WAN_MEDIUM_SUBTYPE
{
NdisWanMediumHub,
NdisWanMediumX_25,
NdisWanMediumIsdn,
NdisWanMediumSerial,
NdisWanMediumFrameRelay,
NdisWanMediumAtm,
NdisWanMediumSonet,
NdisWanMediumSW56K,
NdisWanMediumPPTP,
NdisWanMediumL2TP,
NdisWanMediumIrda,
NdisWanMediumParallel
} NDIS_WAN_MEDIUM_SUBTYPE, *PNDIS_WAN_MEDIUM_SUBTYPE;
//
// Defines the header format for WAN medium (OID_WAN_HEADER_FORMAT).
//
typedef enum _NDIS_WAN_HEADER_FORMAT
{
NdisWanHeaderNative, // src/dest based on subtype, followed by NLPID
NdisWanHeaderEthernet // emulation of ethernet header
} NDIS_WAN_HEADER_FORMAT, *PNDIS_WAN_HEADER_FORMAT;
//
// Defines the line quality on a WAN line (OID_WAN_QUALITY_OF_SERVICE).
//
typedef enum _NDIS_WAN_QUALITY
{
NdisWanRaw,
NdisWanErrorControl,
NdisWanReliable
} NDIS_WAN_QUALITY, *PNDIS_WAN_QUALITY;
//
// Defines a protocol's WAN specific capabilities (OID_WAN_PROTOCOL_CAPS).
//
typedef struct _NDIS_WAN_PROTOCOL_CAPS
{
IN ULONG Flags;
IN ULONG Reserved;
} NDIS_WAN_PROTOCOL_CAPS, *PNDIS_WAN_PROTOCOL_CAPS;
//
// Flags used in NDIS_WAN_PROTOCOL_CAPS
//
#define WAN_PROTOCOL_KEEPS_STATS 0x00000001
//
// Defines the state of a token-ring adapter (OID_802_5_CURRENT_RING_STATE).
//
typedef enum _NDIS_802_5_RING_STATE
{
NdisRingStateOpened = 1,
NdisRingStateClosed,
NdisRingStateOpening,
NdisRingStateClosing,
NdisRingStateOpenFailure,
NdisRingStateRingFailure
} NDIS_802_5_RING_STATE, *PNDIS_802_5_RING_STATE;
//
// Defines the state of the LAN media
//
typedef enum _NDIS_MEDIA_STATE
{
NdisMediaStateConnected,
NdisMediaStateDisconnected
} NDIS_MEDIA_STATE, *PNDIS_MEDIA_STATE;
//
// The following is set on a per-packet basis as OOB data with NdisClass802_3Priority
//
typedef ULONG Priority_802_3; // 0-7 priority levels
//
// The following structure is used to query OID_GEN_CO_LINK_SPEED and
// OID_GEN_CO_MINIMUM_LINK_SPEED. The first OID will return the current
// link speed of the adapter. The second will return the minimum link speed
// the adapter is capable of.
//
typedef struct _NDIS_CO_LINK_SPEED
{
ULONG Outbound;
ULONG Inbound;
} NDIS_CO_LINK_SPEED, *PNDIS_CO_LINK_SPEED;
#ifndef _NDIS_
typedef int NDIS_STATUS, *PNDIS_STATUS;
#endif
//
// Structure to be used for OID_GEN_SUPPORTED_GUIDS.
// This structure describes an OID to GUID mapping.
// Or a Status to GUID mapping.
// When ndis receives a request for a give GUID it will
// query the miniport with the supplied OID.
//
typedef struct _NDIS_GUID
{
GUID Guid;
union
{
NDIS_OID Oid;
NDIS_STATUS Status;
};
ULONG Size; // Size of the data element. If the GUID
// represents an array then this is the
// size of an element in the array.
// This is -1 for strings.
ULONG Flags;
} NDIS_GUID, *PNDIS_GUID;
#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
//
// Ndis Packet Filter Bits (OID_GEN_CURRENT_PACKET_FILTER).
//
#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
//
// Ndis Token-Ring Ring Status Codes (OID_802_5_CURRENT_RING_STATUS).
//
#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
//
// Ndis protocol option bits (OID_GEN_PROTOCOL_OPTIONS).
//
#define NDIS_PROT_OPTION_ESTIMATED_LENGTH 0x00000001
#define NDIS_PROT_OPTION_NO_LOOPBACK 0x00000002
#define NDIS_PROT_OPTION_NO_RSVD_ON_RCVPKT 0x00000004
//
// Ndis MAC option bits (OID_GEN_MAC_OPTIONS).
//
#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_RESERVED 0x80000000
//
// NDIS media capabilities bits (OID_GEN_MEDIA_CAPABILITIES).
//
#define NDIS_MEDIA_CAP_TRANSMIT 0x00000001 // Supports sending data
#define NDIS_MEDIA_CAP_RECEIVE 0x00000002 // Supports receiving data
//
// NDIS MAC option bits for OID_GEN_CO_MAC_OPTIONS.
//
#define NDIS_CO_MAC_OPTION_DYNAMIC_LINK_SPEED 0x00000001
#ifdef IRDA
//
// The following is set on a per-packet basis as OOB data with NdisClassIrdaPacketInfo
// This is the per-packet info specified on a per-packet basis
//
typedef struct _NDIS_IRDA_PACKET_INFO
{
ULONG ExtraBOFs;
ULONG MinTurnAroundTime;
} NDIS_IRDA_PACKET_INFO, *PNDIS_IRDA_PACKET_INFO;
#endif
#ifdef WIRELESS_WAN
//
// Wireless WAN structure definitions
//
//
// currently defined Wireless network subtypes
//
typedef enum _NDIS_WW_NETWORK_TYPE
{
NdisWWGeneric,
NdisWWMobitex,
NdisWWPinpoint,
NdisWWCDPD,
NdisWWArdis,
NdisWWDataTAC,
NdisWWMetricom,
NdisWWGSM,
NdisWWCDMA,
NdisWWTDMA,
NdisWWAMPS,
NdisWWInmarsat,
NdisWWpACT,
NdisWWFlex,
NdisWWIDEN
} NDIS_WW_NETWORK_TYPE;
//
// currently defined header formats
//
typedef enum _NDIS_WW_HEADER_FORMAT
{
NdisWWDIXEthernetFrames,
NdisWWMPAKFrames,
NdisWWRDLAPFrames,
NdisWWMDC4800Frames,
NdisWWNCLFrames
} NDIS_WW_HEADER_FORMAT;
//
// currently defined encryption types
//
typedef enum _NDIS_WW_ENCRYPTION_TYPE
{
NdisWWUnknownEncryption = -1,
NdisWWNoEncryption,
NdisWWDefaultEncryption,
NdisWWDESEncryption,
NdisWWRC2Encryption,
NdisWWRC4Encryption,
NdisWWRC5Encryption
} NDIS_WW_ENCRYPTION_TYPE, *PNDIS_WW_ENCRYPTION_TYPE;
typedef enum _WW_ADDRESS_FORMAT
{
WW_IEEE_ADDRESS = 0,
WW_MOBITEX_MAN_ADDRESS,
WW_DATATAC_RDLAP_ADDRESS,
WW_DATATAC_MDC4800_ADDRESS,
WW_DATATAC_RESERVED,
WW_IPv4_ADDRESS,
WW_IPv6_ADDRESS,
WW_PROPRIETARY_ADDRESS,
} WW_ADDRESS_FORMAT;
typedef enum _WW_GEN_SUM_EXCEPTION
{
SIM_STATUS_OK = 0,
SIM_STATUS_ERROR,
SIM_STATUS_MISSING,
SIM_STATUS_NO_RESPONSE,
SIM_STATUS_REMOVED,
SIM_STATUS_CRYPT_ERROR,
SIM_STATUS_AUTH_ERROR,
SIM_STATUS_NEED_PIN,
SIM_STATUS_NEED_PUK,
SIM_STATUS_WRONG,
} WW_GEN_SIM_EXCEPTION;
//
// OID_WW_GEN_INDICATION_REQUEST
//
typedef struct _NDIS_WW_INDICATION_REQUEST
{
NDIS_OID Oid; // IN
ULONG uIndicationFlag; // IN
ULONG uApplicationToken; // IN OUT
HANDLE hIndicationHandle; // IN OUT
INT iPollingInterval; // IN OUT
NDIS_VAR_DATA_DESC InitialValue; // IN OUT
NDIS_VAR_DATA_DESC OIDIndicationValue; // OUT - only valid after indication
NDIS_VAR_DATA_DESC TriggerValue; // IN
} NDIS_WW_INDICATION_REQUEST, *PNDIS_WW_INDICATION_REQUEST;
#define OID_INDICATION_REQUEST_ENABLE 0x0000
#define OID_INDICATION_REQUEST_CANCEL 0x0001
//
// OID_WW_GEN_DEVICE_INFO
//
typedef struct _WW_DEVICE_INFO
{
NDIS_VAR_DATA_DESC Manufacturer;
NDIS_VAR_DATA_DESC ModelNum;
NDIS_VAR_DATA_DESC SWVersionNum;
NDIS_VAR_DATA_DESC SerialNum;
} WW_DEVICE_INFO, *PWW_DEVICE_INFO;
//
// OID_WW_GEN_OPERATION_MODE
//
typedef INT WW_OPERATION_MODE; // 0 = Normal mode
// 1 = Power saving mode
// -1 = mode unknown
//
// OID_WW_GEN_LOCK_STATUS
//
typedef INT WW_LOCK_STATUS; // 0 = unlocked
// 1 = locked
// -1 = unknown lock status
//
// OID_WW_GEN_DISABLE_TRANSMITTER
//
typedef INT WW_DISABLE_TRANSMITTER; // 0 = transmitter enabled
// 1 = transmitter disabled
// -1 = unknown value
//
// OID_WW_GEN_NETWORK_ID
//
typedef NDIS_VAR_DATA_DESC WW_NETWORK_ID;
//
// OID_WW_GEN_PERMANENT_ADDRESS
//
typedef NDIS_VAR_DATA_DESC WW_PERMANENT_ADDRESS;
//
// OID_WW_GEN_CURRENT_ADDRESS
//
typedef struct _WW_CURRENT_ADDRESS
{
NDIS_WW_HEADER_FORMAT Format;
NDIS_VAR_DATA_DESC Address;
} WW_CURRENT_ADDRESS, *PWW_CURRENT_ADDRESS;
//
// OID_WW_GEN_SUSPEND_DRIVER
//
typedef BOOLEAN WW_SUSPEND_DRIVER; // 0 = driver operational
// 1 = driver suspended
//
// OID_WW_GEN_BASESTATION_ID
//
typedef NDIS_VAR_DATA_DESC WW_BASESTATION_ID;
//
// OID_WW_GEN_CHANNEL_ID
//
typedef NDIS_VAR_DATA_DESC WW_CHANNEL_ID;
//
// OID_WW_GEN_ENCRYPTION_STATE
//
typedef BOOLEAN WW_ENCRYPTION_STATE; // 0 = if encryption is disabled
// 1 = if encryption is enabled
//
// OID_WW_GEN_CHANNEL_QUALITY
//
typedef INT WW_CHANNEL_QUALITY; // 0 = Not in network contact,
// 1-100 = Quality of Channel (100 is highest quality).
// -1 = channel quality is unknown
//
// OID_WW_GEN_REGISTRATION_STATUS
//
typedef INT WW_REGISTRATION_STATUS; // 0 = Registration denied
// 1 = Registration pending
// 2 = Registered
// -1 = unknown registration status
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -