⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ntddndish.cs

📁 一个抓包工具
💻 CS
📖 第 1 页 / 共 5 页
字号:
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 + -