protected byte[] getPropertyData(ASM_NAME id) { uint len = 0; int hr = _name.GetProperty(id, IntPtr.Zero, ref len); if (hr == ComUtil.ERROR_INSUFFICIENT_BUFFER && len > 0) { IntPtr buf = Marshal.AllocCoTaskMem((int)len); ComUtil.ComCheck(_name.GetProperty(id, buf, ref len)); byte[] data = new byte[len]; Marshal.Copy(buf, data, 0, (int)len); Marshal.FreeCoTaskMem(buf); return(data); } else { return(new byte[0]); } }
internal string GetStringProperty(IAssemblyName name, ASM_NAME propertyName) { uint bufferSize = BufferLength; IntPtr buffer = Marshal.AllocHGlobal((int)bufferSize); name.GetProperty(propertyName, buffer, ref bufferSize); var stringVaule = Marshal.PtrToStringUni(buffer, (int)bufferSize); Marshal.FreeHGlobal(buffer); return(stringVaule); }
internal UInt16 GetShortProperty(IAssemblyName name, ASM_NAME propertyName) { uint bufferSize = 512; IntPtr buffer = Marshal.AllocHGlobal((int)bufferSize); name.GetProperty(propertyName, buffer, ref bufferSize); byte low = Marshal.ReadByte(buffer); byte high = Marshal.ReadByte(buffer, 1); Marshal.FreeHGlobal(buffer); return((UInt16)(low + (high << 8))); }
internal byte[] GetByteArrayProperty(IAssemblyName name, ASM_NAME propertyName) { uint bufferSize = 512; IntPtr buffer = Marshal.AllocHGlobal((int)bufferSize); name.GetProperty(propertyName, buffer, ref bufferSize); byte[] result = new byte[bufferSize]; for (int i = 0; i < bufferSize; i++) { result[i] = Marshal.ReadByte(buffer, i); } Marshal.FreeHGlobal(buffer); return(result); }
internal UInt32 GetDwordProperty(IAssemblyName name, ASM_NAME propertyName) { uint bufferSize = 512; IntPtr buffer = Marshal.AllocHGlobal((int)bufferSize); name.GetProperty(propertyName, buffer, ref bufferSize); byte a = Marshal.ReadByte(buffer); byte b = Marshal.ReadByte(buffer, 1); byte c = Marshal.ReadByte(buffer); byte d = Marshal.ReadByte(buffer, 1); Marshal.FreeHGlobal(buffer); return((UInt32)(a + (b << 8) + (c << 16) + (d << 24))); }
protected string getProperty(ASM_NAME id) { uint len = 0; int hr = _name.GetProperty(id, IntPtr.Zero, ref len); if (hr == ComUtil.ERROR_INSUFFICIENT_BUFFER && len > 0) { IntPtr buf = Marshal.AllocCoTaskMem((int)len); ComUtil.ComCheck(_name.GetProperty(id, buf, ref len)); string str = Marshal.PtrToStringUni(buf); Marshal.FreeCoTaskMem(buf); return(str); } else { return(""); } }
internal string GetStringProperty(IAssemblyName name, ASM_NAME propertyName) { uint bufferSize = BufferLength; IntPtr buffer = Marshal.AllocHGlobal((int)bufferSize); name.GetProperty(propertyName, buffer, ref bufferSize); var stringVaule = Marshal.PtrToStringUni(buffer, (int)bufferSize); Marshal.FreeHGlobal(buffer); return stringVaule; }
internal UInt16 GetShortProperty(IAssemblyName name, ASM_NAME propertyName) { uint bufferSize = 512; IntPtr buffer = Marshal.AllocHGlobal((int)bufferSize); name.GetProperty(propertyName, buffer, ref bufferSize); byte low = Marshal.ReadByte(buffer); byte high = Marshal.ReadByte(buffer, 1); Marshal.FreeHGlobal(buffer); return (UInt16)(low + (high << 8)); }
internal UInt32 GetDwordProperty(IAssemblyName name, ASM_NAME propertyName) { uint bufferSize = 512; IntPtr buffer = Marshal.AllocHGlobal((int)bufferSize); name.GetProperty(propertyName, buffer, ref bufferSize); byte a = Marshal.ReadByte(buffer); byte b = Marshal.ReadByte(buffer, 1); byte c = Marshal.ReadByte(buffer); byte d = Marshal.ReadByte(buffer, 1); Marshal.FreeHGlobal(buffer); return (UInt32)(a + (b << 8) + (c << 16) + (d << 24)); }
internal byte[] GetByteArrayProperty(IAssemblyName name, ASM_NAME propertyName) { uint bufferSize = 512; IntPtr buffer = Marshal.AllocHGlobal((int)bufferSize); name.GetProperty(propertyName, buffer, ref bufferSize); byte[] result = new byte[bufferSize]; for (int i = 0; i < bufferSize; i++) result[i] = Marshal.ReadByte(buffer, i); Marshal.FreeHGlobal(buffer); return result; }