Table of contents:

Introduction

This page goes on about various (usually client-related) things that don't really have a home as their own page (yet?).

Sections that are deemed complete enough may be migrated to a dedicated page in the files category.

Object Reference

Otherwise known as an "MSNObject" or msnobj, an Object Reference is a reference to an Object stored in the Object Store.

Introduced in Client Version 6.0 with MSNP9.

msnobj

This element has six attributes:

This element has twelve optional attributes:

Examples

NOTE: The XML in these examples has been exploded for visibility and formatting reasons.

Plain

<msnobj
	Creator="example@hotmail.com"
	Size="889"
	Type="2"
	Location="example.png"
	Friendly="AAA="
	SHA1D="L/Q/zm2QjISFKvv2HBmxLr9lox8="
	SHA1C="MA0ktY4VStXZ0amX5uQyosUTOak="
/>

URL Encoded

%3Cmsnobj
	%20Creator%3D%22example%40hotmail.com%22
	%20Size%3D%2225235%22
	%20Type%3D%223%22
	%20Location%3D%22uexA4DE.dat%22
	%20Friendly%3D%22AAA%3D%22
	%20SHA1D%3D%22vP1ppB+xiFQ8ceZivRe0uCaYLIU%3D%22
	%20SHA1C%3D%22DBRJPnGb+wBYawENkdor1bOdYUs%3D%22
%2F%3E

XML Encoded

&lt;msnobj
	Creator=&quot;example%40hotmail.com&quot;
	Type=&quot;14&quot;
	SHA1D=&quot;2KLAaGhA2etdJPm61taqpbuGyd8=&quot;
	Size=&quot;267&quot;
	Location=&quot;0&quot;
	Friendly=&quot;RQB4AGEAbQBwAGwAZQAgAEwAbwBjAGEAdABpAG8AbgAgADEAAAA=&quot;
/&gt;

Object Store

The Object Store stores Objects based on their category.

A list of object categories the Object Store accepts:

Version 1

Version 1 Object Stores use map.dat files in each category folder.

Filenames are generated based of TFRxxxx.dat, where xxxx is up to 4 nybbles of hexadecimal. Leading zeros are truncated.

Version 2

Version 2 Object Stores contain the file objectstore.v2 in their root directory.

Instead of map.dat files, the format of SHA1D.id2 is used, where SHA1D is the base64-encoded SHA-1 hash of the object's data.

Filenames are based off the the SHA1D as well, as the format SHA1D.dt2.

NOTE: Version 2 Object Stores require that the MemberIdLow and MemberIdHigh fields of the initial profile to be a non-zero value.
If they are set to 0, trying to use the Object Store returns in a E_FAIL (0x80004005) HRESULT.

Location XML

Sent by Client Versions 8.1.0064 to 8.1.0068 for the "Share my location" feature.

Root

This element has two children:

Name

This element has only one attribute:

Location

This element has two children:

Latlong

This element has five attributes:

Address

This element has five attributes:

Example

NOTE: The XML in this example has been exploded for visibility and formatting reasons.

<Root>
	<Name
		name="Example Location 1"
	></Name>
	<Location>
		<Latlong
			lat="0.000000"
			long="0.000000"
			precision="3"
		></Latlong>
		<Address
			street="123 Example Street"
			city="Example City"
			state="Example State"
			code="123456"
			country="Example Country"
		></Address>
	</Location>
</Root>