📄 packet32h.cs
字号:
public bool PacketAllocatePacket( int newBufferSize )
{
if( mPacket.Buffer != 0 )
{
Marshal.FreeCoTaskMem( (IntPtr) mPacket.Buffer );
mPacket.Buffer = 0;
mPacket.Length = 0;
}
mPacketBufferSize = newBufferSize;
mPacket.Buffer = (int) Marshal.AllocCoTaskMem( mPacketBufferSize );
mPacket.Length = mPacketBufferSize;
mPacket.ulBytesReceived = 0;
return true;
}
//****************************************************************
//
//****************************************************************
public bool PacketAllocatePacket()
{
if( mPacket.Buffer != 0 )
{
Marshal.FreeCoTaskMem( (IntPtr) mPacket.Buffer );
mPacket.Buffer = 0;
mPacket.Length = 0;
}
mPacketBufferSize = 4096;
mPacket.Buffer = (int) Marshal.AllocCoTaskMem( mPacketBufferSize );
mPacket.Length = mPacketBufferSize;
mPacket.ulBytesReceived = 0;
return true;
}
//****************************************************************
//
//****************************************************************
public void PacketFreePacket()
{
if( mPacket.Buffer == 0 ) return;
Marshal.FreeCoTaskMem( (IntPtr) mPacket.Buffer );
mPacket.Buffer = 0;
mPacket.Length = 0;
mPacket.ulBytesReceived = 0;
}
//****************************************************************
//
//****************************************************************
public bool PacketCloseAdapter()
{
PacketFreePacket();
CloseHandle( mAdapter.hFile );
SetEvent( mAdapter.ReadEvent );
CloseHandle( mAdapter.ReadEvent );
mAdapter.hFile = 0;
mAdapter.NumWrites = 0;
mAdapter.ReadEvent = 0;
mAdapter.ReadTimeOut = 0;
return true;
}
//****************************************************************
//
//****************************************************************
public void GetAdapterInfo()
{
mAdapterInfo.BroadcastBytesRcv = GetBroadcastBytesRcv();
mAdapterInfo.BroadcastBytesXmit = GetBroadcastBytesXmit();
mAdapterInfo.BroadcastFramesRcv = GetBroadcastFramesRcv();
mAdapterInfo.BroadcastFramesXmit = GetBroadcastFramesXmit();
mAdapterInfo.CurrentLookAhead = GetCurrentLookAhead();
mAdapterInfo.CurrentPacketFilter = GetCurrentPacketFilter();
mAdapterInfo.CurrentPacketFilterStr = NtddNDish.GetCurrentPacketFilterString(mAdapterInfo.CurrentPacketFilter);
mAdapterInfo.DirectedBytesRcv = GetDirectedBytesRcv();
mAdapterInfo.DirectedBytesXmit = GetDirectedBytesXmit();
mAdapterInfo.DirectedFramesRcv = GetDirectedFramesRcv();
mAdapterInfo.DirectedFramesXmit = GetDirectedFramesXmit();
mAdapterInfo.DriverVersion = GetDriverVersion();
mAdapterInfo.HardwareStatus = GetHardwareStatus();
mAdapterInfo.HardwareStatusStr = NtddNDish.GetHardwareStatusString(mAdapterInfo.HardwareStatus);
mAdapterInfo.LinkSpeed = GetLinkSpeed();
mAdapterInfo.MacOptions = GetMacOptions();
mAdapterInfo.MacOptionsStr = NtddNDish.GetMacOptionsString(mAdapterInfo.MacOptions);
mAdapterInfo.MaximumFrameSize = GetMaximumFrameSize();
mAdapterInfo.MaximumLookAhead = GetMaximumLookAhead();
mAdapterInfo.MaximumSendPackets = GetMaximumSendPackets();
mAdapterInfo.MaximumTotalSize = GetMaximumTotalSize();
mAdapterInfo.MediaConnectStatus = GetMediaConnectStatus();
mAdapterInfo.MediaConnectStatusStr = NtddNDish.GetMediaStateString(mAdapterInfo.MediaConnectStatus);
mAdapterInfo.MediaInUse = GetMediaInUse();
mAdapterInfo.MediaInUseStr = NtddNDish.GetMediaInUseString(mAdapterInfo.MediaInUse);
mAdapterInfo.MediaSupported = GetMediaSupported();
mAdapterInfo.MulticastBytesRcv = GetMulticastBytesRcv();
mAdapterInfo.MulticastBytesXmit = GetMulticastBytesXmit();
//mAdapterInfo.MulticastFramesRcv = GetMulticastFramesRcv();
//mAdapterInfo.MulticastFramesXmit = GetMulticastFramesXmit();
//mAdapterInfo.NetCardTime = GetNetCardTime();
mAdapterInfo.ProtocolOptions = GetProtocolOptions();
mAdapterInfo.ProtocolOptionsStr = NtddNDish.GetProtocolOptionsString(mAdapterInfo.ProtocolOptions);
mAdapterInfo.RcvCrcError = GetRcvCrcError();
mAdapterInfo.RcvError = GetRcvError();
mAdapterInfo.RcvNoBuffer = GetRcvNoBuffer();
mAdapterInfo.RcvOk = GetRcvOk();
mAdapterInfo.ReceiveBlockSize = GetReceiveBlockSize();
mAdapterInfo.ReceiveBufferSpace = GetReceiveBufferSpace();
//mAdapterInfo.SupportedList = GetSupportedList(); // Check this line
//mAdapterInfo.TimeCaps = GetTimeCaps();
//mAdapterInfo.TimeCapsStr = NtddNDish.GetTimeCapsString(mAdapterInfo.TimeCaps);
mAdapterInfo.TransmitBlockSize = GetTransmitBlockSize();
mAdapterInfo.TransmitBufferSpace = GetTransmitBufferSpace();
mAdapterInfo.TransmitQueueLength = GetTransmitQueueLength();
mAdapterInfo.VendorDescription = GetVendorDescription();
mAdapterInfo.VendorDriverVersion = GetVendorDriverVersion();
mAdapterInfo.VendorId = GetVendorId();
mAdapterInfo.XmitError = GetXmitError();
mAdapterInfo.XmitOk = GetXmitOk();
mAdapterInfo.TransportHeaderOffset = GetTransportHeaderOffset();
mAdapterInfo.PhysicalMedium = GetPhysicalMedium();
mAdapterInfo.NetworkLayerAddress = GetNetworkLayerAddress();
mAdapterInfo.MediaSenseCount = GetMediaSenseCount();
mAdapterInfo.MediaCapabilities = GetMediaCapabilities();
mAdapterInfo.InitTimeMs = GetInitTimeMs();
mAdapterInfo.FriendlyName = GetFriendlyName();
mAdapterInfo.SupportedGuids = GetSupportedGuids();
mAdapterInfo.NetCardLoad = GetNetCardLoad();
mAdapterInfo.DeviceProfile = GetDeviceProfile();
}
public void GetAdapterInfoEx()
{
mAdapterInfoEx.BroadcastBytesRcv = mAdapterInfo.BroadcastBytesRcv.ToString();
mAdapterInfoEx.BroadcastBytesXmit = mAdapterInfoEx.BroadcastBytesXmit.ToString();
mAdapterInfoEx.BroadcastFramesRcv = mAdapterInfoEx.BroadcastFramesRcv.ToString();
mAdapterInfoEx.BroadcastFramesXmit = mAdapterInfoEx.BroadcastFramesXmit.ToString();
mAdapterInfoEx.CurrentLookAhead = mAdapterInfoEx.CurrentLookAhead.ToString();
mAdapterInfoEx.CurrentPacketFilter = mAdapterInfoEx.CurrentPacketFilter.ToString();
mAdapterInfoEx.DirectedBytesRcv = mAdapterInfoEx.DirectedBytesRcv.ToString();
mAdapterInfoEx.DirectedBytesXmit = mAdapterInfoEx.DirectedBytesXmit.ToString();
mAdapterInfoEx.DirectedFramesRcv = mAdapterInfoEx.DirectedFramesRcv.ToString();
mAdapterInfoEx.DirectedFramesXmit = mAdapterInfoEx.DirectedFramesXmit.ToString();
mAdapterInfoEx.DriverVersion = mAdapterInfoEx.DriverVersion.ToString();
mAdapterInfoEx.HardwareStatus = mAdapterInfoEx.HardwareStatus.ToString();
mAdapterInfoEx.LinkSpeed = mAdapterInfoEx.LinkSpeed.ToString();
mAdapterInfoEx.MacOptions = mAdapterInfoEx.MacOptions.ToString();
mAdapterInfoEx.MacOptionsStr = mAdapterInfoEx.MacOptionsStr.ToString();
mAdapterInfoEx.MaximumFrameSize = mAdapterInfoEx.MaximumFrameSize.ToString();
mAdapterInfoEx.MaximumLookAhead = mAdapterInfoEx.MaximumLookAhead.ToString();
mAdapterInfoEx.MaximumSendPackets = mAdapterInfoEx.MaximumSendPackets.ToString();
mAdapterInfoEx.MaximumTotalSize = mAdapterInfoEx.MaximumTotalSize.ToString();
mAdapterInfoEx.MediaConnectStatus = mAdapterInfoEx.MediaConnectStatus.ToString();
mAdapterInfoEx.MediaInUse = mAdapterInfoEx.MediaInUse.ToString();
mAdapterInfoEx.MediaInUseStr = mAdapterInfoEx.MediaInUseStr.ToString();
mAdapterInfoEx.MediaSupported = mAdapterInfoEx.MediaSupported.ToString();
mAdapterInfoEx.MulticastBytesRcv = mAdapterInfoEx.MulticastBytesRcv.ToString();
mAdapterInfoEx.MulticastBytesXmit = mAdapterInfoEx.MulticastBytesXmit.ToString();
//mAdapterInfoEx.MulticastFramesRcv = mAdapterInfoEx.MulticastFramesRcv.ToString();
//mAdapterInfoEx.MulticastFramesXmit = mAdapterInfoEx.MulticastFramesXmit.ToString();
//mAdapterInfoEx.NetCardTime = mAdapterInfoEx.NetCardTime.ToString();
mAdapterInfoEx.ProtocolOptions = mAdapterInfoEx.ProtocolOptions.ToString();
mAdapterInfoEx.RcvCrcError = mAdapterInfoEx.RcvCrcError.ToString();
mAdapterInfoEx.RcvError = mAdapterInfoEx.RcvError.ToString();
mAdapterInfoEx.RcvNoBuffer = mAdapterInfoEx.RcvNoBuffer.ToString();
mAdapterInfoEx.RcvOk = mAdapterInfoEx.RcvOk.ToString();
mAdapterInfoEx.ReceiveBlockSize = mAdapterInfoEx.ReceiveBlockSize.ToString();
mAdapterInfoEx.ReceiveBufferSpace = mAdapterInfoEx.ReceiveBufferSpace.ToString();
//mAdapterInfoEx.SupportedList = mAdapterInfoEx.SupportedList.ToString(); // Check this line
//mAdapterInfoEx.TimeCaps = mAdapterInfoEx.TimeCaps.ToString();
mAdapterInfoEx.TransmitBlockSize = mAdapterInfoEx.TransmitBlockSize.ToString();
mAdapterInfoEx.TransmitBufferSpace = mAdapterInfoEx.TransmitBufferSpace.ToString();
mAdapterInfoEx.TransmitQueueLength = mAdapterInfoEx.TransmitQueueLength.ToString();
mAdapterInfoEx.VendorDescription = mAdapterInfoEx.VendorDescription.ToString();
mAdapterInfoEx.VendorDriverVersion = mAdapterInfoEx.VendorDriverVersion.ToString();
mAdapterInfoEx.VendorId = mAdapterInfoEx.VendorId.ToString();
mAdapterInfoEx.XmitError = mAdapterInfoEx.XmitError.ToString();
mAdapterInfoEx.XmitOk = mAdapterInfoEx.XmitOk.ToString();
mAdapterInfoEx.TransportHeaderOffset = mAdapterInfoEx.TransportHeaderOffset.ToString();
mAdapterInfoEx.PhysicalMedium = mAdapterInfoEx.PhysicalMedium.ToString();
mAdapterInfoEx.NetworkLayerAddress = mAdapterInfoEx.NetworkLayerAddress.ToString();
mAdapterInfoEx.MediaSenseCount = mAdapterInfoEx.MediaSenseCount.ToString();
mAdapterInfoEx.MediaCapabilities = mAdapterInfoEx.MediaCapabilities.ToString();
mAdapterInfoEx.InitTimeMs = mAdapterInfoEx.InitTimeMs.ToString();
mAdapterInfoEx.FriendlyName = GetFriendlyName().ToString();
mAdapterInfoEx.SupportedGuids = mAdapterInfoEx.SupportedGuids.ToString();
mAdapterInfoEx.NetCardLoad = mAdapterInfoEx.NetCardLoad.ToString();
mAdapterInfoEx.DeviceProfile = mAdapterInfoEx.DeviceProfile.ToString();
}
//****************************************************************
//
//****************************************************************
private int GetSupportedList()
{ return GetOidInt( NtddNDish.OID_GEN_SUPPORTED_LIST ); }
private int GetHardwareStatus()
{ return GetOidInt( NtddNDish.OID_GEN_HARDWARE_STATUS ); }
private int GetMediaSupported()
{ return GetOidInt( NtddNDish.OID_GEN_MEDIA_SUPPORTED ); }
private int GetMediaInUse()
{ return GetOidInt( NtddNDish.OID_GEN_MEDIA_IN_USE ); }
private int GetMaximumLookAhead()
{ return GetOidInt( NtddNDish.OID_GEN_MAXIMUM_LOOKAHEAD ); }
private int GetMaximumFrameSize()
{ return GetOidInt( NtddNDish.OID_GEN_MAXIMUM_FRAME_SIZE ); }
private int GetLinkSpeed()
{ return GetOidInt( NtddNDish.OID_GEN_LINK_SPEED ); }
private int GetTransmitBufferSpace()
{ return GetOidInt( NtddNDish.OID_GEN_TRANSMIT_BUFFER_SPACE ); }
private int GetReceiveBufferSpace()
{ return GetOidInt( NtddNDish.OID_GEN_RECEIVE_BUFFER_SPACE ); }
private int GetTransmitBlockSize()
{ return GetOidInt( NtddNDish.OID_GEN_TRANSMIT_BLOCK_SIZE ); }
private int GetReceiveBlockSize()
{ return GetOidInt( NtddNDish.OID_GEN_RECEIVE_BLOCK_SIZE ); }
private int GetVendorId()
{ return GetOidInt( NtddNDish.OID_GEN_VENDOR_ID ); }
private string GetVendorDescription()
{ return GetOidStr( NtddNDish.OID_GEN_VENDOR_DESCRIPTION ); }
private int GetCurrentPacketFilter()
{ return GetOidInt( NtddNDish.OID_GEN_CURRENT_PACKET_FILTER ); }
private int GetCurrentLookAhead()
{ return GetOidInt( NtddNDish.OID_GEN_CURRENT_LOOKAHEAD ); }
private int GetMaximumTotalSize()
{ return GetOidInt( NtddNDish.OID_GEN_MAXIMUM_TOTAL_SIZE ); }
private int GetProtocolOptions()
{ return GetOidInt( NtddNDish.OID_GEN_PROTOCOL_OPTIONS ); }
private int GetMacOptions()
{ return GetOidInt( NtddNDish.OID_GEN_MAC_OPTIONS ); }
private int GetMediaConnectStatus()
{ return GetOidInt( NtddNDish.OID_GEN_MEDIA_CONNECT_STATUS ); }
private int GetMaximumSendPackets()
{ return GetOidInt( NtddNDish.OID_GEN_MAXIMUM_SEND_PACKETS ); }
private int GetDriverVersion()
{ return GetOidInt( NtddNDish.OID_GEN_DRIVER_VERSION ); }
private int GetVendorDriverVersion()
{ return GetOidInt( NtddNDish.OID_GEN_VENDOR_DRIVER_VERSION ); }
private int GetXmitOk()
{ return GetOidInt( NtddNDish.OID_GEN_XMIT_OK ); }
private int GetRcvOk()
{ return GetOidInt( NtddNDish.OID_GEN_RCV_OK ); }
private int GetXmitError()
{ return GetOidInt( NtddNDish.OID_GEN_XMIT_ERROR ); }
private int GetRcvError()
{ return GetOidInt( NtddNDish.OID_GEN_RCV_ERROR ); }
private int GetRcvNoBuffer()
{ return GetOidInt( NtddNDish.OID_GEN_RCV_NO_BUFFER ); }
private int GetDirectedBytesXmit()
{ return GetOidInt( NtddNDish.OID_GEN_DIRECTED_BYTES_XMIT ); }
private int GetDirectedFramesXmit()
{ return GetOidInt( NtddNDish.OID_GEN_DIRECTED_FRAMES_XMIT ); }
private int GetMulticastBytesXmit()
{ return GetOidInt( NtddNDish.OID_GEN_MULTICAST_BYTES_XMIT ); }
private int GetMulticastFramesXmit()
{ return GetOidInt( NtddNDish.OID_GEN_MULTICAST_FRAMES_XMIT ); }
private int GetBroadcastBytesXmit()
{ return GetOidInt( NtddNDish.OID_GEN_BROADCAST_BYTES_XMIT ); }
private int GetBroadcastFramesXmit()
{ return GetOidInt( NtddNDish.OID_GEN_BROADCAST_FRAMES_XMIT ); }
private int GetDirectedBytesRcv()
{ return GetOidInt( NtddNDish.OID_GEN_DIRECTED_BYTES_RCV ); }
private int GetDirectedFramesRcv()
{ return GetOidInt( NtddNDish.OID_GEN_DIRECTED_FRAMES_RCV ); }
private int GetMulticastBytesRcv()
{ return GetOidInt( NtddNDish.OID_GEN_MULTICAST_BYTES_RCV ); }
private int GetMulticastFramesRcv()
{ return GetOidInt( NtddNDish.OID_GEN_MULTICAST_FRAMES_RCV ); }
private int GetBroadcastBytesRcv()
{ return GetOidInt( NtddNDish.OID_GEN_BROADCAST_BYTES_RCV ); }
private int GetBroadcastFramesRcv()
{ return GetOidInt( NtddNDish.OID_GEN_BROADCAST_FRAMES_RCV ); }
private int GetRcvCrcError()
{ return GetOidInt( NtddNDish.OID_GEN_RCV_CRC_ERROR ); }
private int GetTransmitQueueLength()
{ return GetOidInt( NtddNDish.OID_GEN_TRANSMIT_QUEUE_LENGTH ); }
private int GetTimeCaps()
{ return GetOidInt( NtddNDish.OID_GEN_GET_TIME_CAPS ); }
private int GetNetCardTime()
{ return GetOidInt( NtddNDish.OID_GEN_GET_NETCARD_TIME ); }
private int GetDeviceProfile()
{ return GetOidInt( NtddNDish.OID_GEN_DEVICE_PROFILE ); }
private int GetNetCardLoad()
{ return GetOidInt( NtddNDish.OID_GEN_NETCARD_LOAD ); }
private int GetSupportedGuids()
{ return GetOidInt( NtddNDish.OID_GEN_SUPPORTED_GUIDS ); }
private string GetFriendlyName()
{ return GetOidStr( NtddNDish.OID_GEN_FRIENDLY_NAME ); }
private int GetInitTimeMs()
{ return GetOidInt( NtddNDish.OID_GEN_INIT_TIME_MS ); }
private int GetMediaCapabilities()
{ return GetOidInt( NtddNDish.OID_GEN_MEDIA_CAPABILITIES ); }
private int GetMediaSenseCount()
{ return GetOidInt( NtddNDish.OID_GEN_MEDIA_SENSE_COUNTS ); }
private int GetNetworkLayerAddress()
{ return GetOidInt( NtddNDish.OID_GEN_NETWORK_LAYER_ADDRESSES ); }
private int GetPhysicalMedium()
{ return GetOidInt( NtddNDish.OID_GEN_PHYSICAL_MEDIUM ); }
private int GetTransportHeaderOffset()
{ return GetOidInt( NtddNDish.OID_GEN_TRANSPORT_HEADER_OFFSET ); }
//****************************************************************
//
//****************************************************************
public bool GetOid( uint Oid )
{
int BytesReturned = 0, i = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -