I am trying to load a document into MSXML using it's IPersistStreamInit interface. I get a pointer to the IPersistStreamInit interface with no problem. I can load a document with no problems using an IStream interface created with URLCreateBlockingStream, but when I try to load using an IStream interface created with CreateStreamOnHGLOBAL it fails. I've even gone so far as to write the contents of the string I was trying to create a stream with using CreateStreamOnHGLOBAL to a file then using URLOpenBlockingStream to open this file which works. This tells me that the XML in the string is well formed. Anyone have any insight here? I'm guessing there is some setup associated with the IStream interface that's different between CreateStreamOnHGLOBAL and URLOpenBlockingStream.