If you are trying to read the contents of a specific address without knowing what type of data is held there, then one way of doing it is to call: Marshal.PtrToStringAnsi(ptr, length) where 'ptr' represents the address of the first byte and 'length' the number of bytes to be read. This returns the data in the form of a managed string (with each byte expanded to a 2-byte unicode character), which you can then examine Naveen