|
// ------------------------------------------------------------------------------
// <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
{
/// <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")]
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 docs.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 docs.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 docs.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 docs.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 docs.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")]
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 docs.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 docs.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 docs.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 docs.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);
}
}
|