Пример #1
0
        protected unsafe void ProcessLinkLayerAddress(Interop.Sys.LinkLayerAddressInfo *llAddr)
        {
            byte[] macAddress = new byte[llAddr->NumAddressBytes];
            fixed(byte *macAddressPtr = macAddress)
            {
                Buffer.MemoryCopy(llAddr->AddressBytes, macAddressPtr, llAddr->NumAddressBytes, llAddr->NumAddressBytes);
            }

            PhysicalAddress physicalAddress = new PhysicalAddress(macAddress);

            _index                = llAddr->InterfaceIndex;
            _physicalAddress      = physicalAddress;
            _networkInterfaceType = (NetworkInterfaceType)llAddr->HardwareType;
        }
Пример #2
0
        protected static unsafe void ProcessLinkLayerAddress(UnixNetworkInterface uni, Interop.Sys.LinkLayerAddressInfo *llAddr)
        {
            byte[] macAddress = new byte[llAddr->NumAddressBytes];
            fixed(byte *macAddressPtr = macAddress)
            {
                Buffer.MemoryCopy(llAddr->AddressBytes, macAddressPtr, llAddr->NumAddressBytes, llAddr->NumAddressBytes);
            }

            PhysicalAddress physicalAddress = new PhysicalAddress(macAddress);

            uni._index                = llAddr->InterfaceIndex;
            uni._id                   = uni._index.ToString();
            uni._physicalAddress      = physicalAddress;
            uni._networkInterfaceType = (NetworkInterfaceType)llAddr->HardwareType;
        }