📄 ntddndish.cs
字号:
using System;
namespace MyClasses
{
// This is the type of an NDIS OID value.
using NDIS_OID = System.UInt64;
//using PNDIS_OID = System.UInt64 *;
using Priority_802_3 = System.UInt64; // 0-7 priority levels
using UINT = System.UInt32;
using HANDLE = System.IntPtr;
using WW_OPERATION_MODE = System.Int32; // 0 = Normal mode
// 1 = Power saving mode
// -1 = mode unknown
//
// OID_WW_GEN_LOCK_STATUS
using WW_LOCK_STATUS =System.Int32; // 0 = unlocked
// 1 = locked
// -1 = unknown lock status
//
// OID_WW_GEN_DISABLE_TRANSMITTER
using WW_DISABLE_TRANSMITTER = System.Int32; // 0 = transmitter enabled
// 1 = transmitter disabled
// -1 = unknown value
//
// OID_WW_GEN_NETWORK_ID
using WW_NETWORK_ID = NtddNDish.NDIS_VAR_DATA_DESC;
// OID_WW_GEN_PERMANENT_ADDRESS
using WW_PERMANENT_ADDRESS = NtddNDish.NDIS_VAR_DATA_DESC;
// OID_WW_GEN_SUSPEND_DRIVER
using WW_SUSPEND_DRIVER = System.Int32; // 0 = driver operational
// 1 = driver suspended
//
// OID_WW_GEN_BASESTATION_ID
using WW_BASESTATION_ID =NtddNDish.NDIS_VAR_DATA_DESC ;
//
// OID_WW_GEN_CHANNEL_ID
using WW_CHANNEL_ID = NtddNDish.NDIS_VAR_DATA_DESC;
//
// OID_WW_GEN_ENCRYPTION_STATE
using WW_ENCRYPTION_STATE = System.Int32; // 0 = if encryption is disabled
// 1 = if encryption is enabled
//
// OID_WW_GEN_CHANNEL_QUALITY
using WW_CHANNEL_QUALITY = System.Int32; // 0 = Not in network contact,
// 1-100 = Quality of Channel (100 is highest quality).
// -1 = channel quality is unknown
//
// OID_WW_GEN_REGISTRATION_STATUS
using WW_REGISTRATION_STATUS = System.Int32; // 0 = Registration denied
// 1 = Registration pending
// 2 = Registered
// -1 = unknown registration status
//
// OID_WW_GEN_RADIO_LINK_SPEED
using WW_RADIO_LINK_SPEED = System.Int32; // Bits per second.
//
// OID_WW_GEN_LATENCY
using WW_LATENCY = System.Int32; // milliseconds
//
// OID_WW_GEN_BATTERY_LEVEL
using WW_BATTERY_LEVEL = System.Int32; // 0-100 = battery level in percentage
// (100=fully charged)
// -1 = unknown battery level.
//
// OID_WW_GEN_EXTERNAL_POWER
using WW_EXTERNAL_POWER = System.Int32; // 0 = no external power connected
// 1 = external power connected
// -1 = unknown
//
// OID_WW_MET_FUNCTION
using WW_MET_FUNCTION = NtddNDish.NDIS_VAR_DATA_DESC;
// OID_WW_TAC_COMPRESSION
using WW_TAC_COMPRESSION = System.Int32; // Determines whether or not network level compression
// is being used.
// OID_WW_TAC_USER_HEADER
using WW_TAC_USERHEADER = NtddNDish.NDIS_VAR_DATA_DESC; // This will hold the user header - Max. 64 octets.
// OID_WW_ARD_TMLY_MSG
using WW_ARD_CHANNEL_STATUS = System.Int32; // The current status of the inbound RF Channel.
// OID_WW_CDPD_AREA_COLOR
using WW_CDPD_AREA_COLOR = System.Int32;
// OID_WW_CDPD_TX_POWER_LEVEL
using WW_CDPD_TX_POWER_LEVEL = System.UInt32;
// OID_WW_CDPD_EID
using WW_CDPD_EID = NtddNDish.NDIS_VAR_DATA_DESC;
// OID_WW_CDPD_HEADER_COMPRESSION
using WW_CDPD_HEADER_COMPRESSION = System.Int32; // 0 = no header compression,
// 1 = always compress headers,
// 2 = compress headers if MD-IS does
// -1 = unknown
// OID_WW_CDPD_DATA_COMPRESSION
using WW_CDPD_DATA_COMPRESSION = System.Int32; // 0 = no data compression,
// 1 = data compression enabled
// -1 = unknown
// OID_WW_CDPD_SLEEP_MODE
using WW_CDPD_SLEEP_MODE = System.Int32;
// OID_WW_CDPD_TEI
using WW_CDPD_TEI = System.UInt64;
using WW_CDPD_RSSI = System.UInt32;
// OID_WW_PIN_LOC_AUTHORIZE
using WW_PIN_AUTHORIZED = System.Int32; // 0 = unauthorized
// 1 = authorized
// -1 = unknown
// The following is set on a per-packet basis as OOB data with NdisClassWirelessWanMbxMailbox
using WW_MBX_MAILBOX_FLAG = System.UInt64; // 1 = set mailbox flag, 0 = do not set mailbox flag
// OID_WW_MBX_LIVE_DIE
using WW_MBX_LIVE_DIE = System.Int32; // 0 = DIE last received
// 1 = LIVE last received
// -1 = unknown
public class NtddNDish
{
// Device Name - this string is the name of the device. It is the name
// that should be passed to NtOpenFile when accessing the device.
//
// Note: For devices that support multiple units, it should be suffixed
// with the Ascii representation of the unit number.
public string DD_NDIS_DEVICE_NAME = "\\Device\\UNKNOWN";
//
// NtDeviceIoControlFile IoControlCode values for this device.
//
// Warning: Remember that the low two bits of the code specify how the
// buffers are passed to the driver!
//
public static uint IOCTL_NDIS_QUERY_GLOBAL_STATS = NDIS_CONTROL_CODE( 0, DeviceIOCtlh.METHOD_OUT_DIRECT );
public static uint IOCTL_NDIS_QUERY_ALL_STATS = NDIS_CONTROL_CODE( 1, DeviceIOCtlh.METHOD_OUT_DIRECT );
public static uint IOCTL_NDIS_ADD_DEVICE = NDIS_CONTROL_CODE( 2, DeviceIOCtlh.METHOD_BUFFERED );
public static uint IOCTL_NDIS_DELETE_DEVICE = NDIS_CONTROL_CODE( 3, DeviceIOCtlh.METHOD_BUFFERED );
public static uint IOCTL_NDIS_TRANSLATE_NAME = NDIS_CONTROL_CODE( 4, DeviceIOCtlh.METHOD_BUFFERED );
public static uint IOCTL_NDIS_ADD_TDI_DEVICE = NDIS_CONTROL_CODE( 5, DeviceIOCtlh.METHOD_BUFFERED );
public static uint IOCTL_NDIS_NOTIFY_PROTOCOL = NDIS_CONTROL_CODE( 6, DeviceIOCtlh.METHOD_BUFFERED );
public static uint IOCTL_NDIS_GET_LOG_DATA = NDIS_CONTROL_CODE( 7, DeviceIOCtlh.METHOD_OUT_DIRECT );
// NtDeviceIoControlFile InputBuffer/OutputBuffer record structures for
// this device.
// IOCTL_NDIS_QUERY_ALL_STATS returns a sequence of these, packed
// together (no padding is required since statistics all have
// four or eight bytes of data).
//
public struct NDIS_STATISTICS_VALUE
{
public NDIS_OID Oid;
public ulong DataLength;
public char [] Data; // variable length
};
//
// Structure used by TRANSLATE_NAME IOCTL
//
public struct NET_PNP_ID
{
public ulong ClassId;
public ulong Token;
};
public struct NET_PNP_TRANSLATE_LIST
{
public ulong BytesNeeded;
public NET_PNP_ID [] IdArray; //ANYSIZE_ARRAY is the length of the array
};
//
// Structure used to define a self-contained variable data structure
//
public struct NDIS_VAR_DATA_DESC
{
public ushort Length; // # of octects of data
public ushort MaximumLength; // # of octects available
public long Offset; // Offset of data relative to the descriptor
};
// Object Identifiers used by NdisRequest Query/Set Information
// General Objects
public static uint OID_GEN_BROADCAST_BYTES_RCV = 0x2020B;
public static uint OID_GEN_BROADCAST_BYTES_XMIT = 0x20205;
public static uint OID_GEN_BROADCAST_FRAMES_RCV = 0x2020C;
public static uint OID_GEN_BROADCAST_FRAMES_XMIT = 0x20206;
public static uint OID_GEN_DIRECTED_BYTES_RCV = 0x20207;
public static uint OID_GEN_DIRECTED_BYTES_XMIT = 0x20201;
public static uint OID_GEN_DRIVER_VERSION = 0x10110;
public static uint OID_GEN_GET_NETCARD_TIME = 0x20210;
public static uint OID_GEN_GET_TIME_CAPS = 0x2020F;
public static uint OID_GEN_HARDWARE_STATUS = 0x10102;
public static uint OID_GEN_LINK_SPEED = 0x10107;
public static uint OID_GEN_MAC_OPTIONS = 0x10113;
public static uint OID_GEN_MEDIA_CONNECT_STATUS = 0x10114;
public static uint OID_GEN_MEDIA_IN_USE = 0x10104;
public static uint OID_GEN_MEDIA_SUPPORTED = 0x10103;
public static uint OID_GEN_PROTOCOL_OPTIONS = 0x10112;
public static uint OID_GEN_RCV_CRC_ERROR = 0x2020D;
public static uint OID_GEN_RCV_ERROR = 0x20104;
public static uint OID_GEN_RCV_NO_BUFFER = 0x20105;
public static uint OID_GEN_RCV_OK = 0x20102;
public static uint OID_GEN_SUPPORTED_LIST = 0x10101;
public static uint OID_GEN_TRANSMIT_QUEUE_LENGTH = 0x2020E;
public static uint OID_GEN_VENDOR_DESCRIPTION = 0x1010D;
public static uint OID_GEN_VENDOR_DRIVER_VERSION = 0x10116;
public static uint OID_GEN_VENDOR_ID = 0x1010C;
public static uint OID_GEN_XMIT_ERROR = 0x20103;
public static uint OID_GEN_XMIT_OK = 0x20101;
public static uint OID_GEN_CURRENT_LOOKAHEAD = 0x1010F;
public static uint OID_GEN_CURRENT_PACKET_FILTER = 0x1010E;
public static uint OID_GEN_DIRECTED_FRAMES_RCV = 0x20208;
public static uint OID_GEN_DIRECTED_FRAMES_XMIT = 0x20202;
public static uint OID_GEN_MAXIMUM_FRAME_SIZE = 0x10106;
public static uint OID_GEN_MAXIMUM_LOOKAHEAD = 0x10105;
public static uint OID_GEN_MAXIMUM_SEND_PACKETS = 0x10115;
public static uint OID_GEN_MAXIMUM_TOTAL_SIZE = 0x10111;
public static uint OID_GEN_MULTICAST_BYTES_RCV = 0x20209;
public static uint OID_GEN_MULTICAST_BYTES_XMIT = 0x20203;
public static uint OID_GEN_MULTICAST_FRAMES_RCV = 0x2020A;
public static uint OID_GEN_MULTICAST_FRAMES_XMIT = 0x20204;
public static uint OID_GEN_RECEIVE_BLOCK_SIZE = 0x1010B;
public static uint OID_GEN_RECEIVE_BUFFER_SPACE = 0x10109;
public static uint OID_GEN_RESET_COUNTS = 0x20214; // ?
public static uint OID_GEN_TRANSMIT_BLOCK_SIZE = 0x1010A;
public static uint OID_GEN_TRANSMIT_BUFFER_SPACE = 0x10108;
public static uint OID_GEN_DEVICE_PROFILE = 0x20212; // ?
public static uint OID_GEN_NETCARD_LOAD = 0x20211; // ?
public static uint OID_GEN_SUPPORTED_GUIDS = 0x10117; // ?
public static uint OID_GEN_FRIENDLY_NAME = 0x20216; // ?
public static uint OID_GEN_INIT_TIME_MS = 0x20213; // ?
public static uint OID_GEN_MEDIA_CAPABILITIES = 0x10201; // ?
public static uint OID_GEN_MEDIA_SENSE_COUNTS = 0x20215; // ?
public static uint OID_GEN_NETWORK_LAYER_ADDRESSES = 0x10118; // ?
public static uint OID_GEN_PHYSICAL_MEDIUM = 0x10202; // ?
public static uint OID_GEN_TRANSPORT_HEADER_OFFSET = 0x10119; // ?
//
// These are connection-oriented general OIDs.
// These replace the above OIDs for connection-oriented media.
//
public static uint OID_GEN_CO_SUPPORTED_LIST = 0x00010101;
public static uint OID_GEN_CO_HARDWARE_STATUS = 0x00010102;
public static uint OID_GEN_CO_MEDIA_SUPPORTED = 0x00010103;
public static uint OID_GEN_CO_MEDIA_IN_USE = 0x00010104;
public static uint OID_GEN_CO_LINK_SPEED = 0x00010105;
public static uint OID_GEN_CO_VENDOR_ID = 0x00010106;
public static uint OID_GEN_CO_VENDOR_DESCRIPTION = 0x00010107;
public static uint OID_GEN_CO_DRIVER_VERSION = 0x00010108;
public static uint OID_GEN_CO_PROTOCOL_OPTIONS = 0x00010109;
public static uint OID_GEN_CO_MAC_OPTIONS = 0x0001010A;
public static uint OID_GEN_CO_MEDIA_CONNECT_STATUS = 0x0001010B;
public static uint OID_GEN_CO_VENDOR_DRIVER_VERSION = 0x0001010C;
public static uint OID_GEN_CO_MINIMUM_LINK_SPEED = 0x0001010D;
public static uint OID_GEN_CO_GET_TIME_CAPS = 0x00010201;
public static uint OID_GEN_CO_GET_NETCARD_TIME = 0x00010202;
//
// These are connection-oriented statistics OIDs.
//
public static uint OID_GEN_CO_XMIT_PDUS_OK = 0x00020101;
public static uint OID_GEN_CO_RCV_PDUS_OK = 0x00020102;
public static uint OID_GEN_CO_XMIT_PDUS_ERROR = 0x00020103;
public static uint OID_GEN_CO_RCV_PDUS_ERROR = 0x00020104;
public static uint OID_GEN_CO_RCV_PDUS_NO_BUFFER = 0x00020105;
public static uint OID_GEN_CO_RCV_CRC_ERROR = 0x00020201;
public static uint OID_GEN_CO_TRANSMIT_QUEUE_LENGTH = 0x00020202;
public static uint OID_GEN_CO_BYTES_XMIT = 0x00020203;
public static uint OID_GEN_CO_BYTES_RCV = 0x00020204;
public static uint OID_GEN_CO_BYTES_XMIT_OUTSTANDING = 0x00020205;
public static uint OID_GEN_CO_NETCARD_LOAD = 0x00020206;
//
// These are objects for Connection-oriented media call-managers and are not
// valid for ndis drivers. Under construction.
//
public static uint OID_CO_ADD_PVC = 0xFF000001;
public static uint OID_CO_DELETE_PVC = 0xFF000002;
public static uint OID_CO_GET_CALL_INFORMATION = 0xFF000003;
public static uint OID_CO_ADD_ADDRESS = 0xFF000004;
public static uint OID_CO_DELETE_ADDRESS = 0xFF000005;
public static uint OID_CO_GET_ADDRESSES = 0xFF000006;
public static uint OID_CO_ADDRESS_CHANGE = 0xFF000007;
public static uint OID_CO_SIGNALING_ENABLED = 0xFF000008;
public static uint OID_CO_SIGNALING_DISABLED = 0xFF000009;
//
// 802.3 Objects (Ethernet)
//
public static uint OID_802_3_PERMANENT_ADDRESS = 0x01010101;
public static uint OID_802_3_CURRENT_ADDRESS = 0x01010102;
public static uint OID_802_3_MULTICAST_LIST = 0x01010103;
public static uint OID_802_3_MAXIMUM_LIST_SIZE = 0x01010104;
public static uint OID_802_3_MAC_OPTIONS = 0x01010105;
//
//
public static uint NDIS_802_3_MAC_OPTION_PRIORITY = 0x00000001;
public static uint OID_802_3_RCV_ERROR_ALIGNMENT = 0x01020101;
public static uint OID_802_3_XMIT_ONE_COLLISION = 0x01020102;
public static uint OID_802_3_XMIT_MORE_COLLISIONS = 0x01020103;
public static uint OID_802_3_XMIT_DEFERRED = 0x01020201;
public static uint OID_802_3_XMIT_MAX_COLLISIONS = 0x01020202;
public static uint OID_802_3_RCV_OVERRUN = 0x01020203;
public static uint OID_802_3_XMIT_UNDERRUN = 0x01020204;
public static uint OID_802_3_XMIT_HEARTBEAT_FAILURE = 0x01020205;
public static uint OID_802_3_XMIT_TIMES_CRS_LOST = 0x01020206;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -