Exemplo n.º 1
0
        public bool GetSMBIOS_Data()
        {
            if (HasSMBIOS == false && CheckSMBIOS() == false)
            {
                return(false);
            }

            Cosmos.Kernel.MemoryAddressSpace Memory = new Cosmos.Kernel.MemoryAddressSpace(SMBBIOSAddress, 32);

            SMBIOS_Data = new SMBIOS_Data();

            //4 Byte array
            SMBIOS_Data.AnchorString[0] = Memory.Read8Unchecked(0);
            SMBIOS_Data.AnchorString[1] = Memory.Read8Unchecked(1);
            SMBIOS_Data.AnchorString[2] = Memory.Read8Unchecked(2);
            SMBIOS_Data.AnchorString[3] = Memory.Read8Unchecked(3);

            SMBIOS_Data.EntryPointStructureChecksum = Memory.Read8Unchecked(4);
            SMBIOS_Data.EntryPointLength            = Memory.Read8Unchecked(5);
            SMBIOS_Data.SMBIOSMajorVersion          = Memory.Read8Unchecked(6);
            SMBIOS_Data.SMBIOSMinorVersion          = Memory.Read8Unchecked(7);
            SMBIOS_Data.MaximumStructureSize        = Memory.Read16Unchecked(8);

            SMBIOS_Data.EntryPointRevision = Memory.Read8Unchecked(10);

            //5 Byte array
            SMBIOS_Data.FormattedArea[0] = Memory.Read8Unchecked(11);
            SMBIOS_Data.FormattedArea[1] = Memory.Read8Unchecked(12);
            SMBIOS_Data.FormattedArea[2] = Memory.Read8Unchecked(13);
            SMBIOS_Data.FormattedArea[3] = Memory.Read8Unchecked(14);
            SMBIOS_Data.FormattedArea[4] = Memory.Read8Unchecked(15);

            //5 Byte array
            SMBIOS_Data.IntermediateAnchorString[0] = Memory.Read8Unchecked(16);
            SMBIOS_Data.IntermediateAnchorString[1] = Memory.Read8Unchecked(17);
            SMBIOS_Data.IntermediateAnchorString[2] = Memory.Read8Unchecked(18);
            SMBIOS_Data.IntermediateAnchorString[3] = Memory.Read8Unchecked(19);
            SMBIOS_Data.IntermediateAnchorString[4] = Memory.Read8Unchecked(20);

            SMBIOS_Data.IntermediateChecksum     = Memory.Read8Unchecked(21);
            SMBIOS_Data.StructureTableLength     = Memory.Read16Unchecked(22);
            SMBIOS_Data.StructureTableAddress    = Memory.Read32Unchecked(24);
            SMBIOS_Data.NumberOfSMBIOSStructures = Memory.Read16Unchecked(28);
            SMBIOS_Data.SMBIOSBCDRevision        = Memory.Read8Unchecked(30);

            return(true);
        }
Exemplo n.º 2
0
        public bool GetSMBIOS_Data()
        {
            if( HasSMBIOS == false && CheckSMBIOS() == false )
                return false;

            Cosmos.Kernel.MemoryAddressSpace Memory = new Cosmos.Kernel.MemoryAddressSpace( SMBBIOSAddress, 32 );
            
            SMBIOS_Data = new SMBIOS_Data();
            
            //4 Byte array
            SMBIOS_Data.AnchorString[ 0 ] = Memory.Read8Unchecked( 0 );
            SMBIOS_Data.AnchorString[ 1 ] = Memory.Read8Unchecked( 1 );
            SMBIOS_Data.AnchorString[ 2 ] = Memory.Read8Unchecked( 2 );
            SMBIOS_Data.AnchorString[ 3 ] = Memory.Read8Unchecked( 3 );

            SMBIOS_Data.EntryPointStructureChecksum = Memory.Read8Unchecked( 4 );
            SMBIOS_Data.EntryPointLength = Memory.Read8Unchecked( 5 );
            SMBIOS_Data.SMBIOSMajorVersion = Memory.Read8Unchecked( 6 );
            SMBIOS_Data.SMBIOSMinorVersion = Memory.Read8Unchecked( 7 );
            SMBIOS_Data.MaximumStructureSize = Memory.Read16Unchecked( 8 );

            SMBIOS_Data.EntryPointRevision = Memory.Read8Unchecked( 10 );

            //5 Byte array
            SMBIOS_Data.FormattedArea[ 0 ] = Memory.Read8Unchecked( 11 );
            SMBIOS_Data.FormattedArea[ 1 ] = Memory.Read8Unchecked( 12 );
            SMBIOS_Data.FormattedArea[ 2 ] = Memory.Read8Unchecked( 13 );
            SMBIOS_Data.FormattedArea[ 3 ] = Memory.Read8Unchecked( 14 );
            SMBIOS_Data.FormattedArea[ 4 ] = Memory.Read8Unchecked( 15 );

            //5 Byte array
            SMBIOS_Data.IntermediateAnchorString[ 0 ] = Memory.Read8Unchecked( 16 );
            SMBIOS_Data.IntermediateAnchorString[ 1 ] = Memory.Read8Unchecked( 17 );
            SMBIOS_Data.IntermediateAnchorString[ 2 ] = Memory.Read8Unchecked( 18 );
            SMBIOS_Data.IntermediateAnchorString[ 3 ] = Memory.Read8Unchecked( 19 );
            SMBIOS_Data.IntermediateAnchorString[ 4 ] = Memory.Read8Unchecked( 20 );

            SMBIOS_Data.IntermediateChecksum = Memory.Read8Unchecked( 21 );
            SMBIOS_Data.StructureTableLength = Memory.Read16Unchecked( 22 );
            SMBIOS_Data.StructureTableAddress = Memory.Read32Unchecked( 24 );
            SMBIOS_Data.NumberOfSMBIOSStructures = Memory.Read16Unchecked( 28 );
            SMBIOS_Data.SMBIOSBCDRevision = Memory.Read8Unchecked( 30 );

            return true;
        }