|
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
#pragma warning disable CS1591,CS1573,CS0465,CS0649,CS8019,CS1570,CS1584,CS1658,CS0436,CS8981
using global::System;
using global::System.Diagnostics;
using global::System.Diagnostics.CodeAnalysis;
using global::System.Runtime.CompilerServices;
using global::System.Runtime.InteropServices;
using global::System.Runtime.Versioning;
using winmdroot = global::Windows.Win32;
namespace Windows.Win32
{
namespace UI.Shell
{
[Guid("E6FDD21A-163F-4975-9C8C-A69F1BA37034")]
[SupportedOSPlatform("windows6.0.6000")]
[global::System.CodeDom.Compiler.GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")]
internal unsafe partial struct IFileDialogCustomize
:IVTable<IFileDialogCustomize,IFileDialogCustomize.Vtbl>,IComIID {
/// <inheritdoc cref="QueryInterface(global::System.Guid*, void**)"/>
internal unsafe winmdroot.Foundation.HRESULT QueryInterface(in global::System.Guid riid, out void* ppvObject)
{
fixed (void** ppvObjectLocal = &ppvObject)
{
fixed (global::System.Guid* riidLocal = &riid)
{
winmdroot.Foundation.HRESULT __result = this.QueryInterface(riidLocal, ppvObjectLocal);
return __result;
}
}
}
public unsafe winmdroot.Foundation.HRESULT QueryInterface(global::System.Guid* riid, void** ppvObject)
{
return ((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,global::System.Guid* ,void** ,winmdroot.Foundation.HRESULT>)lpVtbl[0])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), riid, ppvObject);
}
public uint AddRef()
{
return ((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint>)lpVtbl[1])((IFileDialogCustomize*)Unsafe.AsPointer(ref this));
}
public uint Release()
{
return ((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint>)lpVtbl[2])((IFileDialogCustomize*)Unsafe.AsPointer(ref this));
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT EnableOpenDropDown(IFileDialogCustomize* pThis, uint dwIDCtl)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.EnableOpenDropDown(dwIDCtl);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Enables a drop-down list on the Open or Save button in the dialog.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the drop-down list.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-enableopendropdown#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>
/// <para>The Open or Save button label takes on the text of the first item in the drop-down. This overrides any label set by <a href="https://docs.microsoft.com/windows/desktop/api/shobjidl_core/nf-shobjidl_core-ifiledialog-setokbuttonlabel">IFileDialog::SetOkButtonLabel</a>. Use <a href="https://docs.microsoft.com/windows/desktop/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addcontrolitem">IFileDialogCustomize::AddControlItem</a> to add items to the drop-down.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-enableopendropdown#">Read more on docs.microsoft.com</see>.</para>
/// </remarks>
public void EnableOpenDropDown(uint dwIDCtl)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.HRESULT>)lpVtbl[3])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl).ThrowOnFailure();
}
/// <inheritdoc cref="AddMenu(uint, winmdroot.Foundation.PCWSTR)"/>
internal unsafe void AddMenu(uint dwIDCtl, string pszLabel)
{
fixed (char* pszLabelLocal = pszLabel)
{
this.AddMenu(dwIDCtl, pszLabelLocal);
}
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT AddMenu(IFileDialogCustomize* pThis, uint dwIDCtl, winmdroot.Foundation.PCWSTR pszLabel)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.AddMenu(dwIDCtl, pszLabel);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Adds a menu to the dialog.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the menu to add.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addmenu#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="pszLabel">
/// <para>Type: <b>LPCWSTR</b> A pointer to a buffer that contains the menu name as a null-terminated Unicode string.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addmenu#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>
/// <para>The default state for this control is enabled and visible. To add items to this control, use <a href="https://docs.microsoft.com/windows/desktop/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addcontrolitem">IFileDialogCustomize::AddControlItem</a>.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addmenu#">Read more on docs.microsoft.com</see>.</para>
/// </remarks>
public void AddMenu(uint dwIDCtl, winmdroot.Foundation.PCWSTR pszLabel)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.HRESULT>)lpVtbl[4])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, pszLabel).ThrowOnFailure();
}
/// <inheritdoc cref="AddPushButton(uint, winmdroot.Foundation.PCWSTR)"/>
internal unsafe void AddPushButton(uint dwIDCtl, string pszLabel)
{
fixed (char* pszLabelLocal = pszLabel)
{
this.AddPushButton(dwIDCtl, pszLabelLocal);
}
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT AddPushButton(IFileDialogCustomize* pThis, uint dwIDCtl, winmdroot.Foundation.PCWSTR pszLabel)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.AddPushButton(dwIDCtl, pszLabel);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Adds a button to the dialog.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the button to add.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addpushbutton#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="pszLabel">
/// <para>Type: <b>LPCWSTR</b> A pointer to a buffer that contains the button text as a null-terminated Unicode string.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addpushbutton#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>The default state for this control is enabled and visible.</remarks>
public void AddPushButton(uint dwIDCtl, winmdroot.Foundation.PCWSTR pszLabel)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.HRESULT>)lpVtbl[5])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, pszLabel).ThrowOnFailure();
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT AddComboBox(IFileDialogCustomize* pThis, uint dwIDCtl)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.AddComboBox(dwIDCtl);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Adds a combo box to the dialog.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the combo box to add.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addcombobox#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>The default state for this control is enabled and visible.</remarks>
public void AddComboBox(uint dwIDCtl)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.HRESULT>)lpVtbl[6])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl).ThrowOnFailure();
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT AddRadioButtonList(IFileDialogCustomize* pThis, uint dwIDCtl)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.AddRadioButtonList(dwIDCtl);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Adds an option button (also known as radio button) group to the dialog.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the option button group to add.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addradiobuttonlist#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>The default state for this control is enabled and visible.</remarks>
public void AddRadioButtonList(uint dwIDCtl)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.HRESULT>)lpVtbl[7])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl).ThrowOnFailure();
}
/// <inheritdoc cref="AddCheckButton(uint, winmdroot.Foundation.PCWSTR, winmdroot.Foundation.BOOL)"/>
internal unsafe void AddCheckButton(uint dwIDCtl, string pszLabel, winmdroot.Foundation.BOOL bChecked)
{
fixed (char* pszLabelLocal = pszLabel)
{
this.AddCheckButton(dwIDCtl, pszLabelLocal, bChecked);
}
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT AddCheckButton(IFileDialogCustomize* pThis, uint dwIDCtl, winmdroot.Foundation.PCWSTR pszLabel, winmdroot.Foundation.BOOL bChecked)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.AddCheckButton(dwIDCtl, pszLabel, bChecked);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Adds a check button (check box) to the dialog.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the check button to add.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addcheckbutton#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="pszLabel">
/// <para>Type: <b>LPCWSTR</b> A pointer to a buffer that contains the button text as a null-terminated Unicode string.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addcheckbutton#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="bChecked">
/// <para>Type: <b>BOOL</b> A <b>BOOL</b> indicating the current state of the check button. <b>TRUE</b> if checked; <b>FALSE</b> otherwise.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addcheckbutton#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>The default state for this control is enabled and visible.</remarks>
public void AddCheckButton(uint dwIDCtl, winmdroot.Foundation.PCWSTR pszLabel, winmdroot.Foundation.BOOL bChecked)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.BOOL ,winmdroot.Foundation.HRESULT>)lpVtbl[8])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, pszLabel, bChecked).ThrowOnFailure();
}
/// <inheritdoc cref="AddEditBox(uint, winmdroot.Foundation.PCWSTR)"/>
internal unsafe void AddEditBox(uint dwIDCtl, string pszText)
{
fixed (char* pszTextLocal = pszText)
{
this.AddEditBox(dwIDCtl, pszTextLocal);
}
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT AddEditBox(IFileDialogCustomize* pThis, uint dwIDCtl, winmdroot.Foundation.PCWSTR pszText)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.AddEditBox(dwIDCtl, pszText);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Adds an edit box control to the dialog.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the edit box to add.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addeditbox#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="pszText">
/// <para>Type: <b>LPCWSTR</b> A pointer to a null-terminated Unicode string that provides the default text displayed in the edit box.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addeditbox#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>
/// <para>The default state for this control is enabled and visible. To add a label next to the edit box, place it in a visual group with <a href="https://docs.microsoft.com/windows/desktop/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-startvisualgroup">IFileDialogCustomize::StartVisualGroup</a>.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addeditbox#">Read more on docs.microsoft.com</see>.</para>
/// </remarks>
public void AddEditBox(uint dwIDCtl, winmdroot.Foundation.PCWSTR pszText)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.HRESULT>)lpVtbl[9])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, pszText).ThrowOnFailure();
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT AddSeparator(IFileDialogCustomize* pThis, uint dwIDCtl)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.AddSeparator(dwIDCtl);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Adds a separator to the dialog, allowing a visual separation of controls.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The control ID of the separator.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addseparator#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>The default state for this control is enabled and visible.</remarks>
public void AddSeparator(uint dwIDCtl)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.HRESULT>)lpVtbl[10])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl).ThrowOnFailure();
}
/// <inheritdoc cref="AddText(uint, winmdroot.Foundation.PCWSTR)"/>
internal unsafe void AddText(uint dwIDCtl, string pszText)
{
fixed (char* pszTextLocal = pszText)
{
this.AddText(dwIDCtl, pszTextLocal);
}
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT AddText(IFileDialogCustomize* pThis, uint dwIDCtl, winmdroot.Foundation.PCWSTR pszText)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.AddText(dwIDCtl, pszText);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Adds text content to the dialog.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the text to add.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addtext#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="pszText">
/// <para>Type: <b>LPCWSTR</b> A pointer to a buffer that contains the text as a null-terminated Unicode string.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addtext#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>The default state for this control is enabled and visible.</remarks>
public void AddText(uint dwIDCtl, winmdroot.Foundation.PCWSTR pszText)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.HRESULT>)lpVtbl[11])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, pszText).ThrowOnFailure();
}
/// <inheritdoc cref="SetControlLabel(uint, winmdroot.Foundation.PCWSTR)"/>
internal unsafe void SetControlLabel(uint dwIDCtl, string pszLabel)
{
fixed (char* pszLabelLocal = pszLabel)
{
this.SetControlLabel(dwIDCtl, pszLabelLocal);
}
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT SetControlLabel(IFileDialogCustomize* pThis, uint dwIDCtl, winmdroot.Foundation.PCWSTR pszLabel)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.SetControlLabel(dwIDCtl, pszLabel);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Sets the text associated with a control, such as button text or an edit box label.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the control whose text is to be changed.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-setcontrollabel#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="pszLabel">
/// <para>Type: <b>LPCWSTR</b> A pointer to a buffer that contains the text as a null-terminated Unicode string.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-setcontrollabel#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>Control labels can be changed at any time, including when the dialog is visible.</remarks>
public void SetControlLabel(uint dwIDCtl, winmdroot.Foundation.PCWSTR pszLabel)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.HRESULT>)lpVtbl[12])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, pszLabel).ThrowOnFailure();
}
/// <inheritdoc cref="GetControlState(uint, winmdroot.UI.Shell.CDCONTROLSTATEF*)"/>
internal unsafe void GetControlState(uint dwIDCtl, out winmdroot.UI.Shell.CDCONTROLSTATEF pdwState)
{
fixed (winmdroot.UI.Shell.CDCONTROLSTATEF* pdwStateLocal = &pdwState)
{
this.GetControlState(dwIDCtl, pdwStateLocal);
}
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT GetControlState(IFileDialogCustomize* pThis, uint dwIDCtl, winmdroot.UI.Shell.CDCONTROLSTATEF* pdwState)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.GetControlState(dwIDCtl, pdwState);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Gets the current visibility and enabled states of a given control.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the control in question.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-getcontrolstate#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="pdwState">
/// <para>Type: <b>CDCONTROLSTATEF*</b> A pointer to a variable that receives one or more values from the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/bb762483(v=vs.85)">CDCONTROLSTATE</a> enumeration that indicate the current state of the control.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-getcontrolstate#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-getcontrolstate">Learn more about this API from docs.microsoft.com</see>.</para>
/// </remarks>
public unsafe void GetControlState(uint dwIDCtl, winmdroot.UI.Shell.CDCONTROLSTATEF* pdwState)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.UI.Shell.CDCONTROLSTATEF* ,winmdroot.Foundation.HRESULT>)lpVtbl[13])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, pdwState).ThrowOnFailure();
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT SetControlState(IFileDialogCustomize* pThis, uint dwIDCtl, winmdroot.UI.Shell.CDCONTROLSTATEF dwState)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.SetControlState(dwIDCtl, dwState);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Sets the current visibility and enabled states of a given control.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the control in question.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-setcontrolstate#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="dwState">
/// <para>Type: <b>CDCONTROLSTATEF</b> One or more values from the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/bb762483(v=vs.85)">CDCONTROLSTATE</a> enumeration that indicate the current state of the control.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-setcontrolstate#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>When the dialog is shown, controls cannot be added or removed, but the existing controls can be hidden or disabled at any time.</remarks>
public void SetControlState(uint dwIDCtl, winmdroot.UI.Shell.CDCONTROLSTATEF dwState)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.UI.Shell.CDCONTROLSTATEF ,winmdroot.Foundation.HRESULT>)lpVtbl[14])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, dwState).ThrowOnFailure();
}
/// <inheritdoc cref="GetEditBoxText(uint, ushort**)"/>
internal unsafe void GetEditBoxText(uint dwIDCtl, out ushort* ppszText)
{
fixed (ushort** ppszTextLocal = &ppszText)
{
this.GetEditBoxText(dwIDCtl, ppszTextLocal);
}
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT GetEditBoxText(IFileDialogCustomize* pThis, uint dwIDCtl, ushort** ppszText)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.GetEditBoxText(dwIDCtl, ppszText);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Gets the current text in an edit box control.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the edit box.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-geteditboxtext#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="ppszText">
/// <para>Type: <b>WCHAR**</b> The address of a pointer to a buffer that receives the text as a null-terminated Unicode string.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-geteditboxtext#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>It is the responsibility of the calling application to free the buffer referenced by <i>ppszText</i> when it is no longer needed. Use <a href="https://docs.microsoft.com/windows/desktop/api/combaseapi/nf-combaseapi-cotaskmemfree">CoTaskMemFree</a> to free the buffer.</remarks>
public unsafe void GetEditBoxText(uint dwIDCtl, ushort** ppszText)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,ushort** ,winmdroot.Foundation.HRESULT>)lpVtbl[15])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, ppszText).ThrowOnFailure();
}
/// <inheritdoc cref="SetEditBoxText(uint, winmdroot.Foundation.PCWSTR)"/>
internal unsafe void SetEditBoxText(uint dwIDCtl, string pszText)
{
fixed (char* pszTextLocal = pszText)
{
this.SetEditBoxText(dwIDCtl, pszTextLocal);
}
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT SetEditBoxText(IFileDialogCustomize* pThis, uint dwIDCtl, winmdroot.Foundation.PCWSTR pszText)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.SetEditBoxText(dwIDCtl, pszText);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Sets the text in an edit box control found in the dialog.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the edit box.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-seteditboxtext#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="pszText">
/// <para>Type: <b>LPCWSTR</b> A pointer to a buffer that contains the text as a null-terminated Unicode string.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-seteditboxtext#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-seteditboxtext">Learn more about this API from docs.microsoft.com</see>.</para>
/// </remarks>
public void SetEditBoxText(uint dwIDCtl, winmdroot.Foundation.PCWSTR pszText)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.HRESULT>)lpVtbl[16])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, pszText).ThrowOnFailure();
}
/// <inheritdoc cref="GetCheckButtonState(uint, winmdroot.Foundation.BOOL*)"/>
internal unsafe void GetCheckButtonState(uint dwIDCtl, out winmdroot.Foundation.BOOL pbChecked)
{
fixed (winmdroot.Foundation.BOOL* pbCheckedLocal = &pbChecked)
{
this.GetCheckButtonState(dwIDCtl, pbCheckedLocal);
}
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT GetCheckButtonState(IFileDialogCustomize* pThis, uint dwIDCtl, winmdroot.Foundation.BOOL* pbChecked)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.GetCheckButtonState(dwIDCtl, pbChecked);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Gets the current state of a check button (check box) in the dialog.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the check box.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-getcheckbuttonstate#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="pbChecked">
/// <para>Type: <b>BOOL*</b> The address of a <b>BOOL</b> value that indicates whether the box is checked. <b>TRUE</b> means checked; <b>FALSE</b>, unchecked.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-getcheckbuttonstate#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-getcheckbuttonstate">Learn more about this API from docs.microsoft.com</see>.</para>
/// </remarks>
public unsafe void GetCheckButtonState(uint dwIDCtl, winmdroot.Foundation.BOOL* pbChecked)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.BOOL* ,winmdroot.Foundation.HRESULT>)lpVtbl[17])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, pbChecked).ThrowOnFailure();
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT SetCheckButtonState(IFileDialogCustomize* pThis, uint dwIDCtl, winmdroot.Foundation.BOOL bChecked)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.SetCheckButtonState(dwIDCtl, bChecked);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Sets the state of a check button (check box) in the dialog.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the check box.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-setcheckbuttonstate#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="bChecked">
/// <para>Type: <b>BOOL</b> A <b>BOOL</b> value that indicates whether the box is checked. <b>TRUE</b> means checked; <b>FALSE</b>, unchecked.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-setcheckbuttonstate#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-setcheckbuttonstate">Learn more about this API from docs.microsoft.com</see>.</para>
/// </remarks>
public void SetCheckButtonState(uint dwIDCtl, winmdroot.Foundation.BOOL bChecked)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.BOOL ,winmdroot.Foundation.HRESULT>)lpVtbl[18])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, bChecked).ThrowOnFailure();
}
/// <inheritdoc cref="AddControlItem(uint, uint, winmdroot.Foundation.PCWSTR)"/>
internal unsafe void AddControlItem(uint dwIDCtl, uint dwIDItem, string pszLabel)
{
fixed (char* pszLabelLocal = pszLabel)
{
this.AddControlItem(dwIDCtl, dwIDItem, pszLabelLocal);
}
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT AddControlItem(IFileDialogCustomize* pThis, uint dwIDCtl, uint dwIDItem, winmdroot.Foundation.PCWSTR pszLabel)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.AddControlItem(dwIDCtl, dwIDItem, pszLabel);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Adds an item to a container control in the dialog.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the container control to which the item is to be added.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addcontrolitem#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="dwIDItem">
/// <para>Type: <b>DWORD</b> The ID of the item.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addcontrolitem#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="pszLabel">
/// <para>Type: <b>LPCWSTR</b> A pointer to a buffer that contains the item's text, which can be either a label or, in the case of a drop-down list, the item itself. This text is a null-terminated Unicode string.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addcontrolitem#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>
/// <para>The default state for this item is enabled and visible. Items in control groups cannot be changed after they have been created, with the exception of their enabled and visible states. Container controls include option button groups, combo boxes, drop-down lists on the <b>Open</b> or <b>Save</b> button, and menus.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-addcontrolitem#">Read more on docs.microsoft.com</see>.</para>
/// </remarks>
public void AddControlItem(uint dwIDCtl, uint dwIDItem, winmdroot.Foundation.PCWSTR pszLabel)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.HRESULT>)lpVtbl[19])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, dwIDItem, pszLabel).ThrowOnFailure();
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT RemoveControlItem(IFileDialogCustomize* pThis, uint dwIDCtl, uint dwIDItem)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.RemoveControlItem(dwIDCtl, dwIDItem);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Removes an item from a container control in the dialog.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the container control from which the item is to be removed.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-removecontrolitem#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="dwIDItem">
/// <para>Type: <b>DWORD</b> The ID of the item.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-removecontrolitem#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>Container controls include option button groups, combo boxes, drop-down lists on the <b>Open</b> or <b>Save</b> button, and menus.</remarks>
public void RemoveControlItem(uint dwIDCtl, uint dwIDItem)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,uint ,winmdroot.Foundation.HRESULT>)lpVtbl[20])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, dwIDItem).ThrowOnFailure();
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT RemoveAllControlItems(IFileDialogCustomize* pThis, uint dwIDCtl)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.RemoveAllControlItems(dwIDCtl);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Not implemented. (IFileDialogCustomize.RemoveAllControlItems)</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the container control from which to remove the items.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-removeallcontrolitems#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-removeallcontrolitems">Learn more about this API from docs.microsoft.com</see>.</para>
/// </remarks>
public void RemoveAllControlItems(uint dwIDCtl)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.HRESULT>)lpVtbl[21])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl).ThrowOnFailure();
}
/// <inheritdoc cref="GetControlItemState(uint, uint, winmdroot.UI.Shell.CDCONTROLSTATEF*)"/>
internal unsafe void GetControlItemState(uint dwIDCtl, uint dwIDItem, out winmdroot.UI.Shell.CDCONTROLSTATEF pdwState)
{
fixed (winmdroot.UI.Shell.CDCONTROLSTATEF* pdwStateLocal = &pdwState)
{
this.GetControlItemState(dwIDCtl, dwIDItem, pdwStateLocal);
}
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT GetControlItemState(IFileDialogCustomize* pThis, uint dwIDCtl, uint dwIDItem, winmdroot.UI.Shell.CDCONTROLSTATEF* pdwState)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.GetControlItemState(dwIDCtl, dwIDItem, pdwState);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Gets the current state of an item in a container control found in the dialog.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the container control.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-getcontrolitemstate#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="dwIDItem">
/// <para>Type: <b>DWORD</b> The ID of the item.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-getcontrolitemstate#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="pdwState">
/// <para>Type: <b>CDCONTROLSTATEF*</b> A pointer to a variable that receives one of more values from the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/bb762483(v=vs.85)">CDCONTROLSTATE</a> enumeration that indicate the current state of the control.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-getcontrolitemstate#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>
/// <para>The default state of a control item is enabled and visible. Items in control groups cannot be changed after they have been created, with the exception of their enabled and visible states. Container controls include option button groups, combo boxes, drop-down lists on the <b>Open</b> or <b>Save</b> button, and menus.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-getcontrolitemstate#">Read more on docs.microsoft.com</see>.</para>
/// </remarks>
public unsafe void GetControlItemState(uint dwIDCtl, uint dwIDItem, winmdroot.UI.Shell.CDCONTROLSTATEF* pdwState)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,uint ,winmdroot.UI.Shell.CDCONTROLSTATEF* ,winmdroot.Foundation.HRESULT>)lpVtbl[22])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, dwIDItem, pdwState).ThrowOnFailure();
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT SetControlItemState(IFileDialogCustomize* pThis, uint dwIDCtl, uint dwIDItem, winmdroot.UI.Shell.CDCONTROLSTATEF dwState)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.SetControlItemState(dwIDCtl, dwIDItem, dwState);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Sets the current state of an item in a container control found in the dialog.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the container control.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-setcontrolitemstate#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="dwIDItem">
/// <para>Type: <b>DWORD</b> The ID of the item.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-setcontrolitemstate#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="dwState">
/// <para>Type: <b>CDCONTROLSTATEF</b> One or more values from the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/bb762483(v=vs.85)">CDCONTROLSTATE</a> enumeration that indicate the new state of the control.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-setcontrolitemstate#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>
/// <para>The default state of a control item is enabled and visible. Items in control groups cannot be changed after they have been created, with the exception of their enabled and visible states. Container controls include option button groups, combo boxes, drop-down lists on the <b>Open</b> or <b>Save</b> button, and menus.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-setcontrolitemstate#">Read more on docs.microsoft.com</see>.</para>
/// </remarks>
public void SetControlItemState(uint dwIDCtl, uint dwIDItem, winmdroot.UI.Shell.CDCONTROLSTATEF dwState)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,uint ,winmdroot.UI.Shell.CDCONTROLSTATEF ,winmdroot.Foundation.HRESULT>)lpVtbl[23])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, dwIDItem, dwState).ThrowOnFailure();
}
/// <inheritdoc cref="GetSelectedControlItem(uint, uint*)"/>
internal unsafe void GetSelectedControlItem(uint dwIDCtl, out uint pdwIDItem)
{
fixed (uint* pdwIDItemLocal = &pdwIDItem)
{
this.GetSelectedControlItem(dwIDCtl, pdwIDItemLocal);
}
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT GetSelectedControlItem(IFileDialogCustomize* pThis, uint dwIDCtl, uint* pdwIDItem)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.GetSelectedControlItem(dwIDCtl, pdwIDItem);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Gets a particular item from specified container controls in the dialog.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the container control.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-getselectedcontrolitem#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="pdwIDItem">
/// <para>Type: <b>DWORD*</b> The ID of the item that the user selected in the control.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-getselectedcontrolitem#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>
/// <para>To determine the user's final choice, this method can be called on option button groups, combo boxes, and drop-down lists on the <b>Open</b> or <b>Save</b> button after the dialog has closed. This method cannot be called on menus. For option button groups and combo boxes, this method can also be called while the dialog is showing, to determine the current choice.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-getselectedcontrolitem#">Read more on docs.microsoft.com</see>.</para>
/// </remarks>
public unsafe void GetSelectedControlItem(uint dwIDCtl, uint* pdwIDItem)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,uint* ,winmdroot.Foundation.HRESULT>)lpVtbl[24])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, pdwIDItem).ThrowOnFailure();
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT SetSelectedControlItem(IFileDialogCustomize* pThis, uint dwIDCtl, uint dwIDItem)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.SetSelectedControlItem(dwIDCtl, dwIDItem);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Sets the selected state of a particular item in an option button group or a combo box found in the dialog.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the container control.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-setselectedcontrolitem#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="dwIDItem">
/// <para>Type: <b>DWORD</b> The ID of the item to display as selected in the control.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-setselectedcontrolitem#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-setselectedcontrolitem">Learn more about this API from docs.microsoft.com</see>.</para>
/// </remarks>
public void SetSelectedControlItem(uint dwIDCtl, uint dwIDItem)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,uint ,winmdroot.Foundation.HRESULT>)lpVtbl[25])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, dwIDItem).ThrowOnFailure();
}
/// <inheritdoc cref="StartVisualGroup(uint, winmdroot.Foundation.PCWSTR)"/>
internal unsafe void StartVisualGroup(uint dwIDCtl, string pszLabel)
{
fixed (char* pszLabelLocal = pszLabel)
{
this.StartVisualGroup(dwIDCtl, pszLabelLocal);
}
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT StartVisualGroup(IFileDialogCustomize* pThis, uint dwIDCtl, winmdroot.Foundation.PCWSTR pszLabel)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.StartVisualGroup(dwIDCtl, pszLabel);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Declares a visual group in the dialog. Subsequent calls to any "add" method add those elements to this group.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the visual group.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-startvisualgroup#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="pszLabel">
/// <para>Type: <b>LPCWSTR</b> A pointer to a buffer that contains text, as a null-terminated Unicode string, that appears next to the visual group.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-startvisualgroup#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>
/// <para>Controls will continue to be added to this visual group until you call <a href="https://docs.microsoft.com/windows/desktop/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-endvisualgroup">IFileDialogCustomize::EndVisualGroup</a>.</para>
/// <para>A visual group can be hidden and disabled like any other control, except that doing so affects all of the controls within it. Individual members of the visual group can also be hidden and disabled singly.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-startvisualgroup#">Read more on docs.microsoft.com</see>.</para>
/// </remarks>
public void StartVisualGroup(uint dwIDCtl, winmdroot.Foundation.PCWSTR pszLabel)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.HRESULT>)lpVtbl[26])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, pszLabel).ThrowOnFailure();
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT EndVisualGroup(IFileDialogCustomize* pThis)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.EndVisualGroup();
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Stops the addition of elements to a visual group in the dialog.</summary>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-endvisualgroup">Learn more about this API from docs.microsoft.com</see>.</para>
/// </remarks>
public void EndVisualGroup()
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,winmdroot.Foundation.HRESULT>)lpVtbl[27])((IFileDialogCustomize*)Unsafe.AsPointer(ref this)).ThrowOnFailure();
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT MakeProminent(IFileDialogCustomize* pThis, uint dwIDCtl)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.MakeProminent(dwIDCtl);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Places a control in the dialog so that it stands out compared to other added controls.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the control.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-makeprominent#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>
/// <para>This method causes the control to be placed near the <b>Open</b> or <b>Save</b> button instead of being grouped with the rest of the custom controls. Only check buttons (check boxes), push buttons, combo boxes, and menus—or a visual group that contains only a single item of one of those types—can be made prominent. Only one control can be marked in this way. If a dialog has only one added control, that control is marked as prominent by default.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-makeprominent#">Read more on docs.microsoft.com</see>.</para>
/// </remarks>
public void MakeProminent(uint dwIDCtl)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.HRESULT>)lpVtbl[28])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl).ThrowOnFailure();
}
/// <inheritdoc cref="SetControlItemText(uint, uint, winmdroot.Foundation.PCWSTR)"/>
internal unsafe void SetControlItemText(uint dwIDCtl, uint dwIDItem, string pszLabel)
{
fixed (char* pszLabelLocal = pszLabel)
{
this.SetControlItemText(dwIDCtl, dwIDItem, pszLabelLocal);
}
}
[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
private static winmdroot.Foundation.HRESULT SetControlItemText(IFileDialogCustomize* pThis, uint dwIDCtl, uint dwIDItem, winmdroot.Foundation.PCWSTR pszLabel)
{
try
{
winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
if (__hr.Failed)
{
return __hr;
}
return __object.SetControlItemText(dwIDCtl, dwIDItem, pszLabel);
}
catch (Exception ex)
{
return (winmdroot.Foundation.HRESULT)ex.HResult;
}
}
/// <summary>Sets the text of a control item. For example, the text that accompanies a radio button or an item in a menu.</summary>
/// <param name="dwIDCtl">
/// <para>Type: <b>DWORD</b> The ID of the container control.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-setcontrolitemtext#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="dwIDItem">
/// <para>Type: <b>DWORD</b> The ID of the item.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-setcontrolitemtext#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <param name="pszLabel">
/// <para>Type: <b>LPCWSTR</b> A pointer to a null-terminated buffer that contains a Unicode string with the text.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-setcontrolitemtext#parameters">Read more on docs.microsoft.com</see>.</para>
/// </param>
/// <returns>
/// <para>Type: <b>HRESULT</b> If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
/// </returns>
/// <remarks>
/// <para>The default state of a control item is enabled and visible. Items in control groups cannot be changed after they have been created, with the exception of their enabled and visible states. Container controls include option button groups, combo boxes, drop-down lists on the <b>Open</b> or <b>Save</b> button, and menus.</para>
/// <para><see href="https://learn.microsoft.com/windows/win32/api/shobjidl_core/nf-shobjidl_core-ifiledialogcustomize-setcontrolitemtext#">Read more on docs.microsoft.com</see>.</para>
/// </remarks>
public void SetControlItemText(uint dwIDCtl, uint dwIDItem, winmdroot.Foundation.PCWSTR pszLabel)
{
((delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.HRESULT>)lpVtbl[29])((IFileDialogCustomize*)Unsafe.AsPointer(ref this), dwIDCtl, dwIDItem, pszLabel).ThrowOnFailure();
}
internal unsafe global::Windows.Win32.Foundation.HRESULT QueryInterface<T>(out T* ppv)
where T : unmanaged
{
var hr = this.QueryInterface(typeof(T).GUID, out void* pv);
if (hr.Succeeded)
{
ppv = (T*)pv;
}
else
{
ppv = null;
}
return hr;
}
internal struct Vtbl
{
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,global::System.Guid* ,void** ,winmdroot.Foundation.HRESULT> QueryInterface_1;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint> AddRef_2;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint> Release_3;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.HRESULT> EnableOpenDropDown_4;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.HRESULT> AddMenu_5;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.HRESULT> AddPushButton_6;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.HRESULT> AddComboBox_7;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.HRESULT> AddRadioButtonList_8;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.BOOL ,winmdroot.Foundation.HRESULT> AddCheckButton_9;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.HRESULT> AddEditBox_10;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.HRESULT> AddSeparator_11;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.HRESULT> AddText_12;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.HRESULT> SetControlLabel_13;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.UI.Shell.CDCONTROLSTATEF* ,winmdroot.Foundation.HRESULT> GetControlState_14;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.UI.Shell.CDCONTROLSTATEF ,winmdroot.Foundation.HRESULT> SetControlState_15;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,ushort** ,winmdroot.Foundation.HRESULT> GetEditBoxText_16;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.HRESULT> SetEditBoxText_17;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.BOOL* ,winmdroot.Foundation.HRESULT> GetCheckButtonState_18;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.BOOL ,winmdroot.Foundation.HRESULT> SetCheckButtonState_19;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.HRESULT> AddControlItem_20;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,uint ,winmdroot.Foundation.HRESULT> RemoveControlItem_21;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.HRESULT> RemoveAllControlItems_22;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,uint ,winmdroot.UI.Shell.CDCONTROLSTATEF* ,winmdroot.Foundation.HRESULT> GetControlItemState_23;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,uint ,winmdroot.UI.Shell.CDCONTROLSTATEF ,winmdroot.Foundation.HRESULT> SetControlItemState_24;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,uint* ,winmdroot.Foundation.HRESULT> GetSelectedControlItem_25;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,uint ,winmdroot.Foundation.HRESULT> SetSelectedControlItem_26;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.HRESULT> StartVisualGroup_27;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,winmdroot.Foundation.HRESULT> EndVisualGroup_28;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,winmdroot.Foundation.HRESULT> MakeProminent_29;
internal delegate *unmanaged [Stdcall]<IFileDialogCustomize*,uint ,uint ,winmdroot.Foundation.PCWSTR ,winmdroot.Foundation.HRESULT> SetControlItemText_30;
}
public static void PopulateVTable(Vtbl* vtable)
{
vtable->EnableOpenDropDown_4 = &EnableOpenDropDown;
vtable->AddMenu_5 = &AddMenu;
vtable->AddPushButton_6 = &AddPushButton;
vtable->AddComboBox_7 = &AddComboBox;
vtable->AddRadioButtonList_8 = &AddRadioButtonList;
vtable->AddCheckButton_9 = &AddCheckButton;
vtable->AddEditBox_10 = &AddEditBox;
vtable->AddSeparator_11 = &AddSeparator;
vtable->AddText_12 = &AddText;
vtable->SetControlLabel_13 = &SetControlLabel;
vtable->GetControlState_14 = &GetControlState;
vtable->SetControlState_15 = &SetControlState;
vtable->GetEditBoxText_16 = &GetEditBoxText;
vtable->SetEditBoxText_17 = &SetEditBoxText;
vtable->GetCheckButtonState_18 = &GetCheckButtonState;
vtable->SetCheckButtonState_19 = &SetCheckButtonState;
vtable->AddControlItem_20 = &AddControlItem;
vtable->RemoveControlItem_21 = &RemoveControlItem;
vtable->RemoveAllControlItems_22 = &RemoveAllControlItems;
vtable->GetControlItemState_23 = &GetControlItemState;
vtable->SetControlItemState_24 = &SetControlItemState;
vtable->GetSelectedControlItem_25 = &GetSelectedControlItem;
vtable->SetSelectedControlItem_26 = &SetSelectedControlItem;
vtable->StartVisualGroup_27 = &StartVisualGroup;
vtable->EndVisualGroup_28 = &EndVisualGroup;
vtable->MakeProminent_29 = &MakeProminent;
vtable->SetControlItemText_30 = &SetControlItemText;
}
private void** lpVtbl;
/// <summary>The IID guid for this interface.</summary>
/// <value>{e6fdd21a-163f-4975-9c8c-a69f1ba37034}</value>
internal static readonly Guid IID_Guid = new Guid(0xE6FDD21A, 0x163F, 0x4975, 0x9C, 0x8C, 0xA6, 0x9F, 0x1B, 0xA3, 0x70, 0x34);
static ref readonly Guid IComIID.Guid {
[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
{
ReadOnlySpan<byte> data = new byte[] {
0x1A,0xD2,0xFD,0xE6,0x3F,0x16,0x75,0x49,0x9C,0x8C,0xA6,0x9F,0x1B,0xA3,0x70,0x34 };
return ref Unsafe.As<byte,Guid>(ref MemoryMarshal.GetReference(data));
}
}
[Guid("E6FDD21A-163F-4975-9C8C-A69F1BA37034"),InterfaceType(ComInterfaceType.InterfaceIsIUnknown),ComImport()]
[SupportedOSPlatform("windows6.0.6000")]
internal interface Interface
{
[PreserveSig()]
winmdroot.Foundation.HRESULT EnableOpenDropDown(uint dwIDCtl);
[PreserveSig()]
winmdroot.Foundation.HRESULT AddMenu(uint dwIDCtl, winmdroot.Foundation.PCWSTR pszLabel);
[PreserveSig()]
winmdroot.Foundation.HRESULT AddPushButton(uint dwIDCtl, winmdroot.Foundation.PCWSTR pszLabel);
[PreserveSig()]
winmdroot.Foundation.HRESULT AddComboBox(uint dwIDCtl);
[PreserveSig()]
winmdroot.Foundation.HRESULT AddRadioButtonList(uint dwIDCtl);
[PreserveSig()]
winmdroot.Foundation.HRESULT AddCheckButton(uint dwIDCtl, winmdroot.Foundation.PCWSTR pszLabel, winmdroot.Foundation.BOOL bChecked);
[PreserveSig()]
winmdroot.Foundation.HRESULT AddEditBox(uint dwIDCtl, winmdroot.Foundation.PCWSTR pszText);
[PreserveSig()]
winmdroot.Foundation.HRESULT AddSeparator(uint dwIDCtl);
[PreserveSig()]
winmdroot.Foundation.HRESULT AddText(uint dwIDCtl, winmdroot.Foundation.PCWSTR pszText);
[PreserveSig()]
winmdroot.Foundation.HRESULT SetControlLabel(uint dwIDCtl, winmdroot.Foundation.PCWSTR pszLabel);
[PreserveSig()]
unsafe winmdroot.Foundation.HRESULT GetControlState(uint dwIDCtl, winmdroot.UI.Shell.CDCONTROLSTATEF* pdwState);
[PreserveSig()]
winmdroot.Foundation.HRESULT SetControlState(uint dwIDCtl, winmdroot.UI.Shell.CDCONTROLSTATEF dwState);
[PreserveSig()]
unsafe winmdroot.Foundation.HRESULT GetEditBoxText(uint dwIDCtl, ushort** ppszText);
[PreserveSig()]
winmdroot.Foundation.HRESULT SetEditBoxText(uint dwIDCtl, winmdroot.Foundation.PCWSTR pszText);
[PreserveSig()]
unsafe winmdroot.Foundation.HRESULT GetCheckButtonState(uint dwIDCtl, winmdroot.Foundation.BOOL* pbChecked);
[PreserveSig()]
winmdroot.Foundation.HRESULT SetCheckButtonState(uint dwIDCtl, winmdroot.Foundation.BOOL bChecked);
[PreserveSig()]
winmdroot.Foundation.HRESULT AddControlItem(uint dwIDCtl, uint dwIDItem, winmdroot.Foundation.PCWSTR pszLabel);
[PreserveSig()]
winmdroot.Foundation.HRESULT RemoveControlItem(uint dwIDCtl, uint dwIDItem);
[PreserveSig()]
winmdroot.Foundation.HRESULT RemoveAllControlItems(uint dwIDCtl);
[PreserveSig()]
unsafe winmdroot.Foundation.HRESULT GetControlItemState(uint dwIDCtl, uint dwIDItem, winmdroot.UI.Shell.CDCONTROLSTATEF* pdwState);
[PreserveSig()]
winmdroot.Foundation.HRESULT SetControlItemState(uint dwIDCtl, uint dwIDItem, winmdroot.UI.Shell.CDCONTROLSTATEF dwState);
[PreserveSig()]
unsafe winmdroot.Foundation.HRESULT GetSelectedControlItem(uint dwIDCtl, uint* pdwIDItem);
[PreserveSig()]
winmdroot.Foundation.HRESULT SetSelectedControlItem(uint dwIDCtl, uint dwIDItem);
[PreserveSig()]
winmdroot.Foundation.HRESULT StartVisualGroup(uint dwIDCtl, winmdroot.Foundation.PCWSTR pszLabel);
[PreserveSig()]
winmdroot.Foundation.HRESULT EndVisualGroup();
[PreserveSig()]
winmdroot.Foundation.HRESULT MakeProminent(uint dwIDCtl);
[PreserveSig()]
winmdroot.Foundation.HRESULT SetControlItemText(uint dwIDCtl, uint dwIDItem, winmdroot.Foundation.PCWSTR pszLabel);
}
}
}
}
|