public void Show() { if (mWnd == IntPtr.Zero) { byte[] data = mTemplate.CreateTemplate(); IntPtr hInstance = Win32.GetModuleHandle(null); IntPtr wnd = Win32.CreateDialogIndirectParamW(hInstance, data, IntPtr.Zero, mDelegate, IntPtr.Zero); int error = Marshal.GetLastWin32Error(); if (wnd != IntPtr.Zero) { mWnd = wnd; } else { string errorMessage = new System.ComponentModel.Win32Exception(error).Message; Debug.WriteLine($"Window creation failed: {error}: {errorMessage}"); } } }