示例#1
0
        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);
        }
示例#2
0
        // 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);
            }
        }
示例#3
0
        public void WriteUnicodeString(string value)
        {
            NDRUnicodeString unicodeString = new NDRUnicodeString(value);

            unicodeString.Write(this);
        }
示例#4
0
        public string ReadUnicodeString()
        {
            NDRUnicodeString unicodeString = new NDRUnicodeString(this);

            return(unicodeString.Value);
        }
示例#5
0
 public void ReadEmbeddedStructureFullPointer(ref NDRUnicodeString structure)
 {
     ReadEmbeddedStructureFullPointer <NDRUnicodeString>(ref structure);
 }