public static void ValidateDocument(ISymUnmanagedDocument document, string url, string algorithmId, byte[] checksum) { ValidateDocumentUrl(document, url); int actualCount, actualCount2; if (checksum != null) { Assert.Equal(HResult.S_OK, document.GetChecksum(0, out actualCount, null)); byte[] actualChecksum = new byte[actualCount]; Assert.Equal(HResult.S_OK, document.GetChecksum(actualCount, out actualCount2, actualChecksum)); Assert.Equal(actualCount, actualCount2); AssertEx.Equal(checksum, actualChecksum); } else { Assert.Equal(HResult.S_FALSE, document.GetChecksum(0, out actualCount, null)); Assert.Equal(0, actualCount); } var guid = Guid.NewGuid(); Assert.Equal(HResult.S_OK, document.GetChecksumAlgorithmId(ref guid)); Assert.Equal(algorithmId != null ? new Guid(algorithmId) : default(Guid), guid); guid = Guid.NewGuid(); Assert.Equal(HResult.S_OK, document.GetLanguageVendor(ref guid)); Assert.Equal(new Guid("994b45c4-e6e9-11d2-903f-00c04fa302a1"), guid); guid = Guid.NewGuid(); Assert.Equal(HResult.S_OK, document.GetDocumentType(ref guid)); Assert.Equal(new Guid("5a869d0b-6611-11d3-bd2a-0000f80849bd"), guid); }
public static Guid GetDocumentType(this ISymUnmanagedDocument document) { Guid result = default(Guid); int hr = document.GetDocumentType(ref result); ThrowExceptionForHR(hr); return(result); }
public static Guid GetDocumentType(this ISymUnmanagedDocument document) { if (document == null) { throw new ArgumentNullException(nameof(document)); } Guid result = default(Guid); ThrowExceptionForHR(document.GetDocumentType(ref result)); return(result); }
/// <summary> /// Defines copy of <c>document</c> in new symbols file. /// </summary> /// <param name="document">Document to be copied</param> /// <returns>Instance of <c>ISymUnmanagedDocumentWriter</c>, which is used to write <c>document</c> in symbole file.</returns> public ISymUnmanagedDocumentWriter DefineDocument(ISymUnmanagedDocument document) { if (State != WriterState.Building) { throw new TranslatingException("ISym* interfaces were not initializde. (EnC)"); } string url = document.GetURL(); Guid type = document.GetDocumentType(); Guid language = document.GetLanguage(); Guid langVendor = document.GetLanguageVendor(); IntPtr pUrl = Marshal.StringToCoTaskMemUni(url); try{ return(mWriter.__DefineDocument(pUrl, ref language, ref langVendor, ref type)); } finally { Marshal.FreeCoTaskMem(pUrl); } }
/// <summary> /// Defines copy of <c>document</c> in new symbols file. /// </summary> /// <param name="document">Document to be copied</param> /// <returns>Instance of <c>ISymUnmanagedDocumentWriter</c>, which is used to write <c>document</c> in symbole file.</returns> public ISymUnmanagedDocumentWriter DefineDocument(ISymUnmanagedDocument document) { if(State != WriterState.Building){ throw new TranslatingException("ISym* interfaces were not initializde. (EnC)"); } string url = document.GetURL(); Guid type = document.GetDocumentType(); Guid language = document.GetLanguage(); Guid langVendor = document.GetLanguageVendor(); IntPtr pUrl = Marshal.StringToCoTaskMemUni(url); try{ return mWriter.__DefineDocument(pUrl,ref language,ref langVendor,ref type); } finally { Marshal.FreeCoTaskMem(pUrl); } }