public void WriteTopLevelUnicodeStringPointer(string value) { if (value == null) { WriteUInt32(0); return; } // Note: We do not bother searching for existing values uint referentID = GetNextReferentID(); WriteUInt32(referentID); NDRUnicodeString unicodeString = new NDRUnicodeString(value); unicodeString.Write(this); m_referentToInstance.Add(referentID, unicodeString); }
// 14.3.11.1 - Top-level Full Pointers public string ReadTopLevelUnicodeStringPointer() { uint referentID = ReadUInt32(); if (referentID == 0) { return(null); } if (m_referentToInstance.ContainsKey(referentID)) { NDRUnicodeString unicodeString = (NDRUnicodeString)m_referentToInstance[referentID]; return(unicodeString.Value); } else { NDRUnicodeString unicodeString = new NDRUnicodeString(this); m_referentToInstance.Add(referentID, unicodeString); return(unicodeString.Value); } }
public void WriteUnicodeString(string value) { NDRUnicodeString unicodeString = new NDRUnicodeString(value); unicodeString.Write(this); }
public string ReadUnicodeString() { NDRUnicodeString unicodeString = new NDRUnicodeString(this); return(unicodeString.Value); }
public void ReadEmbeddedStructureFullPointer(ref NDRUnicodeString structure) { ReadEmbeddedStructureFullPointer <NDRUnicodeString>(ref structure); }