• Home
  • Install
  • Cosmos Website
  • Articles
  • Cosmos
  • X#
  • IL2CPU
Show / Hide Table of Contents
  • Cosmos.Core
    • ACPI
    • ACPI.RSDPtr
    • Bootstrap
    • CPU
    • GCImplementation
    • GCTable
    • Global
    • INTs
    • INTs.EFlagsEnum
    • INTs.ExceptionInterruptDelegate
    • INTs.IRQContext
    • INTs.IRQDelegate
    • INTs.MMXContext
    • INTs.TSS
    • IOPort
    • KernelPanics
    • ManagedMemoryBlock
    • MemoryBlock
    • MemoryBlock08
    • MemoryBlock16
    • MemoryBlock32
    • MemoryMapBlock
    • MemoryOperations
    • PIC
    • PIC.Cmd
    • RawMemoryMapBlock
    • VTable
    • VTablesImpl
  • Cosmos.Core.IOGroup
    • ATA
    • PIC
    • PS2Controller
  • Cosmos.Core.Memory
    • Heap
    • HeapLarge
    • HeapMedium
    • HeapSmall
    • ObjectGCStatus
    • RAT
    • RAT.PageType
    • RootSMTBlock
    • SMTBlock
    • SMTPage
  • Cosmos.Core.MemoryGroup
    • AHCI
  • Cosmos.Core.Multiboot
    • Multiboot2
  • Cosmos.Core.Multiboot.Tags
    • AcpiNew
    • AcpiOld
    • BasicMemoryInformation
    • EFI64
    • Framebuffer
    • MB2Tag
    • MemoryMap
  • Cosmos.Core_Asm
    • ArrayClearAsm
    • ArrayGetLengthAsm
    • ArrayImpl
    • ArrayInternalCopyAsm
    • BufferBlockCopyAsm
    • BufferImpl
    • CPUCanReadCPUIDAsm
    • CPUDisableINTsAsm
    • CPUEnableINTsAsm
    • CPUGetEBPValue
    • CPUGetEndOfKernelAsm
    • CPUGetESPValue
    • CPUGetStackStart
    • CPUHaltAsm
    • CPUImpl
    • CPUInitFloatAsm
    • CPUInitSSEAsm
    • CPUReadCPUIDAsm
    • CPUReadModelSpecificRegisterAsm
    • CPUReadTimestampCounterAsm
    • CPUSetESPValue
    • CPUUpdateIDTAsm
    • CPUZeroFillAsm
    • DelegateCtorAsm
    • DelegateGetMulticastInvokeAsm
    • DelegateImpl
    • DelegateInvokeAsm
    • GCImplementationImpl
    • IOPortImpl
    • Multiboot2Impl
    • Multiboot2ImplAsm
    • RuntimeHelpersImpl
  • Cosmos.Core_Asm.MemoryOperations
    • MemoryOperationsCopy128BlocksAsm
    • MemoryOperationsCopy128BytesAsm
    • MemoryOperationsCopy16BytesAsm
    • MemoryOperationsCopy32BytesAsm
    • MemoryOperationsCopy64BytesAsm
    • MemoryOperationsFill16BlocksAsm
  • Cosmos.Debug.Kernel
    • Debugger
    • DebuggerFactory
  • Cosmos.HAL
    • BaudRate
    • Bootstrap
    • CardType
    • ClassID
    • COMPort
    • DataReceivedHandler
    • Device
    • DeviceID
    • Global
    • KeyboardBase
    • KeyboardBase.KeyPressedEventHandler
    • MouseBase
    • MouseBase.MouseChangedEventHandler
    • NetworkDevice
    • PCI
    • PCIBaseAddressBar
    • PCIDevice
    • PCIDevice.Config
    • PCIDevice.DeviceClass
    • PCIDevice.PCIBist
    • PCIDevice.PCICommand
    • PCIDevice.PCIHeaderType
    • PCIDevice.PCIInterruptPIN
    • PCIDeviceBridge
    • PCIDeviceCardbus
    • PCIDeviceNormal
    • PCSpeaker
    • PIT
    • PIT.PITTimer
    • PIT.PITTimer.OnTrigger
    • Power
    • ProgramIF
    • PS2Controller
    • PS2Keyboard
    • PS2Mouse
    • RTC
    • SerialPort
    • SpeakerExtensions
    • SubclassID
    • TextScreen
    • TextScreenBase
    • TextScreenHelpers
    • VendorID
  • Cosmos.HAL.Audio
    • AudioBitDepth
    • AudioBuffer
    • IAudioBufferProvider
    • SampleFormat
  • Cosmos.HAL.BlockDevice
    • AHCI
    • Ata
    • Ata.BusPositionEnum
    • Ata.ControllerIdEnum
    • ATA_PIO
    • ATA_PIO.Cmd
    • ATA_PIO.DvcSelVal
    • ATA_PIO.Ident
    • ATA_PIO.SpecLevel
    • ATA_PIO.Status
    • ATAPI
    • ATAPI.PacketCommands
    • BlockDevice
    • BlockDeviceType
    • EBR
    • EBR.PartInfo
    • GPT
    • GPT.GPartInfo
    • IDE
    • MBR
    • MBR.PartInfo
    • Partition
  • Cosmos.HAL.BlockDevice.Ports
    • SATA
    • SATAPI
    • StoragePort
  • Cosmos.HAL.BlockDevice.Registers
    • AHCISignature
    • ATACommands
    • ATADeviceStatus
    • Base
    • Bases
    • CommandAndStatus
    • CurrentInterfaceSpeedStatus
    • DeviceDetectionStatus
    • FISRegisterD2H
    • FISRegisterH2D
    • FISSize
    • FISType
    • GenericRegisters
    • HBACommandHeader
    • HBACommandTable
    • HBAPRDTEntry
    • InterfacePowerManagementStatus
    • InterruptEnable
    • InterruptStatus
    • PortRegisters
    • PortType
  • Cosmos.HAL.Drivers.Audio
    • AC97
    • AudioDriver
  • Cosmos.HAL.Drivers.Network
    • AMDPCNetII
    • E1000
    • E1000.RXDesc
    • E1000.TXDesc
    • E1000DeviceID
    • RTL8139
  • Cosmos.HAL.Drivers.USB
    • USBHost
  • Cosmos.HAL.Drivers.Video
    • VBEDriver
    • VGADriver
    • VGADriver.ColorDepth
    • VGADriver.ScreenSize
    • VGADriver.TextSize
  • Cosmos.HAL.Drivers.Video.SVGAII
    • Capability
    • FIFO
    • FIFOCommand
    • ID
    • IOPortOffset
    • Register
    • VMWareSVGAII
  • Cosmos.HAL.Network
    • MACAddress
    • NetworkInit
  • Cosmos.System
    • Console
    • ConsoleKeyEx
    • ConsoleKeyExExtensions
    • Durations
    • Global
    • Kernel
    • KeyboardManager
    • KeyEvent
    • KeyEvent.KeyEventType
    • KeyMapping
    • MouseManager
    • MouseState
    • Notes
    • PCSExtensions
    • PCSpeaker
    • Power
    • ScanMapBase
    • VMTools
  • Cosmos.System.Audio
    • AudioManager
    • AudioMixer
    • AudioStream
  • Cosmos.System.Audio.DSP.Processing
    • AudioPostProcessor
    • GainPostProcessor
  • Cosmos.System.Audio.IO
    • AudioBufferReader
    • AudioBufferReadWriteBase
    • AudioBufferWriter
    • MemoryAudioStream
    • SeekableAudioStream
  • Cosmos.System.ExtendedASCII
    • CosmosEncodingProvider
  • Cosmos.System.FileSystem
    • CosmosVFS
    • Disk
    • FileSystem
    • FileSystemFactory
    • ManagedPartition
  • Cosmos.System.FileSystem.FAT
    • FatFileSystemFactory
  • Cosmos.System.FileSystem.FAT.Listing
    • FatDirectoryEntryAttributeConsts
    • FatDirectoryEntryMetadata
    • FatDirectoryEntryMetadata.LongFilenameEntryMetadata
  • Cosmos.System.FileSystem.ISO9660
    • ISO9660FileSystem
    • ISO9660FileSystemFactory
  • Cosmos.System.FileSystem.Listing
    • DirectoryEntry
    • DirectoryEntryTypeEnum
  • Cosmos.System.FileSystem.VFS
    • FileSystemManager
    • VFSBase
    • VFSManager
  • Cosmos.System.Graphics
    • Bitmap
    • Canvas
    • ColorDepth
    • ColorOrder
    • FullScreenCanvas
    • Image
    • ImageFormat
    • Mode
    • SVGAIICanvas
    • VBECanvas
    • VGACanvas
    • VGAScreen
  • Cosmos.System.Graphics.Fonts
    • Font
    • PCScreenFont
    • UnicodeMapping
  • Cosmos.System.Helpers
    • ArrayHelper
  • Cosmos.System.IO
    • ConsoleStream
    • SyncTextReader
  • Cosmos.System.Keyboard
    • KeyEventHelper
  • Cosmos.System.Network
    • EthernetPacket
    • NetworkDebugger
    • NetworkStack
  • Cosmos.System.Network.ARP
    • ARPPacket
  • Cosmos.System.Network.Config
    • DNSConfig
    • IPConfig
    • NetworkConfig
    • NetworkConfiguration
  • Cosmos.System.Network.IPv4
    • Address
    • EndPoint
    • ICMPClient
    • ICMPPacket
    • IPPacket
    • OutgoingBuffer
  • Cosmos.System.Network.IPv4.TCP
    • Flags
    • Status
    • Tcp
    • TCPOption
    • TCPPacket
    • TransmissionControlBlock
  • Cosmos.System.Network.IPv4.UDP
    • UdpClient
    • UDPPacket
  • Cosmos.System.Network.IPv4.UDP.DHCP
    • DHCPClient
    • DHCPOption
    • DHCPPacket
  • Cosmos.System.Network.IPv4.UDP.DNS
    • DNSAnswer
    • DnsClient
    • DNSPacket
    • DNSPacketAnswer
    • DNSPacketAsk
    • DNSQuery
    • ReplyCode
  • Cosmos.System.ScanMaps
    • DEStandardLayout
    • ESStandardLayout
    • FRStandardLayout
    • GBStandardLayout
    • TRStandardLayout
    • US_Dvorak
    • USStandardLayout

Class ManagedMemoryBlock

ManagedMemoryBlock class. Used to read and write a managed memory block.

Inheritance
System.Object
ManagedMemoryBlock
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: Cosmos.Core
Assembly: Cosmos.Core.dll
Syntax
public class ManagedMemoryBlock

Constructors

| Improve this Doc View Source

ManagedMemoryBlock(UInt32)

Create a new buffer with the given size, not aligned

Declaration
public ManagedMemoryBlock(uint aByteCount)
Parameters
Type Name Description
System.UInt32 aByteCount
| Improve this Doc View Source

ManagedMemoryBlock(UInt32, Int32)

Create a new buffer with the given size, aligned on the byte boundary specified

Declaration
public ManagedMemoryBlock(uint aByteCount, int alignment)
Parameters
Type Name Description
System.UInt32 aByteCount
System.Int32 alignment

Byte Boundary alignment

| Improve this Doc View Source

ManagedMemoryBlock(UInt32, Int32, Boolean)

Create a new buffer with the given size, and aligned on the byte boundary if align is true

Declaration
public ManagedMemoryBlock(uint aByteCount, int aAlignment, bool aAlign)
Parameters
Type Name Description
System.UInt32 aByteCount

Size of buffer

System.Int32 aAlignment

Byte Boundary alignment

System.Boolean aAlign

true if buffer should be aligned, false otherwise

Fields

| Improve this Doc View Source

memory

Declaration
public byte[] memory
Field Value
Type Description
System.Byte[]
| Improve this Doc View Source

Offset

Offset.

Declaration
public ulong Offset
Field Value
Type Description
System.UInt64
| Improve this Doc View Source

Size

Size.

Declaration
public uint Size
Field Value
Type Description
System.UInt32

Properties

| Improve this Doc View Source

Item[UInt32]

Get or set the byte at the given offset

Declaration
public byte this[uint offset] { get; set; }
Parameters
Type Name Description
System.UInt32 offset

Address Offset

Property Value
Type Description
System.Byte

Byte value at given offset

Exceptions
Type Condition
System.ArgumentOutOfRangeException

Thrown on invalid offset.

Methods

| Improve this Doc View Source

Copy(MemoryBlock)

Copy MemoryBlock into ManagedMemoryBlock

Declaration
public void Copy(MemoryBlock block)
Parameters
Type Name Description
MemoryBlock block

MemoryBlock to copy.

| Improve this Doc View Source

Copy(Int32, Byte[], Int32, Int32)

Declaration
public void Copy(int aStart, byte[] aData, int aIndex, int aCount)
Parameters
Type Name Description
System.Int32 aStart
System.Byte[] aData
System.Int32 aIndex
System.Int32 aCount
| Improve this Doc View Source

Copy(Int32, Int32[], Int32, Int32)

Declaration
public void Copy(int aStart, int[] aData, int aIndex, int aCount)
Parameters
Type Name Description
System.Int32 aStart
System.Int32[] aData
System.Int32 aIndex
System.Int32 aCount
| Improve this Doc View Source

Fill(Int32, Int32, Int32)

Fill memory block with integer value

Declaration
public void Fill(int aByteOffset, int aCount, int aData)
Parameters
Type Name Description
System.Int32 aByteOffset

A starting position in the memory block. This is integer indexing based

System.Int32 aCount

Data size.

System.Int32 aData

A data to fill memory block with.

| Improve this Doc View Source

Fill(UInt32)

Fill memory block.

Declaration
public void Fill(uint aData)
Parameters
Type Name Description
System.UInt32 aData

A data to fill.

| Improve this Doc View Source

Fill(UInt32, UInt32, UInt32)

Fill memory block.

Declaration
public void Fill(uint aByteOffset, uint aCount, uint aData)
Parameters
Type Name Description
System.UInt32 aByteOffset

A start.

System.UInt32 aCount

A count.

System.UInt32 aData

A data.

| Improve this Doc View Source

Get(Int32, Int32[], Int32, Int32)

Copies data from the memory block to the specified array.

Declaration
public void Get(int aStart, int[] aData, int aIndex, int aCount)
Parameters
Type Name Description
System.Int32 aStart

The start index in the memory block from which to begin copying.

System.Int32[] aData

The array into which data will be copied.

System.Int32 aIndex

The starting index in the array where data will be copied.

System.Int32 aCount

The number of elements to copy.

| Improve this Doc View Source

Read16(UInt32)

Read 16-bit from the memory block.

Declaration
public ushort Read16(uint aByteOffset)
Parameters
Type Name Description
System.UInt32 aByteOffset

Data offset.

Returns
Type Description
System.UInt16

UInt16 value.

Exceptions
Type Condition
System.ArgumentOutOfRangeException

Thrown if offset if bigger than memory block size.

| Improve this Doc View Source

Read32(UInt32)

Read 32-bit from the memory block.

Declaration
public uint Read32(uint aByteOffset)
Parameters
Type Name Description
System.UInt32 aByteOffset

Data offset.

Returns
Type Description
System.UInt32

UInt32 value.

Exceptions
Type Condition
System.ArgumentOutOfRangeException

Thrown if offset if bigger than memory block size.

| Improve this Doc View Source

Write16(UInt32, UInt16)

Write 16-bit to the memory block.

Declaration
public void Write16(uint aByteOffset, ushort value)
Parameters
Type Name Description
System.UInt32 aByteOffset

Data offset.

System.UInt16 value

Value to write.

Exceptions
Type Condition
System.ArgumentOutOfRangeException

Thrown if offset if bigger than memory block size or smaller than 0.

| Improve this Doc View Source

Write32(UInt32, UInt32)

Write 32-bit to the memory block.

Declaration
public void Write32(uint aByteOffset, uint value)
Parameters
Type Name Description
System.UInt32 aByteOffset

Data offset.

System.UInt32 value

Value to write.

Exceptions
Type Condition
System.ArgumentOutOfRangeException

Thrown if offset if bigger than memory block size or smaller than 0.

| Improve this Doc View Source

Write8(UInt32, Byte)

Write 8-bit to the memory block.

Declaration
public void Write8(uint aByteOffset, byte value)
Parameters
Type Name Description
System.UInt32 aByteOffset

Data offset.

System.Byte value

Value to write.

Exceptions
Type Condition
System.ArgumentOutOfRangeException

Thrown if offset if bigger than memory block size or smaller than 0.

| Improve this Doc View Source

WriteString(UInt32, String)

Write string to the memory block.

Declaration
public void WriteString(uint aByteOffset, string value)
Parameters
Type Name Description
System.UInt32 aByteOffset

Data offset.

System.String value

Value to write.

Exceptions
Type Condition
System.ArgumentOutOfRangeException

Thrown if offset if bigger than memory block size or smaller than 0.

  • Improve this Doc
  • View Source
☀
☾
In This Article
Back to top
☀
☾