// ------------------------------------------------------------------------------ // <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,SYSLIB1092,CS3021,CS3019 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 { /// <content> /// Contains extern methods from "OLEACC.dll". /// </content> internal static partial class PInvoke { /// <inheritdoc cref="CreateStdAccessibleObject(winmdroot.Foundation.HWND, int, global::System.Guid*, void**)"/> [SupportedOSPlatform("windows5.0")] [OverloadResolutionPriority(1)] internal static unsafe winmdroot.Foundation.HRESULT CreateStdAccessibleObject(winmdroot.Foundation.HWND hwnd, int idObject, in global::System.Guid riid, out void* ppvObject) { fixed (void** ppvObjectLocal = &ppvObject) { fixed (global::System.Guid* riidLocal = &riid) { winmdroot.Foundation.HRESULT __result = PInvoke.CreateStdAccessibleObject(hwnd, idObject, riidLocal, ppvObjectLocal); return __result; } } } /// <summary>Creates an accessible object with the methods and properties of the specified type of system-provided user interface element.</summary> /// <param name="hwnd"> /// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">HWND</a></b> Window handle of the system-provided user interface element (a control) for which an accessible object is created.</para> /// <para><see href="https://learn.microsoft.com/windows/win32/api/oleacc/nf-oleacc-createstdaccessibleobject#parameters">Read more on learn.microsoft.com</see>.</para> /// </param> /// <param name="idObject"> /// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">LONG</a></b> Object ID. This value is usually <a href="https://docs.microsoft.com/windows/desktop/WinAuto/object-identifiers">OBJID_CLIENT</a>, but it may be another object identifier.</para> /// <para><see href="https://learn.microsoft.com/windows/win32/api/oleacc/nf-oleacc-createstdaccessibleobject#parameters">Read more on learn.microsoft.com</see>.</para> /// </param> /// <param name="riid"> /// <para>Type: <b>REFIID</b> Reference identifier of the requested interface. This value is one of the following: IID_IAccessible, IID_IDispatch, IID_IEnumVARIANT, or IID_IUnknown.</para> /// <para><see href="https://learn.microsoft.com/windows/win32/api/oleacc/nf-oleacc-createstdaccessibleobject#parameters">Read more on learn.microsoft.com</see>.</para> /// </param> /// <param name="ppvObject"> /// <para>Type: <b>void**</b> Address of a pointer variable that receives the address of the specified interface.</para> /// <para><see href="https://learn.microsoft.com/windows/win32/api/oleacc/nf-oleacc-createstdaccessibleobject#parameters">Read more on learn.microsoft.com</see>.</para> /// </param> /// <returns> /// <para>Type: <b>STDAPI</b> If successful, returns S_OK. If not successful, returns a standard <a href="https://docs.microsoft.com/windows/desktop/WinAuto/return-values">COM error code</a>.</para> /// </returns> /// <remarks> /// <para>Server applications call this function when they contain a custom UI object that is similar to a system-provided object. Server developers can call <b>CreateStdAccessibleObject</b> to override the <a href="https://docs.microsoft.com/windows/desktop/api/oleacc/nn-oleacc-iaccessible">IAccessible</a> methods and properties as required to match their custom objects. Alternatively, server developers can use Dynamic Annotation to override specific properties without having to use difficult subclassing techniques that <b>CreateStdAccessibleObject</b> requires. Server developers should still use <b>CreateStdAccessibleObject</b> for structural changes, such as hiding a child element or creating a placeholder child element. This approach saves server developers the work of fully implementing all of the <b>IAccessible</b> properties and methods. This function is similar to <a href="https://docs.microsoft.com/windows/desktop/api/oleacc/nf-oleacc-createstdaccessibleproxya">CreateStdAccessibleProxy</a>, except that <b>CreateStdAccessibleProxy</b> allows you to specify the class name as a parameter whereas <b>CreateStdAccessibleObject</b> uses the class name associated with the <i>hwnd</i> parameter.</para> /// <para><see href="https://learn.microsoft.com/windows/win32/api/oleacc/nf-oleacc-createstdaccessibleobject#">Read more on learn.microsoft.com</see>.</para> /// </remarks> [DllImport("OLEACC.dll", ExactSpelling = true),DefaultDllImportSearchPaths(DllImportSearchPath.System32)] [SupportedOSPlatform("windows5.0")] internal static extern unsafe winmdroot.Foundation.HRESULT CreateStdAccessibleObject(winmdroot.Foundation.HWND hwnd, int idObject, global::System.Guid* riid, void** ppvObject); /// <inheritdoc cref="LresultFromObject(global::System.Guid*, winmdroot.Foundation.WPARAM, winmdroot.System.Com.IUnknown*)"/> [SupportedOSPlatform("windows5.0")] [OverloadResolutionPriority(1)] internal static unsafe winmdroot.Foundation.LRESULT LresultFromObject(in global::System.Guid riid, winmdroot.Foundation.WPARAM wParam, winmdroot.System.Com.IUnknown* punk) { fixed (global::System.Guid* riidLocal = &riid) { winmdroot.Foundation.LRESULT __result = PInvoke.LresultFromObject(riidLocal, wParam, punk); return __result; } } /// <summary>Returns a reference, similar to a handle, to the specified object. Servers return this reference when handling WM_GETOBJECT.</summary> /// <param name="riid"> /// <para>Type: <b>REFIID</b> Reference identifier of the interface provided to the client. This parameter is IID_IAccessible.</para> /// <para><see href="https://learn.microsoft.com/windows/win32/api/oleacc/nf-oleacc-lresultfromobject#parameters">Read more on learn.microsoft.com</see>.</para> /// </param> /// <param name="wParam"> /// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">WPARAM</a></b> Value sent by the associated [WM_GETOBJECT](/windows/win32/winauto/wm-getobject) message in its <i>wParam</i> parameter.</para> /// <para><see href="https://learn.microsoft.com/windows/win32/api/oleacc/nf-oleacc-lresultfromobject#parameters">Read more on learn.microsoft.com</see>.</para> /// </param> /// <param name="punk"> /// <para>Type: <b>LPUNKNOWN</b> Address of the <a href="https://docs.microsoft.com/windows/desktop/api/oleacc/nn-oleacc-iaccessible">IAccessible</a> interface to the object that corresponds to the [WM_GETOBJECT](/windows/win32/winauto/wm-getobject) message.</para> /// <para><see href="https://learn.microsoft.com/windows/win32/api/oleacc/nf-oleacc-lresultfromobject#parameters">Read more on learn.microsoft.com</see>.</para> /// </param> /// <returns> /// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">LRESULT</a></b> If successful, returns a positive value that is a reference to the object. If not successful, returns one of the values in the table that follows, or another standard <a href="https://docs.microsoft.com/windows/desktop/WinAuto/return-values">COM error code</a>. </para> /// <para>This doc was truncated.</para> /// </returns> /// <remarks> /// <para>Servers call this function only when handling the [WM_GETOBJECT](/windows/win32/winauto/wm-getobject) message. For an overview of how <b>LresultFromObject</b> is related to <b>WM_GETOBJECT</b>, see <a href="https://docs.microsoft.com/windows/desktop/WinAuto/how-wm-getobject-works">How WM_GETOBJECT Works</a>. <b>LresultFromObject</b> increments the object's reference count. If you are not storing the interface pointer passed to the function (that is, you create a new interface pointer for the object each time [WM_GETOBJECT](/windows/win32/winauto/wm-getobject) is received), call the object's <a href="https://docs.microsoft.com/windows/desktop/api/unknwn/nf-unknwn-iunknown-release">Release</a> method to decrement the reference count back to one. Then the client calls <b>Release</b> and the object is destroyed. For more information, see <a href="https://docs.microsoft.com/windows/desktop/WinAuto/how-to-handle-wm-getobject">How to Handle WM_GETOBJECT</a>. Each time a server processes [WM_GETOBJECT](/windows/win32/winauto/wm-getobject) for a specific object, it calls <b>LresultFromObject</b> to obtain a new reference to the object. Servers do not save the reference returned from <b>LresultFromObject</b> from one instance of processing <b>WM_GETOBJECT</b> to use as the message's return value when processing subsequent <b>WM_GETOBJECT</b> messages for the same object. This causes the client to receive an error.</para> /// <para><see href="https://learn.microsoft.com/windows/win32/api/oleacc/nf-oleacc-lresultfromobject#">Read more on learn.microsoft.com</see>.</para> /// </remarks> [DllImport("OLEACC.dll", ExactSpelling = true),DefaultDllImportSearchPaths(DllImportSearchPath.System32)] [SupportedOSPlatform("windows5.0")] internal static extern unsafe winmdroot.Foundation.LRESULT LresultFromObject(global::System.Guid* riid, winmdroot.Foundation.WPARAM wParam, winmdroot.System.Com.IUnknown* punk); } }