Ejemplo n.º 1
0
 private static string GetFusionString(Interop.IAssemblyName assemblyName, uint item)
 {
     string str = string.Empty;
     uint pcbProperty = 0;
     if ((assemblyName.GetProperty(item, IntPtr.Zero, ref pcbProperty) == 0) && (pcbProperty > 0))
     {
         IntPtr zero = IntPtr.Zero;
         try
         {
             zero = Marshal.AllocHGlobal((int) ((pcbProperty + 1) * 2));
             if (assemblyName.GetProperty(item, zero, ref pcbProperty) == 0)
             {
                 str = Marshal.PtrToStringUni(zero);
             }
         }
         finally
         {
             if (zero != IntPtr.Zero)
             {
                 Marshal.FreeHGlobal(zero);
             }
         }
     }
     return str;
 }