public void Free() { if (mpStructure != IntPtr.Zero) Marshal.FreeHGlobal(mpStructure); mpDevicePath = IntPtr.Zero; mpStructure = IntPtr.Zero; }