<?xml version="1.0"?>
<doc>
    <assembly>
        <name>YourPhone.Utilities</name>
    </assembly>
    <members>
        <member name="M:YourPhone.Utilities.ActionLogger.GetProperties(System.Object)">
            <summary>
            Converts an ILogger state object into a set of key-value pairs (That can be send to a EventSource)
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.DirectLaunchUtils.EnableDirectLaunchForProtocol(System.IntPtr,System.String,System.UInt32,System.UInt32)">
             <summary>
             This method register special magic with the provided window handle to enable
             the DirectLaunch/Speed of light Launch feature in Windows.
            
             This speeds up protocol launches as it means we don't need to spin up a new process,
             find the main process, and redirect the activation which all add delays.
             Instead Windows will seend a special message to our window with the uri so we can
             handle it directly in our already running process.
             </summary>
             <param name="windowHandle">The window handle that will receive the special mesages.</param>
             <param name="protocol">The protocol to register for DirectLaunch. NOTE: only some protocol are allowed.</param>
             <param name="copyMessageId">The id that will be set inside a WM_COPYDATA message to identity the DirectLaunch payload.</param>
             <param name="windowMessageId">The window merssage that will be send for tile activation.</param>
             <returns>A disposable that when disposed unregisters the protocol.</returns>
        </member>
        <member name="M:YourPhone.Utilities.Extensions.DependencyObjectExtensions.FindDescendant``1(Microsoft.UI.Xaml.DependencyObject)">
            <summary>
            Find first descendant control of a specified type.
            </summary>
            <typeparam name="T">Type to search for.</typeparam>
            <param name="element">Parent element.</param>
            <returns>Descendant control or null if not found.</returns>
        </member>
        <member name="M:YourPhone.Utilities.Extensions.TaskExtensions.LogAndContinueOnFaulted(System.Threading.Tasks.Task,System.String,System.String,System.Int32)">
            <summary>
            Ensures that an async operation that is not await'ed logs and continues on failures.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Extensions.TaskExtensions.LogAndContinueOnFaulted(System.Threading.Tasks.Task{System.Threading.Tasks.Task},System.String,System.String,System.Int32)">
            <summary>
            Ensures that an async operation that is not await'ed logs and continues on failures
            </summary>
            <remarks>
            When using await in a ContinueWith, the return is a Task{Task} and it needs to be unwrapped.
            </remarks>
        </member>
        <member name="M:YourPhone.Utilities.Extensions.TaskExtensions.LogAndFailFastOnFaulted(System.Threading.Tasks.Task,System.String,System.String,System.Int32)">
            <summary>
            Ensures that an async operation that is not await'ed FailsFast on failures
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Extensions.TaskExtensions.LogAndFailFastOnFaulted(System.Threading.Tasks.Task{System.Threading.Tasks.Task},System.String,System.String,System.Int32)">
            <summary>
            Ensures that an async operation that is not await'ed FailsFast on failures
            </summary>
            <remarks>
            When using await in a ContinueWith, the return is a Task{Task} and it needs to be unwrapped.
            </remarks>
        </member>
        <member name="M:YourPhone.Utilities.Extensions.TaskExtensions.ThrowAsync(System.Exception,System.Threading.SynchronizationContext)">
            <summary>
            Throws the exception on the ThreadPool.
            </summary>
            <param name="exception">The exception to propagate.</param>
            <param name="targetContext">The target context on which to propagate the exception.  Null to use the ThreadPool.</param>
        </member>
        <member name="M:YourPhone.Utilities.Extensions.UriExtensions.ScrubUnknownParameters(System.Uri)">
            <summary>
            Replaces any unknown parameter with asterisks to remove PII
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Extensions.WindowExtensions.Show(Microsoft.UI.Xaml.Window)">
            <summary>
            Workaround for WinUI Bug 37947822: [Fulltrust]: Clicking on notification toast, resizes YP window
            </summary>
        </member>
        <member name="F:YourPhone.Utilities.Interop.PropVariant.Vt">
            <summary>Value type tag.</summary>
        </member>
        <member name="P:YourPhone.Utilities.Interop.PropVariant.IsNullOrEmpty">
            <summary>
            Checks if this has an empty or null value
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.OcvHelper.GetHexMsaUserId(YourPhone.AppCore.WinRT.Devices.IDeviceData)">
            <summary>
            Get the MSA user id (<a href="https://www.owiki.ms/wiki/Working_with_feedback_policies#Identifiers">PUID</a>)
            for the current Phone Link user in hexadecimal format
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.OcvHelper.GetHexMsaUserIdWithPrefix(YourPhone.AppCore.WinRT.Devices.IDeviceData)">
            <summary>
            Get the MSA user id (<a href="https://www.owiki.ms/wiki/Working_with_feedback_policies#Identifiers">PUID</a>)
            for the current Phone Link user in hexadecimal format with the "p:" prefix
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.OcvHelper.GetAudienceGroup">
            <summary>
            We use this method to convert the YP rings to OCV audience groups
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.PolicyUtils.EnablePhoneLink">
            <summary>
            NOTE: Calling this can have compliance impact.
            Unless you have explicit approval to call this do not call this under any circumstances.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.PolicyUtils.EnableOptIn">
            <summary>
            NOTE: Calling this can have compliance impact.
            Unless you have explicit approval to call this do not call this under any circumstances.
            </summary>
        </member>
        <member name="T:YourPhone.Utilities.Services.AppKeepAliveManager">
            <summary>
            This class will keep track of components requesting the app to stay alive.
            The app stays alive if any of the following conditions are met:
            - A device is setup. Or
            - The app is running in the foreground. Or
            - The app is being activated. Or
            - There are active OutOfProc Com servers
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Services.AppKeepAliveManager.QueueEvaluateClose">
            <summary>
            Wait for 30 seconds after the list of alive tasks gets to zero,
            before attempting to close the process.
            During debugging the delay is skipped to find races faster.
            </summary>
        </member>
        <member name="P:YourPhone.Utilities.Telemetry.YourPhoneAppsUsageEventSource.Log">
            <summary>
            Gets the running instance of the ETW provider.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneAppsUsageEventSource.RecentAppsFlyoutsAction(System.String,System.String,System.String,System.String,System.String[])">
            <summary>
            This event sends Product and Service usage data about Ratings features in the Your Phone App
            to improve the user experience and feature quality.
            </summary>
            <param name="sessionId">Correlation for the page</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="packageId">Package that this action is for, can be empty</param>
            <param name="packages">List of app packages displayed on flyout at the time of the action, can be emptyy</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneAppsUsageEventSource.RecentAppsFlyoutsView(System.String,System.Int32)">
            <summary>
            This event sends Product and Service usage data about Ratings features in the Your Phone App
            to improve the user experience and feature quality.
            </summary>
            <param name="sessionId">Correlation for the page</param>
            <param name="activityStatus">1 - the flyout is shown, 2, the flyout is hidden</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ToastActivationBackgroundTaskUnknownArgument(System.String,System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about unknown toast arguments to improve feature quality.
            </summary>
            <param name="argument">Toast activation argument</param>
            <param name="correlationId">Correlation Id used to correlate with other telemetry</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.UnexpectedResponseCommandType(System.String,System.Int32)">
            <summary>
            Product and Service performance data for the Your Phone app when it received an unexpected response command type.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.UnexpectedProcessorInitialization(System.String)">
            <summary>
            Product and Service performance data for the Your Phone app when a processor is unexpectedly initialized.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.EnRNearInactivityOrUnreadWhatsNewToast(System.String,System.Int32,System.UInt32,System.String)">
            <summary>
            Product and Service performance data for the Phone Link app when the EnRNearInactivityOrUnreadWhatsNew toast is shown.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.BadgeManagerCreated">
            <summary>
            This event sends Product and Service performance data about
            the badge manager component to improve the user experience and feature quality.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.AncsCategoryIdFromReservedRange(System.Int32,System.String,YourPhone.AppCore.WinRT.Connectivity.TraceContext)">
            <summary>
            This event sends data regarding the final staus of an ANCS attribute request
            </summary>
            <param name="result">event result</param>
            <param name="resultDetail">result detail</param>
            <param name="traceContext">TraceContext for the operation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.BTWakeSetupStarted(System.String,System.String,System.String)">
            <summary>
            This event is emitted when the Bluetooth wake setup flow is entered
            and logs how the user entered the flow (entryPoint).
            </summary>
            <param name="entryPoint">The entrypoint that brought the user to the Bluetooth wake setup.</param>
            <param name="sessionId">Session id for the setup flow session.</param>
            <param name="pageSummary">Additional details pertaining to this event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.BTWakeSetupCompleted(System.String,System.String)">
            <summary>
            This event is emitted when the Bluetooth wake setup flow is completed successfully.
            </summary>
            <param name="sessionId">Session id for the setup flow session.</param>
            <param name="pageSummary">Additional details pertaining to this event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.AppDisposed(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Product and Service performance data for the Your Phone app offering warning when the communication layer gets a message but is disposed.
            </summary>
            <paramref name="traceId">Unique ID which represents all operations related to the operation's initial trigger (e.g. a GUID generated when the user pressed a button)</paramref>
            <paramref name="parentId">Correlation ID handed down by incoming message</paramref>
            <paramref name="correlationId">Correlation ID for the response</paramref>
            <paramref name="dim1">Which user or device action prompted this request?</paramref>
            <paramref name="dim2">What are we trying to accomplish?</paramref>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.CannotFindAppId(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Product and Service performance data for the Your Phone app offering warning when the communication layer gets a message with no apparent author.
            </summary>
            <paramref name="traceId">Unique ID which represents all operations related to the operation's initial trigger (e.g. a GUID generated when the user pressed a button)</paramref>
            <paramref name="parentId">Correlation ID handed down by incoming message</paramref>
            <paramref name="correlationId">Correlation ID for the response</paramref>
            <paramref name="dim1">Which user or device action prompted this request?</paramref>
            <paramref name="dim2">What are we trying to accomplish?</paramref>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.CannotFindDevice(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Product and Service performance data for the Your Phone app offering warning when the communication layer gets a message with no apparent author.
            </summary>
            <paramref name="traceId">Unique ID which represents all operations related to the operation's initial trigger (e.g. a GUID generated when the user pressed a button)</paramref>
            <paramref name="parentId">Correlation ID handed down by incoming message</paramref>
            <paramref name="correlationId">Correlation ID for the response</paramref>
            <paramref name="dim1">Which user or device action prompted this request?</paramref>
            <paramref name="dim2">What are we trying to accomplish?</paramref>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.MessageBlockedUserNotPresent(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Product and Service performance data for the Your Phone app offering warning when the app blocks an outgoing message attempt because the user is not present.
            </summary>
            <paramref name="traceId">Unique ID which represents all operations related to the operation's initial trigger (e.g. a GUID generated when the user pressed a button)</paramref>
            <paramref name="parentId">Correlation ID handed down by outgoing message</paramref>
            <paramref name="correlationId">Correlation ID for the request</paramref>
            <paramref name="dim1">Which user or device action prompted this request?</paramref>
            <paramref name="dim2">What are we trying to accomplish?</paramref>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.MessageBlockedAppBlocked(YourPhone.Utilities.AppBlockedReason,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Product and Service performance data for the Your Phone app offering warning when the app blocks an outgoing message attempt because the using the app is blocked.
            </summary>
            <paramref name="traceId">Unique ID which represents all operations related to the operation's initial trigger (e.g. a GUID generated when the user pressed a button)</paramref>
            <paramref name="parentId">Correlation ID handed down by outgoing message</paramref>
            <paramref name="correlationId">Correlation ID for the request</paramref>
            <paramref name="dim1">Which user or device action prompted this request?</paramref>
            <paramref name="dim2">What are we trying to accomplish?</paramref>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.MessageBlockedIncompatible(YourPhone.Contracts.Node.WinRT.Alerts.ErrorStatusIdentifier,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Product and Service performance data for the Your Phone app offering warning when the app blocks an outgoing message attempt because the using the app is incompatible.
            </summary>
            <paramref name="traceId">Unique ID which represents all operations related to the operation's initial trigger (e.g. a GUID generated when the user pressed a button)</paramref>
            <paramref name="parentId">Correlation ID handed down by outgoing message</paramref>
            <paramref name="correlationId">Correlation ID for the request</paramref>
            <paramref name="dim1">Which user or device action prompted this request?</paramref>
            <paramref name="dim2">What are we trying to accomplish?</paramref>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.TrustMigrationActivity(System.String,System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.Int32,System.String,System.String)">
            <summary>
            Product and Service performance data for the Your Phone app about the Platform Trust Migration scenario.
            </summary>
            <param name="details">Operation-specific info that doesn't map to the above</param>
            <param name="activityType">Update/Send</param>
            <param name="activityStatus">(Type: enum Telemetry.ActivityStatus) [1, 2, 3] - Indicates Start / Stop / StopIgnore</param>
            <param name="result">Result of the activity</param>
            <param name="resultDetail">Detailed status or error that may still be aggregated</param>
            <param name="correlationId">Correlation Id that is used correlate between Start and Stop event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ContactTableUpdated(System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app
            about database table updates to improve the user experience and feature quality.
            </summary>
            <param name="rowCount">Number of rows updated</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.PhoneNumberTableUpdated(System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app
            about database table updates to improve the user experience and feature quality.
            </summary>
            <param name="rowCount">Number of rows updated</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.PostalAddressTableUpdated(System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app
            about database table updates to improve the user experience and feature quality.
            </summary>
            <param name="rowCount">Number of rows updated</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.EmailAddressTableUpdated(System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app
            about database table updates to improve the user experience and feature quality.
            </summary>
            <param name="rowCount">Number of rows updated</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ContactDateTableUpdated(System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app
            about database table updates to improve the user experience and feature quality.
            </summary>
            <param name="rowCount">Number of rows updated</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ContactUrlTableUpdated(System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app
            about database table updates to improve the user experience and feature quality.
            </summary>
            <param name="rowCount">Number of rows updated</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ContactSavedToStore(System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app
            about contact store updates to improve the user experience and feature quality.
            </summary>
            <param name="contactID">Id of the contact saved</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.CreateContactListFailed(System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app
            about contact store updates to improve the user experience and feature quality.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.CreateAnnotationListFailed(System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app
            about contact store updates to improve the user experience and feature quality.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ContactSaveToStoreFailed(System.String,System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app
            about contact store updates to improve the user experience and feature quality.
            </summary>
            <param name="contactID">Id of the contact</param>
            <param name="details">error message</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ContactReadFromStoreFailed(System.String,System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app
            about contact store updates to improve the user experience and feature quality.
            </summary>
            <param name="contactID">Id of the contact</param>
            <param name="details">error message</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ContactDeleteFromStoreFailed(System.String,System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app
            about contact store updates to improve the user experience and feature quality.
            </summary>
            <param name="contactID">Id of the contact</param>
            <param name="details">error message</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ContactAnnotationReadFailed(System.String,System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app
            about contact store updates to improve the user experience and feature quality.
            </summary>
            <param name="contactID">Id of the contact</param>
            <param name="details">error message</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ContactAnnotationDeleteFailed(System.String,System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app
            about contact store updates to improve the user experience and feature quality.
            </summary>
            <param name="contactID">Id of the contact</param>
            <param name="details">error message</param>
        </member>
        <member name="P:YourPhone.Utilities.Telemetry.YourPhoneEventSource.Log">
            <summary>
            Gets the running instance of the ETW provider.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.DeviceStatusActivity(System.String,System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.Int32,System.String,System.String)">
            <summary>
            Product and Service performance data for the Your Phone app about the Device Status scenario.
            </summary>
            <param name="details">Operation-specific info that doesn't map to the above</param>
            <param name="activityType">Update/Send</param>
            <param name="activityStatus">(Type: enum Telemetry.ActivityStatus) [1, 2, 3] - Indicates Start / Stop / StopIgnore</param>
            <param name="result">Result of the activity</param>
            <param name="resultDetail">Detailed status or error that may still be aggregated</param>
            <param name="correlationId">Correlation Id that is used correlate between Start and Stop event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.RemoteDeviceCollectionUpdated(System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about unknown toast arguments to improve feature quality.
            </summary>
            <param name="deviceCount">RemoteDevice count</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.FreStarted(System.Int32,System.Int32,System.String,System.String)">
            <summary>
            This event is emitted when the Your Phone app onboarding experience is entered,
            and logs how the user entered the experience (organic vs. campaign).
            Used for campaign conversion.
            </summary>
            <param name="reason">Why FRE is running: FirstRun (1), DeviceNotOptedIn (2), NoDevicesFound (3).</param>
            <param name="funnelOrigin">
            An enum representing what brought the user to the FRE. Represents whether the users started from,
            Campaign = 5, Launch = 0, Phone = 2, Protocol = 4, Search = 1, Toast = 1010</param>
            <param name="correlationId">Correlation id for the FRE session.</param>
            <param name="pageSummary">Page summary.</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.FreCompleted(System.Int32,System.Int32,System.String,System.String)">
            <summary>
            This telemetry event is emitted when we detect a user has completed onboarding
            their mobile phone to sync with the Your Phone app on PC.
            Used for campaign segmentation and conversion.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.FreCanceled(System.String,System.String)">
            <summary>
            This telemetry event is emitted when we detect a user has canceled onboarding
            their mobile phone to sync with the Your Phone app on PC.
            Used for campaign segmentation and conversion.
            </summary>
            <param name="correlationId">Correlation for the FRE session.</param>
            <param name="pageSummary">Page summary.</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.InstantHotspotStarted(System.String,System.String,System.String)">
            <summary>
            This event is emitted when the Instant Hotspot FTU setup flow is entered
            and logs how the user entered the flow (entryPoint).
            </summary>
            <param name="entryPoint">The entrypoint that brought the user to the Instant Hotspot setup.</param>
            <param name="sessionId">Session id for the setup flow session.</param>
            <param name="pageSummary">Additional details pertaining to this event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.InstantHotspotCompleted(System.String,System.String)">
            <summary>
            This event is emitted when the Instant Hotspot FTU setup flow is completed successfully.
            </summary>
            <param name="sessionId">Session id for the setup flow session.</param>
            <param name="pageSummary">Additional details pertaining to this event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.InstantHotspotCryptoPCAnomalyEvent(System.String,System.String,System.String)">
            <summary>
            This event is emitted when the Instant Hotspot Crypto work has failed
            </summary>
            <param name="sessionId">Session id for the crypto flow session</param>
            <param name="pageReferrer">Referrer that created the event</param>
            <param name="pageSummary">Additional details pertaining to this event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.AttachmentFailed(System.Int32)">
            <summary>
            Traces an info event if an attachment fails to be added.
            </summary>
            <param name="attachmentType">Type of attachment.</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.GetImageResultsFailed(System.Int32,System.String)">
            <summary>
            Traces an info event if an attempt to retrieve GIF images fails.
            </summary>
            <param name="responseCode">HTTP Response Code.</param>
            <param name="reason">Response reason.</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.InsertSendingMessage(System.Int64,System.Int64,System.String,System.Boolean,System.String,System.Int64)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about a user-initiated request to send a message to improve the user experience and feature quality.
            </summary>
            <param name="messageId">Identifier for the message</param>
            <param name="threadId">Id of the thread this message is sent in</param>
            <param name="sendingMessageId">Unique identifier for the draft message</param>
            <param name="isRetry">Boolean value indicating whether this message is a retry of a previously failed message</param>
            <param name="correlationId">Correlation Id that is used to correlate between other Message events</param>
            <param name="subscriptionId">Id of sim used to send outgoing message</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.UpdateSendingMessage(System.Int64,System.Int64,System.String,System.Int32,System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about a user-initiated request to send a message to improve the user experience and feature quality.
            </summary>
            <param name="messageId">Identifier for the message</param>
            <param name="threadId">Id of the thread this message is sent in</param>
            <param name="sendingMessageId">Unique identifier for the draft message</param>
            <param name="status">Status of the outgoing message, which maps to UI state</param>
            <param name="messageKind">Kind of message: SMS (1) or MMS (2)</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.RemoveSendingMessage(System.Int64,System.Int64,System.String,System.Int32,System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about a user-initiated request to send a message to improve the user experience and feature quality.
            </summary>
            <param name="messageId">Identifier for the message</param>
            <param name="threadId">Id of the thread this message is sent in</param>
            <param name="sendingMessageId">Unique identifier for the draft message</param>
            <param name="status">Status of the outgoing message, which maps to UI state</param>
            <param name="messageKind">Kind of message: SMS (1) or MMS (2)</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.MultipleSubscriptionsPresent(System.Boolean)">
            <summary>
            This event sends Product and Service usage data about the user's usage of multiple subscriptions.
            This is needed to improve the user experience and feature quality.
            </summary>
            <param name="areMultiplePresent">Boolean value indicating whether multiple subscriptions are present.</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.SmsTableUpdated(System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about database table updates
            to improve the user experience and feature quality.
            </summary>
            <param name="rowCount">Number of rows updated</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.MmsTableUpdated(System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about database table updates
            to improve the user experience and feature quality.
            </summary>
            <param name="rowCount">Number of rows updated</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.MmsPartTableUpdated(System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about database table updates
            to improve the user experience and feature quality.
            </summary>
            <param name="rowCount">Number of rows updated</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.RcsChatTableUpdated(System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about database table updates
            to improve the user experience and feature quality.
            </summary>
            <param name="rowCount">Number of rows updated</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.RcsFileTransferTableUpdated(System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about database table updates
            to improve the user experience and feature quality.
            </summary>
            <param name="rowCount">Number of rows updated</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.RcsConversationTableUpdated(System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about database table updates
            to improve the user experience and feature quality.
            </summary>
            <param name="rowCount">Number of rows updated</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.SendingMessageTableUpdated(System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about database table updates
            to improve the user experience and feature quality.
            </summary>
            <param name="rowCount">Number of rows updated</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ConversationTableUpdated(System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about database table updates
            to improve the user experience and feature quality.
            </summary>
            <param name="rowCount">Number of rows updated</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.AddNewConversation(System.Int64)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about UI changes when conversations are synced
            to improve the user experience and feature quality.
            </summary>
            <param name="threadId">Android's unique identifier for the conversation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ReplaceTemporaryConversation(System.Int64,System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about UI changes when conversations are synced
            to improve the user experience and feature quality.
            </summary>
            <param name="threadId">Android's unique identifier for the conversation</param>
            <param name="conversationIndex">Index of the temporary conversation that is being replaced</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ShowIncomingMessageToast(System.String,System.Boolean,System.UInt32,System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about toast notifications related to new messages to improve the user experience and feature quality.
            </summary>
            <param name="correlationId">Correlation ID for current sync transaction</param>
            <param name="isShown">Boolean value indicating whether the toast is displayed</param>
            <param name="reason">Enum mapped to the reason why the toast is NOT displayed. If the toast is displayed, this value is 0.</param>
            <param name="toastId">Unique identifier for the toast notification so it can be tracked in ActionCenter telemetry</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ShowMessageFailureToast(System.String,System.Boolean,System.UInt32,System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about toast notifications related to failed messages to improve the user experience and feature quality.
            </summary>
            <param name="correlationId">Correlation ID for current sync transaction</param>
            <param name="isShown">Boolean value indicating whether the toast is displayed</param>
            <param name="reason">Enum mapped to the reason why the toast is NOT displayed. If the toast is displayed, this value is 0.</param>
            <param name="toastId">Unique identifier for the toast notification so it can be tracked in ActionCenter telemetry</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.RcsFileTransferContentType(System.Int64,System.String)">
            <summary>
            This event sends Product and Service usage data about MMS attachment content types to improve the user experience and feature quality.
            </summary>
            <param name="messageId">The id of the message</param>
            <param name="contentType">The content type of the attachment</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.RcsFileTransferContentSize(System.Int64,System.Int32)">
            <summary>
            This event sends Product and Service usage data about MMS attachment size to improve the user experience and feature quality.
            </summary>
            <param name="messageId">The id of the message</param>
            <param name="imageSize">The size of the attachment</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.MediaReceivePermissionDisabled(System.Int64)">
            <summary>
            This event sends Product and Service usage data about media messages to improve the user experience and feature quality.
            </summary>
            <param name="messageId">The id of the message</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.MMSMediaContentType(System.Int64,System.Int64,System.String)">
            <summary>
            This event sends Product and Service usage data about MMS attachment content types to improve the user experience and feature quality.
            </summary>
            <param name="messageId">The id of the message</param>
            <param name="partId">The id of the attachment</param>
            <param name="contentType">The content type of the attachment</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.MMSMediaContentSize(System.Int64,System.Int64,System.Int32)">
            <summary>
            This event sends Product and Service usage data about MMS attachment size to improve the user experience and feature quality.
            </summary>
            <param name="messageId">The id of the message</param>
            <param name="partId">The id of the attachment</param>
            <param name="imageSize">The size of the attachment</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ConversationMissingForMessage(System.Int32,System.Int64,System.Int64)">
            <summary>
            This sends Product and Service performance data for the Your Phone app about missing recipients for synced conversations to improve the user experience and feature quality.
            </summary>
            <param name="messageKind">Kind of message: SMS (1) or MMS (2)</param>
            <param name="threadId">Android's unique identifier for the conversation</param>
            <param name="messageId">Android's identifier for the message</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ChatNotificationObserverTraceLogEvent(System.String,System.String,System.String)">
            <summary>
            This sends Product and Service performance data for the Your Phone app about ChatNotificationObserver events to improve the user experience and feature quality.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ChatNodeTraceLogEvent(System.String,System.String,System.String)">
            <summary>
            This sends Product and Service performance data for the Your Phone app about missing recipients for synced conversations to improve the user experience and feature quality.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ProcessedIncomingSmsMessage(System.Int64,System.Int32,System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about the message syncing process to improve the user experience and feature quality.
            </summary>
            <param name="messageId">Android's identifier for the message</param>
            <param name="syncAction">The action to take on the synced content. For a full sync the action is sync (-1). For an incremental sync it can be create (0), update (1), or delete (2).</param>
            <param name="correlationId">Correlation ID for current sync transaction</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ProcessedIncomingMmsMessage(System.Int64,System.Int32,System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about the message syncing process to improve the user experience and feature quality.
            </summary>
            <param name="messageId">Android's identifier for the message</param>
            <param name="syncAction">The action to take on the synced content. For a full sync the action is sync (-1). For an incremental sync it can be create (0), update (1), or delete (2).</param>
            <param name="correlationId">Correlation ID for current sync transaction</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ProcessedIncomingRcsChat(System.Int64,System.Int32,System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about the message syncing process to improve the user experience and feature quality.
            </summary>
            <param name="messageId">Android's identifier for the message</param>
            <param name="syncAction">The action to take on the synced content. For a full sync the action is sync (-1). For an incremental sync it can be create (0), update (1), or delete (2).</param>
            <param name="correlationId">Correlation ID for current sync transaction</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ProcessedIncomingRcsFileTransfer(System.Int64,System.Int32,System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about the message syncing process to improve the user experience and feature quality.
            </summary>
            <param name="messageId">Android's identifier for the message</param>
            <param name="syncAction">The action to take on the synced content. For a full sync the action is sync (-1). For an incremental sync it can be create (0), update (1), or delete (2).</param>
            <param name="correlationId">Correlation ID for current sync transaction</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ProcessedIncomingSubscription(System.Int64,System.Int32,System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about the subscription syncing process to improve the user experience and feature quality.
            </summary>
            <param name="subscriptionId">Android's identifier for the subscription</param>
            <param name="syncAction">The action to take on the synced content. For a full sync the action is sync (-1). For an incremental sync it can be create (0), update (1), or delete (2).</param>
            <param name="correlationId">Correlation ID for current sync transaction</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ProcessMessageAcks(System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about the status of sent messages to improve the user experience and feature quality.
            </summary>
            <param name="count">Number of messages finished sending.</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ConversationRecipientMissing(System.String)">
            <summary>
            This sends Product and Service performance data for the Your Phone app about missing recipients for synced conversations to improve the user experience and feature quality.
            </summary>
            <param name="recipientId">Identifier for the missing recipient</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.FirstMessagesBatchSyncCompleted(System.Int64)">
            <summary>
            This event sends Product and Service usage data for Your Phone app when the first batch of the first message sync is completed. This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="conversationCount">Number of conversations that was synced from phone</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.FirstMessagesSyncCompleted(System.Int64,System.Int64,System.UInt64)">
            <summary>
            This event sends Product and Service usage data for Your Phone app when all the batches of the first messages sync is completed. This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="receivedConversationsCount">Number of conversations synced from the phone including RCS conversations</param>
            <param name="receivedItemsCount">Number of items synced from the phone. This includes conversations, SMS, MMS, MMS Part, Subscriptions, RCS chats, RCS Conversations</param>
            <param name="totalMessageSize">Size of the payload that was synced.</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.MessageInvalidTimestamp">
            <summary>
            This event sends Product and Service usage data for Your Phone app about invalid message timestamps
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.FirstMessagesShown">
            <summary>
            This event sends Product and Service usage data for Your Phone app when messages are first shown to the user.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.UpdateConversationAttribute(System.Int64)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about UI changes when conversations are synced
            to improve the user experience and feature quality.
            </summary>
            <param name="threadId">Android's unique identifier for the conversation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.UpdateConversationAttributePosition(System.Int32,System.Int64,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about changes in the status of conversation attributes to improve the user experience and feature quality.
            to improve the user experience and feature quality.
            </summary>
            <param name="newPosition">New pinned position to be written to the DB</param>
            <param name="threadId">Android's identifier for the thread</param>
            <param name="position">Current pinned position</param>
            <param name="isMuted">Current muted state</param>
            <param name="isHidden">Current hidden state</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.UpdateConversationAttributeIsHidden(System.Boolean,System.Int64,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about changes in the status of conversation attributes to improve the user experience and feature quality.
            to improve the user experience and feature quality.
            </summary>
            <param name="newIsHidden">New is_hidden status to be written to the DB</param>
            <param name="threadId">Android's identifier for the thread</param>
            <param name="position">Current pinned position</param>
            <param name="isMuted">Current muted state</param>
            <param name="isHidden">Current hidden state</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.UpdateConversationAttributeIsMuted(System.Boolean,System.Int64,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about changes in the status of conversation attributes to improve the user experience and feature quality.
            to improve the user experience and feature quality.
            </summary>
            <param name="newIsMuted">New is_muted status to be written to the DB</param>
            <param name="threadId">Android's identifier for the thread</param>
            <param name="position">Current pinned position</param>
            <param name="isMuted">Current muted state</param>
            <param name="isHidden">Current hidden state</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ConversationAttributeTableUpdated(System.Int32)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about database table updates
            to improve the user experience and feature quality.
            </summary>
            <param name="rowCount">Number of rows updated</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ConversationAttributeChanged(System.Int32,System.Int64,System.Int64,System.Int32,System.Boolean,System.Boolean)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about UI changes when conversations are synced
            to improve the user experience and feature quality.
            </summary>
            <param name="changeType">The database operation being performed: delete, insert, update</param>
            <param name="threadId">Android's unique identifier for the conversation</param>
            <param name="rcsThreadId">Android's unique identifier for rich text conversation</param>
            <param name="position">Pinned location of a conversation</param>
            <param name="isMuted">Details if a conversation is muted</param>
            <param name="isHidden">Details if a conversation is hidden</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.MessagesEvent(YourPhone.AppCore.WinRT.Connectivity.TraceContext,System.String,System.String,System.String,System.Int32,System.String,System.String)">
            <summary>
            This transactional telemetry is similar to the above Activity telemetry pattern, but should
            be used in cases where your feature is looking to return success / result breakdown. The
            main difference from the Activity pattern is that this telemetry only has a single event as
            opposed to a Start and Stop event.
            </summary>
            <param name="traceContext">(Type: TraceContext - Trace context for scenario</param>
            <param name="dim1">(Type: string optional - Dimension 1 to help differentiate feature activities</param>
            <param name="dim2">(Type: string optional - Dimension 2 to help differentiate feature activities</param>
            <param name="dim3">(Type: string optional - Dimension 3 to help differentiate feature activities</param>
            <param name="result">(Type: Signed int) - Indicates status code. 0 or positive for success. Negative for failure.</param>
            <param name="resultDetail">(Type: string) - indicates detailed status or error that may still be aggregated</param>
            <param name="details">(Type: string optional) - JSON blob of dynamic data / scenario-specific data that is serialized into string. This is not aggregated automatically, but serve as bread crumbs and details for debuggability / investigation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ShowNotificationsFailureToast(System.String,System.Boolean,System.Int32)">
            <summary>
            This event sends Product and Service usage data for Your Phone app about Toasts Failures on Notifications Feature
            </summary>
            <param name="correlationId">"Correlation Id that is used to correlate events"</param>
            <param name="isShown">"Was the toast shown to the user"</param>
            <param name="reason">"The reason why YourPhone did not show a toast to the user"</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.PhoneNotificationNotFound(System.String,System.String,System.Int32,System.String,System.String,System.String)">
            <summary>
            This sends Product and Service performance data for the Your Phone app about a specific error scenario
            where the notification could not be found.
            </summary>
            <param name="scenario">The scenario in which the notification could not be found</param>
            <param name="method">The specific parameter for the scenario</param>
            <param name="result">The status code for the Notifications scenario</param>
            <param name="resultDetail">Optional details</param>
            <param name="correlationId">Correlation ID that is used to correlated between other Notifications events</param>
            <param name="details">Optional additional details</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ShowNotificationsToast(System.String,System.Boolean,System.Int32,System.String,System.String)">
            <summary>
            This event sends Product and Service health data for Your Phone app Toasts on Notifications about the toast shown and toast id of the toast to correlate wiht the AC toasts data
            </summary>
            <param name="correlationId">Correlation Id that is used to correlate events</param>
            <param name="isShown">Was the toast shown to the user</param>
            <param name="reason">The reason why YourPhone did not show a toast to the user</param>
            <param name="toastId">Toast Id used to correlate the events from AC data</param>
            <param name="summary">The summary.</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.PhotosToastNotShown(System.String,System.String,System.Int32)">
            <summary>
            This event locally logs usage data for Your Phone app about Toasts that are not shown on Photos Feature
            </summary>
            <param name="correlationId">"Correlation Id that is used to correlate events"</param>
            <param name="pageName">The page name.</param>
            <param name="reason">The reason we did not show the toast.</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.PhoneScreenControlLifecycle(System.Double,System.Double,System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about a control's reliability
            </summary>
            <param name="width">Width of control</param>
            <param name="height">Height of control</param>
            <param name="msg">Diagnostic event that occurred</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.SharedContentLinkAutoLaunchActivity(YourPhone.Utilities.Telemetry.ActivityStatus,YourPhone.AppCore.WinRT.Connectivity.TraceContext,System.Int32,System.String)">
            <summary>
            Send Product and Service performance data for the Your Phone app about the health of the operation that
            processes received shared content to improve the user experience and feature quality.
            </summary>
            <param name="activityStatus">Type: enum Telemetry.ActivityStatus [1, 2] - Indicates Start / Stop</param>
            <param name="traceContext">TraceContext for the operation</param>
            <param name="result">The status code for the result</param>
            <param name="resultDetail">Detailed result</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ShareTargetPageLaunchURIProcessed(System.Boolean,System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app
            about the launch URI processing status to improve the user experience
            </summary>
            <param name="status">This field describe the status of the sharing process</param>
            <param name="correlationId">CorrelationId corresponds to current session</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ShareTargetPageDataError(System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app
            about Launch URI request initialization to improve the user experience
            </summary>
            <param name="correlationId">Correlation Id used to correlate with</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ShareTargetPageDeviceNotLinked(System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app telling
            if the device was linked before starting share target page to improve the user experience
            </summary>
            <param name="correlationId">Correlation Id used to correlate with</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.UpdateRequired(System.Double,System.Double)">
            <summary>
            This event sends Product and Service usage data about if the remote device and the app are compatible.
            This is needed to improve the user experience and feature quality.
            </summary>
            <param name="appContractVersion">Contract version of the app</param>
            <param name="deviceContractVersion">Contract version of the active device</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.ContractVersionIncompatible(System.String,System.Int32,System.Int32,YourPhone.AppCore.WinRT.Devices.YppCapabilities)">
            <summary>
            This event sends Product and Service usage data about app and/or YPP version compatibility.
            This is needed to improve the user experience and feature quality.
            </summary>
            <param name="type">Type of incompatibility. Will be one of (LTWContractVersionIncompatible, YPCContractVersionIncompatible, YPContractVersionIncompatible)</param>
            <param name="contractCompatibility">Contract compatibility as determined previously by ContractVersion.CheckCompatibility()</param>
            <param name="linkedDeviceYppVersion">YPP version of the linked device</param>
            <param name="yppCapabilities">YPP capabilities of the linked device</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.MismatchedContractVersions(System.Double,System.Double)">
            <summary>
            This event sends Product and Service usage data about app and/or YPP version compatibility.
            This is needed to improve the user experience and feature quality.
            </summary>
            <param name="localVersion">The version of the local device",</param>
            <param name="remoteVersion">The version of the remote device</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.AppNotReadyForSync(System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service performance data avout if a device is in a state that it sync data.
            This is needed to improve the user experience and feature quality.
            </summary>
            <param name="scenarioTrigger">The trigger that would result in the connection.</param>
            <param name="blockedBy">The reason the operation was blocked.</param>
            <param name="correlationId">The correlation id  from the trace context.</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.SkippedEstablishConnection">
            <summary>
            This event sends Product and Service performance data when establishing a connection to the phone is skipped
            This is needed to improve the user experience and feature quality.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.MigrationSkipped(System.String,System.Boolean,YourPhone.AppCore.WinRT.Connectivity.TraceContext)">
            <summary>
            This event sends Product and Service usage data about if the remote device and the app are compatible.
            This is needed to improve the user experience and feature quality.
            </summary>
            <param name="deviceId">Id of the active device that was candidate for migration</param>
            <param name="hasPayload">Indicates if the request had a payoad</param>
            <param name="traceContext">TraceContext for the operation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.DeviceUnreachableQrCodeImageLoadFailed(System.String)">
            <summary>
            This event sends Product and Service usage data if the QR code image fails to load
            This is needed to aid debuggability
            </summary>
            <param name="failureReason">Reason for the failure</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.MigratePartnersToV2AppIdentifierMapping(System.String,System.String,System.String,System.String)">
            <summary>
            Product and Service performance data for the Your Phone app offering notice that a migration activity
            occurred for critical mapping protocol between app and platform
            </summary>
            <param name="traceId">Unique ID which represents all operations related to the operation's initial trigger (e.g. a GUID generated when the user pressed a button)</param>
            <param name="parentId">Correlation ID handed down by outgoing message</param>
            <param name="correlationId">Correlation ID for the request</param>
            <param name="details">Include counts for debugging</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneEventSource.BleDiscoveryErrorEvent(System.String,System.String,System.String,System.Int32,System.String,System.String)">
            <summary>
            This event sends Product and Service Performance data for the Your Phone app to measure the quality of the background task used to populate information for bluetoothLE scan.
            </summary>
            <param name="mode">[publish, subscribe] The mode of the discovery</param>
            <param name="PubSubType">[foreground, background] </param>
            <param name="details">Health state details needed for problem diagnosis</param>
            <param name="result">Result of the activity</param>
            <param name="resultDetail">Detailed status or error that may still be aggregated</param>
            <param name="correlationId">Correlation Id that is used correlate between Start and Stop event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.LocalSettingsProbeFailed">
            <summary>
            NOTE: This event is raised when APpData is inaccessible.
            Therefore we can't call into anything that calls into AppData
            including RemoteConfiguration.GetCurrentRingFromCache.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.PackageNotReady(Windows.ApplicationModel.PackageStatus)">
             <summary>
             NOTE: DO NOT ACCESS ANY DATA OTHER THAN PASSED IN.
            
             This event is used to track the app being in a bad state. We cannot assume anything else is setup.
             That includes exp.
             </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.AudioControlsActivity(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.Int32,System.String,System.String,System.String,System.String,YourPhone.AppCore.WinRT.Connectivity.TraceContext,System.String,Windows.Data.Json.JsonObject)">
            <summary>
            This event sends Product and Service performance data of the Audio Control feature of Your Phone App to help improve the feature quality.
            </summary>
            <param name="correlationId">Correlation Id that is used to correlate respective Start and Stop events for a given Activity</param>
            <param name="activityStatus">(Type: enum Telemetry.ActivityStatus) [1, 2] - Indicates Start / Stop</param>
            <param name="result">Indicates status code. 0 or positive for success. Negative for failure.</param>
            <param name="resultDetail">indicates detailed status or error that may still be aggregated</param>
            <param name="dim1">Optional dimension1 to help differentiate feature activities</param>
            <param name="dim2">Optional dimension2 to help differentiate feature activities</param>
            <param name="dim3">Optional dimension3 to help differentiate feature activities</param>
            <param name="traceContext">Trace context to provide parentId, traceId, and tracestate</param>
            <param name="featureSessionId">correlation id that's used to associate with a parent event</param>
            <param name="details">Blob of dynamic data / scenario-specific data that is serialized into string. This is not aggregated automatically, but serve as breadcrumbs and details for debuggability / investigation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.BluetoothPairingEvent(System.String,System.String,System.String,System.Int32,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service performance data of the Calling feature of Your Phone App to help improve the feature quality.
            </summary>
            <param name="eventName1">Setup event name detail 1</param>
            <param name="eventName2">Setup event name detail 2</param>
            <param name="eventName3">Setup event name detail 3</param>
            <param name="result">event result</param>
            <param name="resultDetail">result detail</param>
            <param name="details">More information for debuggability/investigation</param>
            <param name="correlationId">Correlation Id that is used correlate between Start and Stop event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.EmptyBatchMidSyncEvent(System.Int32,System.Int32,System.Int32,System.Int32,YourPhone.AppCore.WinRT.Connectivity.TraceContext)">
            <summary>
            This event sends Product and Service performance data of anomalies in PBAP sync to help improve the feature quality.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.AncsRequestFailedEvent(System.Int32,System.String,YourPhone.AppCore.WinRT.Connectivity.TraceContext)">
            <summary>
            This event sends data regarding the final staus of an ANCS attribute request
            </summary>
            <param name="result">event result</param>
            <param name="resultDetail">result detail</param>
            <param name="traceContext">TraceContext for the operation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.CallingActivity(System.String,System.String,System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.Int32,System.String,System.String,YourPhone.AppCore.WinRT.Connectivity.TraceContext)">
            <summary>
            This event sends Product and Service Performance data for the Your Phone app to measure the quality of the background task used to populate contact information for PC calls.
            </summary>
            <param name="stage">[Dial, Origin, Dismissed, TextReply] The stage of the call</param>
            <param name="stageDetail">Details about the particular stage</param>
            <param name="details">Health state details needed for problem diagnosis</param>
            <param name="activityStatus">(Type: enum Telemetry.ActivityStatus) [1, 2, 3] - Indicates Start / Stop / StopIgnore</param>
            <param name="result">Result of the activity</param>
            <param name="resultDetail">Detailed status or error that may still be aggregated</param>
            <param name="correlationId">Correlation Id that is used correlate between Start and Stop event</param>
            <param name="traceContext">TraceContext for the operation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.PhoneCallsSetupEvent(System.String,System.String,System.String,System.Int32,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service performance data of the Calling feature of Your Phone App to help improve the feature quality.
            </summary>
            <param name="eventName1">Setup event name detail 1</param>
            <param name="eventName2">Setup event name detail 2</param>
            <param name="eventName3">Setup event name detail 3</param>
            <param name="result">event result</param>
            <param name="resultDetail">result detail</param>
            <param name="details">More information for debuggability/investigation</param>
            <param name="correlationId">Correlation Id that is used correlate between Start and Stop event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.PhoneCallsSetupActivity(System.String,System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.Int32,System.String,YourPhone.AppCore.WinRT.Connectivity.TraceContext,System.String)">
            <summary>
            This event sends Product and Service performance data of the Calling feature of Your Phone App to help improve the feature quality.
            </summary>
            <param name="featureSessionId">correlation id that's used to associate with a parent event</param>
            <param name="activityName">Setup stage/activity name detail 1</param>
            <param name="activityStatus">start (1) or stop (2)</param>
            <param name="result">Result of the activity</param>
            <param name="resultDetail">result detail</param>
            <param name="traceContext">TraceContext containing scenario trigger, type, and correlationId</param>
            <param name="details">More information for debuggability/investigation</param>
        </member>
        <member name="P:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.Log">
            <summary>
            Gets the running instance of the ETW provider.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.SyncOverMeteredConnectionLogVerbose(YourPhone.AppCore.WinRT.Connectivity.TraceContext,System.String,System.String)">
            <summary>
            This event sends Product and Service Performance data for the Your Phone app related to sync over metered connections
            to improve the user experience and feature quality
            </summary>
            <param name="traceContext">The operation TraceContext</param>
            <param name="logString">The string to log</param>
            <param name="correlationId">The correlation id</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.SyncOverMeteredConnectionActivity(YourPhone.AppCore.WinRT.Connectivity.TraceContext,YourPhone.Utilities.Telemetry.ActivityStatus,System.Int32,System.String,System.String)">
            <summary>
            This event sends Product and Service Performance data for the Your Phone app about requests to toggle SyncOverMeteredConnection
            to improve the user experience and feature quality
            </summary>
            <param name="traceContext">The operation TraceContext</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="result">Result of the activity</param>
            <param name="resultDetail">(optional) detailed result</param>
            <param name="details">(optional) other activity specific data</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.EnableLtwActivity(YourPhone.AppCore.WinRT.Connectivity.TraceContext,YourPhone.Utilities.Telemetry.ActivityStatus,System.Int32,System.String,System.String)">
            <summary>
            This event sends Product and Service Performance data for the Your Phone app about requests to toggle LTW
            to improve the user experience and feature quality
            </summary>
            <param name="traceContext">The operation TraceContext</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="result">Result of the activity</param>
            <param name="resultDetail">(optional) detailed result</param>
            <param name="details">(optional) other activity specific data</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.DevicePermissionsRequestLogVerbose(YourPhone.AppCore.WinRT.Connectivity.TraceContext,System.String,System.String)">
            <summary>
            This event sends Product and Service Performance data for the Your Phone app related to Device Permissions Request sync'ing.
            to improve the user experience and feature quality
            </summary>
            <param name="traceContext">The operation TraceContext</param>
            <param name="logString">The string to log</param>
            <param name="correlationId">The correlation id</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.RemoteControlActivity(YourPhone.Utilities.Telemetry.ActivityStatus,YourPhone.AppCore.WinRT.Connectivity.TraceContext,System.String,System.String,System.Int32,System.String)">
            <summary>
            This event sends Product and Service Performance data for the Your Phone app about the remote control
            to improve the user experience and feature quality
            </summary>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="traceContext">The operation TraceContext</param>
            <param name="correlationId">Correlation Id that is used correlate between Start and Stop event</param>
            <param name="remoteControlType">The remote control type</param>
            <param name="result">Result of the command</param>
            <param name="details">More information for debuggability/investigation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.PFEHealthActivity(System.String,System.String,YourPhone.Utilities.Telemetry.ActivityStatus,Windows.Data.Json.JsonObject,System.Nullable{System.Int32},System.String)">
            <summary>
            This event sends Product and Service usage data for the Your Phone app about File Explorer Health Data
            </summary>
            <param name="dim1">File Explorer activity name detail 1</param>
            <param name="dim2">File Explorer activity name detail 2</param>
            <param name="activityStatus">start (1) or stop (2)</param>
            <param name="details">More information for debuggability/investigation</param>
            <param name="resultDetail">Result of the activity</param>
            <param name="correlationId">Correlation Id that is used correlate between Start and Stop event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.RemoteDiagnosticsRequested(YourPhone.AppCore.WinRT.Connectivity.TraceContext)">
            <summary>
            The event is emitted when a user interacts with the feedback experience.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="traceContext">TraceContext for the operation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.MessagingSendMessageActivity(YourPhone.Utilities.Telemetry.ActivityStatus,System.Int32,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data for the Your Phone app about the Messaging Send Message scenario
            </summary>
            <param name="activityStatus">start (1) or stop (2)</param>
            <param name="result">Result of the activity</param>
            <param name="correlationId">Correlation Id that is used correlate between Start and Stop event</param>
            <param name="traceId">Session Id that is used to correlate between other app events</param>
            <param name="details">More information for debuggability/investigation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.MessagingMarkAsReadActivity(YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data for the Your Phone app about the Messaging Mark as Ready scenario
            </summary>
            <param name="activityStatus">start (1) or stop (2)</param>
            <param name="correlationId">Correlation Id that is used correlate between Start and Stop event</param>
            <param name="traceId">Session Id that is used to correlate between other app events</param>
            <param name="details">More information for debuggability/investigation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.MessagesActivity(YourPhone.AppCore.WinRT.Connectivity.TraceContext,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String,System.Int32,System.String,System.String)">
            <summary>
            This transactional telemetry will support the primary way to measure success rate and latency
            of your feature code. Telemetry events that follow this pattern should expect to be included
            in centralized processing and measures.
            </summary>
            <param name="traceContext">(Type: TraceContext - Trace context for scenario</param>
            <param name="activityStatus">(Type: enum Telemetry.ActivityStatus) [1, 2] - Indicates Start / Stop</param>
            <param name="dim1">(Type: string optional) - Dimension 1 to help differentiate feature activities</param>
            <param name="dim2">(Type: string optional) - Dimension 2 to help differentiate feature activities</param>
            <param name="dim3">(Type: string optional) - Dimension 3 to help differentiate feature activities</param>
            <param name="result">(Type: Signed int) - Indicates status code. 0 or positive for success. Negative for failure.</param>
            <param name="resultDetail">(Type: string) - indicates detailed status or error that may still be aggregated</param>
            <param name="details">(Type: string optional) - bread crumbs and details for debuggability / investigation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.IncomingMessageEvent(System.String,System.String,System.String,System.String)">
            <summary>
            This event is to record information about the processing of incoming messages.
            </summary>
            <param name="scenarioType">(Type: string - What are we trying to accomplish?</param>
            <param name="scenarioTrigger">(Type: string - What caused this event?</param>
            <param name="resultDetail">(Type: string) - indicates detailed status or error that may still be aggregated</param>
            <param name="details">(Type: string optional) - JSON blob of dynamic data / scenario-specific data that is serialized into string. This is not aggregated automatically, but serve as bread crumbs and details for debuggability / investigation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.IgnoringMessageWithUnexpectedMailboxType(System.String,System.Int32)">
            <summary>
            This sends Product and Service performance data for the Your Phone app about
            missing recipients for synced conversationsto improve the user experience and feature quality.
            </summary>
            <param name="messageType">Kind of message: SMS (1) or MMS (2)</param>
            <param name="mailboxType">message mailbox type</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.SummarizeButtonVisibilityEvent(System.String,System.String,System.String,System.String)">
            <summary>
            This event is to record information about the visibility of the summarize recent messages button.
            </summary>
            <param name="scenarioType">(Type: string - What are we trying to accomplish?</param>
            <param name="scenarioTrigger">(Type: string - What caused this event?</param>
            <param name="resultDetail">(Type: string) - indicates detailed status or error that may still be aggregated</param>
            <param name="details">(Type: string optional) - JSON blob of dynamic data / scenario-specific data that is serialized into string. This is not aggregated automatically, but serve as bread crumbs and details for debuggability / investigation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.MessagingDownloadAttachmentActivity(YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data for the Your Phone app about the Messaging Download Attachment scenario
            </summary>
            <param name="activityStatus">start (1) or stop (2)</param>
            <param name="correlationId">Correlation Id that is used correlate between Start and Stop event</param>
            <param name="traceId">Session Id that is used to correlate between other app events</param>
            <param name="details">More information for debuggability/investigation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.AttachmentContentTypeUnknown(System.String)">
            <summary>
            This sends Product and Service performance data for the Your Phone app about missing recipients for synced conversations to improve the user experience and feature quality.
            </summary>
            <param name="extension">Extension of the file added as an attachment</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.PhoneNotificationSyncedDataMismatch(System.Int32,System.Int32,System.Int32,System.String)">
            <summary>
            This sends Product and Service performance data for the Your Phone app about a specific error scenario where notifications data is incomplete to improve the user experience and feature quality.
            </summary>
            <param name="operationsLength">The length of the notification operations array that was synced from phone</param>
            <param name="notificationKeysLength">The length of the notification keys array that was synced from phone</param>
            <param name="notificationJsonLength">The length of the notification json array that was synced from phone</param>
            <param name="correlationId">Correlation Id used to correlate with other telemetry for this transfer</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.PhoneNotificationArrivedEvent(System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service health data for Your Phone app on the new notification that arrived to the PC.
            </summary>
            <param name="correlationId">Correlation Id that is used to correlate events</param>
            <param name="pageName">Page name for telemetry purposes</param>
            <param name="details">Details of the telemetry event.</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.PhotosActivity(System.String,System.String,System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.Int32,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app about Photos Actions
            </summary>
            <param name="dim1">(Type: string optional - Dimension 1 to help differentiate feature activities</param>
            <param name="dim2">(Type: string optional - Dimension 2 to help differentiate feature activities</param>
            <param name="dim3">(Type: string optional - Dimension 3 to help differentiate feature activities</param>
            <param name="activityStatus">(Type: enum Telemetry.ActivityStatus) [1, 2] - Indicates Start / Stop</param>
            <param name="result">(Type: Signed int) - Indicates status code. 0 or positive for success. Negative for failure.</param>
            <param name="resultDetail">(Type: string) - indicates detailed status or error that may still be aggregated</param>
            <param name="correlationId">Correlation Id that is used correlate between Start and Stop event</param>
            <param name="traceId">Session Id that is used to correlate between other app events</param>
            <param name="details">(Type: string optional) - JSON blob of dynamic data / scenario-specific data that is serialized into string. This is not aggregated automatically, but serve as bread crumbs and details for debuggability / investigation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.MediaRequestActivity(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.Int32,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service performance data about retrieving media content in the Your Phone app from your phone.
            </summary>
            <param name="dim1">(Type: string optional - The type of media being requested (thumbnails or images)</param>
            <param name="activityStatus">(Type: enum Telemetry.ActivityStatus) [1, 2] - Indicates Start / Stop</param>
            <param name="result">The status code for the request</param>
            <param name="resultDetail">Optional result details</param>
            <param name="correlationId">Correlation Id that is used correlate between Start and Stop event</param>
            <param name="details">Optional details</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.SharedContentUftActivity(System.String,System.String,YourPhone.Utilities.Telemetry.ActivityStatus,Windows.Data.Json.JsonObject,System.Int32,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This sends Product and Service performance data for the Your Phone app about the health of File Transfer
            feature to improve the user experience and feature quality.
            </summary>
            <param name="dim1">File Transfer activity name detail 1</param>
            <param name="dim2">File Transfer activity name detail 2</param>
            <param name="activityStatus">start (1) or stop (2)</param>
            <param name="details">JSON value of more information for debuggability/investigation</param>
            <param name="result">Status code of the activity result. failed(-1), start(0), sending(1), succeed(2)</param>
            <param name="resultDetail">Result detail of the activity</param>
            <param name="correlationId">Correlation Id that is used correlate between Start and Stop event</param>
            <param name="parentId">Correlation Id corresponding to the parent operation that spawned this operation</param>
            <param name="traceId">Correlation Id corresponds to the root operation. Does not change for lifetime of operation</param>
            <param name="tracestate">Key-value set that contains vendor/node specific information, delimited with a single comma (no space)</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.StartupTaskState(Windows.ApplicationModel.StartupTaskState,System.Int32,System.Boolean)">
            <summary>
            Reports the state of the YourPhone startupTask that starts the app on sign-in.
            </summary>
            <param name="state">The state of the startupTask.</param>
            <param name="deviceCount">The number of devices in the devices store.</param>
            <param name="userDisabled">Boolean indicating if the user disabled startup.</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.StartupTaskStateChanged(Windows.ApplicationModel.StartupTaskState,Windows.ApplicationModel.StartupTaskState,System.Int32,System.Boolean)">
            <summary>
            Reports the change in state of the YourPhone startupTask that starts the app on sign-in.
            </summary>
            <param name="oldState">The old state of the startupTask.</param>
            <param name="newState">The new state of the startupTask.</param>
            <param name="deviceCount">The number of devices in the devices store.</param>
            <param name="userDisabled">Boolean indicating if the user disabled startup.</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneHealthEventSource.TaskbarPinningEvent(System.String,System.String,System.UInt32,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service performance data for the Your Phone app's taskbar icon.
            </summary>
            <param name="dim1">The taskbar scenario</param>
            <param name="dim2">The entry point of this scenario</param>
            <param name="result">Result of the event</param>
            <param name="resultDetail">Detailed status or error that may still be aggregated</param>
            <param name="correlationId">Correlation Id that is used correlate with nearby events</param>
            <param name="relatedId">Correlation Id used to correlate with the parent activity</param>
        </member>
        <member name="P:YourPhone.Utilities.Telemetry.YourPhoneInventoryEventSource.Log">
            <summary>
            Gets the running instance of the ETW provider.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneInventoryEventSource.InventorySummaryCensus(System.DateTimeOffset,System.DateTimeOffset,System.Int32,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about Your Phone App to improve the user experience and feature quality.
            </summary>
            <param name="startTimeUtc">Census start time</param>
            <param name="endTimeUtc">Census end time</param>
            <param name="dataVersion">Schema version of underlying data set</param>
            <param name="settingValues">JSON string of the setting values</param>
            <param name="sendReason">Reason why the event was sent</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.AppFrameView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about navigating to and from Your Phone App.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="sessionId">Correlation Id for the current node session</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current page</param>
            <param name="summaryVersion">Version of the page summary</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.AppFrameView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about navigating to and from Your Phone App.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="sessionId">Correlation Id for the current node session</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="summaryVersion">Version of the page summary</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.AppFrameView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about navigating to and from Your Phone App.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="sessionId">Correlation Id for the current node session</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="pageReferrer">Name of the referrer page</param>
            <param name="traceId">Correlation Id corresponds to the root operation. Does not change for lifetime of operation.</param>
            <param name="summaryVersion">Version of the page summary</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.AppFrameAction(System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about AppFrame features in the Your Phone App
            to improve the user experience and feature quality.
            </summary>
            <param name="sessionId">Correlation for the FRE page</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="pageName">Name of the current page</param>
            <param name="summaryVersion">Version of the page summary</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.AppFrameAction(System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about AppFrame features in the Your Phone App
            to improve the user experience and feature quality.
            </summary>
            <param name="sessionId">Correlation for the FRE page</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="summaryVersion">Version of the page summary</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.AppFrameAction(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about AppFrame features in the Your Phone App
            to improve the user experience and feature quality.
            </summary>
            <param name="sessionId">Correlation for the FRE page</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="pageReferrer">Name of the referrer page</param>
            <param name="summaryVersion">Version of the page summary</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.PhoneScreenAppsActionView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about navigating to and from Your Phone App.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="sessionId">Correlation Id for the current node session</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="summaryVersion">Version of the page summary</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.PhoneScreenAppsAction(System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about PhoneScreenAppsAction features in the Your Phone App
            to improve the user experience and feature quality.
            </summary>
            <param name="sessionId">Correlation for the YP page</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="summaryVersion">Version of the page summary</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.AudioControlsView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about Audio features in the Your Phone App.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="sessionId">Correlation Id for the current node session</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="pageReferrer">The previous page</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.AudioControlsAction(YourPhone.AppCore.WinRT.Connectivity.TraceContext,System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about Audio features in the Your Phone App
            to improve the user experience and feature quality.
            </summary>
            <param name="traceContext">Trace context for the event</param>
            <param name="sessionId">Correlation for the page</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.BTWakeSetupView(System.String,System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about the Bluetooth wake feature in the Phone Link App.
            This event fires when a page is shown to the user related to the feature.
            </summary>
            <param name="sessionId">Session Id for the current page being shown</param>
            <param name="relatedSessionId">Related session Id for the session</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageSummary">Additional details pertaining to this event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.BTWakeSetupAction(System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about the Bluetooth wake feature in the Phone Link App.
            This event fires when the user performs an action specific to the feature.
            </summary>
            <param name="sessionId">Session Id for the current page being shown</param>
            <param name="relatedSessionId">Related session Id for the session</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was performed on</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageSummary">Additional details pertaining to this event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.BrowserHistoryAction(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about Browser History features in the Your Phone App
            to improve the user experience and feature quality.
            </summary>
            <param name="sessionId">Correlation for the page</param>
            <param name="pageName">The page name this action is performed on</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="packageId">Package that this action is for, can be empty</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.BrowserHistoryViewedAndSyncedFromLTW(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about Browser History Viewed And Synced From LTW
            to improve the user experience and feature quality.
            </summary>
            <param name="sessionId">Correlation for the page</param>
            <param name="pageName">The page name this action is performed on</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="packageId">Package that this action is for, can be empty</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.CallingView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String,System.String,YourPhone.AppCore.WinRT.Connectivity.TraceContext)">
            <summary>
            This event sends Product and Service usage data about navigating to and from Your Phone App.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="sessionId">Correlation Id for the current node session</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="pageReferrer">The previous page</param>
            <param name="summary">Additional details pertaining to this view event</param>
            <param name="traceContext">The trace context for the operation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.CallingAction(System.String,System.String,System.String,System.String,System.String,System.String,YourPhone.AppCore.WinRT.Connectivity.TraceContext)">
            <summary>
            This event sends Product and Service usage data about AppFrame features in the Your Phone App
            to improve the user experience and feature quality.
            </summary>
            <param name="sessionId">Correlation for the FRE page</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="summary">Additional details pertaining to this view event</param>
            <param name="traceContext">The trace context for the operation</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.PhoneCallsSetupView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about phone calls in Your Phone to understand user success setting up phone calls.
            This event is necessary for the MMX business KPIS and campaign convesion analytics.
            </summary>
            <param name="sessionId">Correlation for the calls setup pages</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current calls setup page</param>
            <param name="pageName2">Name of the current calls setup subpage</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.PhoneCallsSetupAction(System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about phone calls in Your Phone to understand user success setting up phone calls.
            This event is necessary for the MMX business KPIS and campaign convesion analytics.
            </summary>
            <param name="sessionId">Correlation for the calls setup pages</param>
            <param name="action">User action that was taken in UX</param>
            <param name="target">User item that action was taken on</param>
            <param name="pageName">Name of the current calls setup page</param>
            <param name="pageName2">Name of the current calls setup subpage</param>
            <param name="summary">Additional details pertaining to this action event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.ContactsView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about COntacts features in the Your Phone App.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="sessionId">Correlation Id for the current node session</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="pageReferrer">The previous page</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.ContactsAction(System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about Contacts features in the Your Phone App
            to improve the user experience and feature quality.
            </summary>
            <param name="sessionId">Correlation for the page</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="P:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.Log">
            <summary>
            Gets the running instance of the ETW provider.
            </summary>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.ConnectivityCardAction(System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about the connectivity card features in the Your Phone App
            to improve the user experience and feature quality.
            </summary>
            <param name="sessionId">Correlation for the page</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="pageName">Name of the page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="summary">Additional details pertaining to this view event</param>
            <param name="summaryVersion">Summary version</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.ConnectivityCardView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data when a user has seen and/or acted on a particular UX
            within the connectivity card in the Your Phone App
            to improve the user experience and feature quality.
            </summary>
            <param name="sessionId">Correlation for the page</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="traceId">Correlation Id corresponds to the root operation. Does not change for lifetime of operation.</param>
            <param name="summary">Additional details pertaining to this view event</param>
            <param name="summaryVersion">Summary version</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.PFEStatusUIView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about Phone Files In File Explorer features
            in the Your Phone App.This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="sessionId">Correlation Id for the current node session</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="pageReferrer">The previous page</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.PFEStatusUIAction(System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about Phone Files In File Explorer features
            to improve the user experience and feature quality.
            </summary>
            <param name="sessionId">Correlation for the page</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.FlyoutsView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about Flyouts features in the Your Phone App.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="sessionId">Correlation Id for the current node session</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="pageReferrer">The previous page</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.FlyoutsAction(System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about Flyouts features in the Your Phone App
            to improve the user experience and feature quality.
            </summary>
            <param name="sessionId">Correlation for the page</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.FirstRunExperienceAction(System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            The event is emitted when a user interacts with a UI control within first run experience (FRE) pages.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="sessionId">Correlation for the FRE page</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the current first run experience sub-page, if any</param>
            <param name="pageReferrer">Name of the previous page.</param>
            <param name="pageSummary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.WarmupAction(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            The event is emitted when a user interacts with the warmup experience.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="pageName">Name of the current page</param>
            <param name="summary">Additional details pertaining to this view event</param>
            <param name="pageName2">Name of the sub page</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.WarmupView(YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String)">
            <summary>
            The event sends Product and Service usage data for the Your Phone app when a user views a Warmup section post FRE for the device.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current Warmup section</param>
            <param name="pageName2">Name of the current subtype of Warmup section</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.HelpNodeView(YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String)">
            <summary>
            The event sends Product and Service usage data for the Your Phone app when a user views the What's New feed.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current Share target page</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.HelpNodeAction(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            The event is emitted when a user interacts with the warmup experience.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="pageName">Name of the current page - LinkToFeature or LinkToTutorial</param>
            <param name="subPageName">Name of the feature / tutorial</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.InstantHotspotView(System.String,System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about the Instant Hotspot feature in the Phone Link App.
            This event fires when a page is shown to the user related to the feature.
            </summary>
            <param name="sessionId">Session Id for the current page being shown</param>
            <param name="relatedSessionId">Related session Id for the session</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageSummary">Additional details pertaining to this event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.InstantHotspotAction(System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about the Instant Hotspot feature in the Phone Link App.
            This event fires when the user performs an action specific to the feature.
            </summary>
            <param name="sessionId">Session Id for the current page being shown</param>
            <param name="relatedSessionId">Related session Id for the session</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was performed on</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageSummary">Additional details pertaining to this event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.MessagesView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String,System.String)">
            <summary>
            This telemetry describes when a user has seen and acted on a particular UX.
            It functionally works similar to the Activity telemetry as it defines a Start
            and Stop ActivityStatus. This helps provide centralized processing a means to
            determine the time spent in a particular page.
            </summary>
            <param name="sessionId">(Type string) - GUID that corresponds to current session (i.e. each new view would have its own session)</param>
            <param name="activityStatus">(Type: enum Telemetry.ActivityStatus) - Start (1) / Stop (2) for View which enables calculation of duration. None (0) for case where a single View is fired without matching Stop.</param>
            <param name="pageName">(Type string) - Identifier for page</param>
            <param name="pageSummary">(Type string) - JSON blob of dynamic data / scenario-specific data that may be incorporated in batching. Included in CRITICAL event</param>
            <param name="pageName2">(Type string optional) - Identifier for subpage</param>
            <param name="pageReferrer">(Type string) - The page where the user came from</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.MessagesAction(System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This telemetry describes when a user has taken action on a clickable item (button, menu, etc) on some particular UX.
            </summary>
            <param name="sessionId">(Type string) - GUID that corresponds to current session, this should match the sessionId of the associated view</param>
            <param name="action">(Type string) - User action that was taken in UX</param>
            <param name="target">(Type string) - UX item that action was taken on</param>
            <param name="pageName">(Type string) - Identifier for page</param>
            <param name="pageSummary">(Type string) - JSON blob of dynamic data / scenario-specific data that may be incorporated in batching. Included in CRITICAL event</param>
            <param name="pageName2">(Type string optional) - Identifier for subpage</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.PhoneNotificationsView(YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String)">
            <summary>
            The event sends Product and Service usage data for the Your Phone app when a user views the notifications pane.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="subPageName">Name of the subpage</param>
            <param name="pageReferrer">Name of the previous page before navigating to this view</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.PhoneNotificationsAction(System.String,System.String,System.String,System.String,System.String)">
            <summary>
            The event is emitted when a user interacts with the notifications UI.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="subPageName">Name of the subpage</param>
            <param name="summary">Additional details pertaining to this view event</param>
            <param name="correlationId">The correlation id for the view.</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.PhoneNotificationsSetupView(YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String)">
            <summary>
            The event sends Product and Service usage data for the Your Phone app when a user views the notifications pane.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="subPageName">Name of the subpage</param>
            <param name="pageSummary">Page summary.</param>
            <param name="correlationId">Correlation id for the view.</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.PhoneNotificationsSetupAction(System.String,System.String,System.String,System.String)">
            <summary>
            The event is emitted when a user interacts with the notifications UI.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="subPageName">Name of the subpage</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.PhotosView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about Photos features in the Your Phone App.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="sessionId">Correlation Id for the current node session</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="pageReferrer">The previous page</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.PhotosAction(System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about Photos features in the Your Phone App
            to improve the user experience and feature quality.
            </summary>
            <param name="sessionId">Correlation for the page</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.RatingsView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about navigating to and from the Ratings node.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="sessionId">Correlation Id for the current node session</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="pageReferrer">The previous page</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.RatingsAction(System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about Ratings features in the Your Phone App
            to improve the user experience and feature quality.
            </summary>
            <param name="sessionId">Correlation for the page</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.SettingsView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about navigating to and from the Settings node.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="sessionId">Correlation Id for the current node session</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="pageReferrer">The previous page</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.SettingsAction(System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about Settings features in the Your Phone App
            to improve the user experience and feature quality.
            </summary>
            <param name="sessionId">Correlation for the page</param>
            <param name="action">Type of action being performed on the target</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.ShareTargetPageView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String)">
            <summary>
            The event sends Product and Service usage data for the Your Phone app when a user tries to share a weblink using the your phone app share charm.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="sessionId">Correlation for the Share Target pag</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current Share target page</param>
            <param name="summaryVersion">Version of the page summary</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.ShareTargetPageAction(System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data for the Your Phone app when a user any action on Share Target Page.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="sessionId">Correlation for the Share Target page</param>
            <param name="action">Type of action performed on target if applicable</param>
            <param name="target">Start, Retry or Close Share Target Page</param>
            <param name="pageName">Name of the current Share target page</param>
            <param name="summaryVersion">Version of the page summary if applicable</param>
            <param name="summary">Additional details pertaining to this view event if applicable</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.FileTransferView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            The event sends Product and Service usage data for the Your Phone app when a user tries to share files using the your phone app share charm.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="sessionId">Correlation for the File Transfer page</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current File Transfer page</param>
            <param name="pageName2">Name of the sub File Transfer page</param>
            <param name="pageReferrer">Identifying name of the page the user came from.</param>
            <param name="pageSummaryVer">Version of the page summary if applicable</param>
            <param name="pageSummary">Additional details pertaining to this view event if applicable</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.FileTransferAction(System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data for the Your Phone app when a user any action on File Transfer Page.
            This event is necessary for the MMX business KPIs and campaign conversion analytics.
            </summary>
            <param name="sessionId">Correlation for the File Transfer page</param>
            <param name="action">Type of action performed on target if applicable</param>
            <param name="target">The UI item that the action was perfomed on</param>
            <param name="pageName">Name of the current File Transfer page</param>
            <param name="pageReferrer">Identifying name of the page the user came from.</param>
            <param name="pageSummaryVer">Version of the page summary if applicable</param>
            <param name="pageSummary">Additional details pertaining to this view event if applicable</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.ShellView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about navigating to and from Your Phone App.
            This event is necessary for the MMX business KPIs.
            </summary>
            <param name="sessionId">Correlation Id for the current node session</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.BannerView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String,System.String)">
            <summary>
            This event sends Product and Service usage data about banners shown in Your Phone App.
            This event is necessary for the MMX business KPIs.
            </summary>
            <param name="sessionId">Correlation Id for the current node session</param>
            <param name="activityStatus">Whether this is a start (1) or stop (2) event</param>
            <param name="pageName">Name of the current page</param>
            <param name="pageName2">Name of the sub page</param>
            <param name="summaryVersion">Version of the page summary</param>
            <param name="summary">Additional details pertaining to this view event</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.WidgetView(System.String,YourPhone.Utilities.Telemetry.ActivityStatus,System.String,System.String,System.String,System.String)">
            <summary>
            This telemetry describes when a user has seen and acted on a particular UX.
            It functionally works similar to the Activity telemetry as it defines a Start
            and Stop ActivityStatus. This helps provide centralized processing a means to
            determine the time spent in a particular page.
            </summary>
            <param name="sessionId">(Type string) - GUID that corresponds to current session (i.e. each new view would have its own session)</param>
            <param name="activityStatus">(Type: enum Telemetry.ActivityStatus) - Start (1) / Stop (2) for View which enables calculation of duration. None (0) for case where a single View is fired without matching Stop.</param>
            <param name="pageName">(Type string) - Identifier for page</param>
            <param name="pageSummary">(Type string) - JSON blob of dynamic data / scenario-specific data that may be incorporated in batching. Included in CRITICAL event</param>
            <param name="pageName2">(Type string optional) - Identifier for subpage</param>
            <param name="pageReferrer">(Type string) - The page where the user came from</param>
        </member>
        <member name="M:YourPhone.Utilities.Telemetry.YourPhoneUsageEventSource.WidgetAction(System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            This telemetry describes when a user taken action on a clickable item (button, menu, etc) on some particular UX.
            </summary>
            <param name="sessionId">(Type string) - GUID that corresponds to current session, this should match the sessionId of the associated view</param>
            <param name="action">(Type string) - User action that was taken in UX</param>
            <param name="target">(Type string) - UX item that action was taken on</param>
            <param name="pageName">(Type string) - Identifier for page</param>
            <param name="pageSummary">(Type string) - JSON blob of dynamic data / scenario-specific data that may be incorporated in batching. Included in CRITICAL event</param>
            <param name="pageName2">(Type string optional) - Identifier for subpage</param>
        </member>
        <member name="P:YourPhone.Utilities.Windowing.DesktopWindow.Id">
            <summary>
            Identifier for the window, to be used for storage and telemetry.
            </summary>
        </member>
        <member name="T:YourPhone.Utilities.Windowing.WindowHelper">
            <summary>
            Class to be used to find the window associated with an element as long as
            WindowHelper.CreateWindow was used to create the window.
            </summary>
        </member>
        <member name="P:YourPhone.Utilities.Windowing.WindowInstanceBase.Window">
            <summary>
            We require this to be DesktopWindow instead of Window,
            as various logic in this class requires special handling
            of certain Window messages as done by DesktopWindow.
            </summary>
        </member>
        <member name="T:YourPhone.Utilities.Windowing.WindowInstanceBase.WindowKeepAlive">
            <summary>
            Ensure the app is kept alive to properly process the Unloaded event on the window content when the window is closed.
            </summary>
        </member>
        <member name="T:Windows.Win32.PInvoke">
            <content>
            Contains extern methods from "ADVAPI32.dll".
            </content>
            <content>
            Contains extern methods from "api-ms-win-appmodel-runtime-l1-1-1.dll".
            </content>
            <content>
            Contains extern methods from "api-ms-win-shcore-scaling-l1-1-1.dll".
            </content>
            <content>
            Contains extern methods from "dwmapi.dll".
            </content>
            <content>
            Contains extern methods from "GDI32.dll".
            </content>
            <content>
            Contains extern methods from "KERNEL32.dll".
            </content>
            <content>
            Contains extern methods from "MSIMG32.dll".
            </content>
            <content>
            Contains extern methods from "OLE32.dll".
            </content>
            <content>
            Contains extern methods from "OLEAUT32.dll".
            </content>
            <content>
            Contains extern methods from "PROPSYS.dll".
            </content>
            <content>
            Contains extern methods from "SHELL32.dll".
            </content>
            <content>
            Contains extern methods from "USER32.dll".
            </content>
        </member>
        <member name="M:Windows.Win32.PInvoke.OpenThreadToken(System.Runtime.InteropServices.SafeHandle,Windows.Win32.Security.TOKEN_ACCESS_MASK,Windows.Win32.Foundation.BOOL,Microsoft.Win32.SafeHandles.SafeFileHandle@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.OpenThreadToken(Windows.Win32.Foundation.HANDLE,Windows.Win32.Security.TOKEN_ACCESS_MASK,Windows.Win32.Foundation.BOOL,Windows.Win32.Foundation.HANDLE*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.OpenThreadToken(Windows.Win32.Foundation.HANDLE,Windows.Win32.Security.TOKEN_ACCESS_MASK,Windows.Win32.Foundation.BOOL,Windows.Win32.Foundation.HANDLE*)">
            <summary>Opens the access token associated with a thread.</summary>
            <param name="ThreadHandle">A handle to the thread whose access token is opened.</param>
            <param name="DesiredAccess">
            <para>Specifies an <a href="https://docs.microsoft.com/windows/desktop/SecGloss/a-gly">access mask</a> that specifies the requested types of access to the access token. These requested access types are reconciled against the token's <a href="https://docs.microsoft.com/windows/desktop/SecGloss/d-gly">discretionary access control list</a> (DACL) to determine which accesses are granted or denied.</para>
            <para>For a list of access rights for access tokens, see <a href="https://docs.microsoft.com/windows/desktop/SecAuthZ/access-rights-for-access-token-objects">Access Rights for Access-Token Objects</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/processthreadsapi/nf-processthreadsapi-openthreadtoken#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="OpenAsSelf">
            <para>TRUE if the access check is to be made against the  process-level <a href="https://docs.microsoft.com/windows/desktop/SecGloss/s-gly">security context</a>. <b>FALSE</b> if the access check is to be made against the current security context of the thread calling the <b>OpenThreadToken</b> function. The <i>OpenAsSelf</i> parameter allows the caller of this function to open the access token of a specified thread when the caller is impersonating a token at <b>SecurityIdentification</b> level. Without this parameter, the calling thread cannot open the access token on the specified thread because it is impossible to open executive-level objects by using the <b>SecurityIdentification</b> impersonation level.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/processthreadsapi/nf-processthreadsapi-openthreadtoken#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="TokenHandle">A pointer to a variable that receives the handle to the newly opened access token.</param>
            <returns>
            <para>If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>. If the token has the anonymous impersonation level, the token will not be opened and <b>OpenThreadToken</b> sets  ERROR_CANT_OPEN_ANONYMOUS as the error.</para>
            </returns>
            <remarks>
            <para>Tokens with the anonymous impersonation level cannot be opened. Close the access token handle returned through the <i>TokenHandle</i> parameter by calling <a href="https://docs.microsoft.com/windows/desktop/api/handleapi/nf-handleapi-closehandle">CloseHandle</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/processthreadsapi/nf-processthreadsapi-openthreadtoken#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.RegCloseKey(Windows.Win32.System.Registry.HKEY)">
            <summary>Closes a handle to the specified registry key.</summary>
            <param name="hKey">
            <para>A handle to the open key to be closed. The handle must have been opened by the <a href="https://docs.microsoft.com/windows/desktop/api/winreg/nf-winreg-regcreatekeyexa">RegCreateKeyEx</a>, <a href="https://docs.microsoft.com/windows/desktop/api/winreg/nf-winreg-regcreatekeytransacteda">RegCreateKeyTransacted</a>, <a href="https://docs.microsoft.com/windows/desktop/api/winreg/nf-winreg-regopenkeyexa">RegOpenKeyEx</a>, <a href="https://docs.microsoft.com/windows/desktop/api/winreg/nf-winreg-regopenkeytransacteda">RegOpenKeyTransacted</a>, or <a href="https://docs.microsoft.com/windows/desktop/api/winreg/nf-winreg-regconnectregistrya">RegConnectRegistry</a> function.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winreg/nf-winreg-regclosekey#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>If the function succeeds, the return value is ERROR_SUCCESS. If the function fails, the return value is a nonzero error code defined in Winerror.h. You can use the <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-formatmessage">FormatMessage</a> function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error.</para>
            </returns>
            <remarks>
            <para>The handle for a specified key should not be used after it has been closed, because it will no longer be valid. Key handles should not be left open any longer than necessary. The <b>RegCloseKey</b> function does not necessarily write information to the registry before returning; it can take as much as several seconds for the cache to be flushed to the hard disk. If an application must explicitly write registry information to the hard disk, it can use the <a href="https://docs.microsoft.com/windows/desktop/api/winreg/nf-winreg-regflushkey">RegFlushKey</a> function. <b>RegFlushKey</b>, however, uses many system resources and should be called only when necessary.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winreg/nf-winreg-regclosekey#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.RegNotifyChangeKeyValue(System.Runtime.InteropServices.SafeHandle,Windows.Win32.Foundation.BOOL,Windows.Win32.System.Registry.REG_NOTIFY_FILTER,System.Runtime.InteropServices.SafeHandle,Windows.Win32.Foundation.BOOL)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.RegNotifyChangeKeyValue(Windows.Win32.System.Registry.HKEY,Windows.Win32.Foundation.BOOL,Windows.Win32.System.Registry.REG_NOTIFY_FILTER,Windows.Win32.Foundation.HANDLE,Windows.Win32.Foundation.BOOL)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.RegNotifyChangeKeyValue(Windows.Win32.System.Registry.HKEY,Windows.Win32.Foundation.BOOL,Windows.Win32.System.Registry.REG_NOTIFY_FILTER,Windows.Win32.Foundation.HANDLE,Windows.Win32.Foundation.BOOL)">
            <summary>Notifies the caller about changes to the attributes or contents of a specified registry key.</summary>
            <param name="hKey">
            <para>A handle to an open registry key. This handle is returned by the <a href="https://docs.microsoft.com/windows/desktop/api/winreg/nf-winreg-regcreatekeyexa">RegCreateKeyEx</a> or <a href="https://docs.microsoft.com/windows/desktop/api/winreg/nf-winreg-regopenkeyexa">RegOpenKeyEx</a> function. It can also be one of the following <a href="https://docs.microsoft.com/windows/desktop/SysInfo/predefined-keys">predefined keys</a>:</para>
            <para><b>HKEY_CLASSES_ROOT</b> <b>HKEY_CURRENT_CONFIG</b> <b>HKEY_CURRENT_USER</b> <b>HKEY_LOCAL_MACHINE</b> <b>HKEY_USERS</b> This parameter must be a local handle. If <b>RegNotifyChangeKeyValue</b> is called with a remote handle, it returns ERROR_INVALID_HANDLE. The key must have been opened with the KEY_NOTIFY access right. For more information, see <a href="https://docs.microsoft.com/windows/desktop/SysInfo/registry-key-security-and-access-rights">Registry Key Security and Access Rights</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winreg/nf-winreg-regnotifychangekeyvalue#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="bWatchSubtree">If this parameter is TRUE, the function reports changes in the specified key and its subkeys. If the parameter is <b>FALSE</b>, the function reports changes only in the specified key.</param>
            <param name="dwNotifyFilter"></param>
            <param name="hEvent">A handle to an event. If the <i>fAsynchronous</i> parameter is <b>TRUE</b>, the function returns immediately and changes are reported by signaling this event. If <i>fAsynchronous</i> is <b>FALSE</b>, <i>hEvent</i> is ignored.</param>
            <param name="fAsynchronous">
            <para>If this parameter is <b>TRUE</b>, the function returns immediately and reports changes by signaling the specified event. If this parameter is <b>FALSE</b>, the function does not return until a change has occurred.</para>
            <para>If <i>hEvent</i> does not specify a valid event, the <i>fAsynchronous</i> parameter cannot be <b>TRUE</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winreg/nf-winreg-regnotifychangekeyvalue#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>If the function succeeds, the return value is ERROR_SUCCESS. If the function fails, the return value is a nonzero error code defined in Winerror.h. You can use the <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-formatmessage">FormatMessage</a> function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error.</para>
            </returns>
            <remarks>
            <para>This function detects a single change. After the caller receives a notification event, it should call the function again to receive the next notification. <div class="alert"><b>Note</b>  On Windows NT, Windows 2000, and Windows XP calling <b>RegNotifyChangeKeyValue</b> for a particular key handle causes change notifications to continue to occur for as long as the key handle is valid. This causes a second call to <b>RegNotifyChangeKeyValue</b> to return immediately, if any changes have occurred in the interim period between the first and second calls. If the API is being used asynchronously, the passed event handle will be signaled immediately if any interim changes have occurred.</div> <div> </div> This function cannot be used to detect changes to the registry that result from using the <a href="https://docs.microsoft.com/windows/desktop/api/winreg/nf-winreg-regrestorekeya">RegRestoreKey</a> function. If the specified key is closed, the event is signaled. This means that an application should not depend on the key being open after returning from a wait operation on the event. The <b>REG_NOTIFY_THREAD_AGNOSTIC</b> flag introduced in Windows 8 enables the use of <b>RegNotifyChangeKeyValue</b> for ThreadPool threads. If the thread that called <b>RegNotifyChangeKeyValue</b> exits, the event is signaled. To continue to monitor additional changes in the value of the key, call <b>RegNotifyChangeKeyValue</b> again from another thread.</para>
            <para>With the exception of <b>RegNotifyChangeKeyValue</b> calls with <b>REG_NOTIFY_THREAD_AGNOSTIC</b> set, this function must be called on persistent threads. If the calling thread is from a thread pool and it is not persistent, the event is signaled every time the thread terminates, not just when there is a registry change. To ensure accurate results, run the thread pool work in a persistent thread by using the <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-setthreadpoolcallbackpersistent">SetThreadpoolCallbackPersistent</a> function, or create your own thread using the <a href="https://docs.microsoft.com/windows/desktop/api/processthreadsapi/nf-processthreadsapi-createthread">CreateThread</a>  function. (For the original thread pool API, specify WT_EXECUTEINPERSISTENTTHREAD using the <a href="https://docs.microsoft.com/windows/desktop/api/threadpoollegacyapiset/nf-threadpoollegacyapiset-queueuserworkitem">QueueUserWorkItem</a> function.) This function should not be called multiple times with the same  value for the <i>hKey</i> but different values for the <i>bWatchSubtree</i> and <i>dwNotifyFilter</i> parameters. The function will succeed but the changes will be ignored. To change the watch parameters, you must first close the key handle by calling <a href="https://docs.microsoft.com/windows/desktop/api/winreg/nf-winreg-regclosekey">RegCloseKey</a>, reopen the key handle by calling <a href="https://docs.microsoft.com/windows/desktop/api/winreg/nf-winreg-regopenkeyexa">RegOpenKeyEx</a>, and then call <b>RegNotifyChangeKeyValue</b> with the new parameters. Each time a process calls <b>RegNotifyChangeKeyValue</b> with the same set of parameters, it establishes another wait operation, creating a resource leak. Therefore, check that you are not calling <b>RegNotifyChangeKeyValue</b> with the same parameters until the previous wait operation has completed. To monitor registry operations in more detail, see <a href="https://docs.microsoft.com/windows/desktop/ETW/registry">Registry</a>. <b>Windows XP/2000:  </b>When <b>RegNotifyChangeKeyValue</b> is called for a particular key handle, change notifications occur for as long as the key handle is valid. This causes a second call to <b>RegNotifyChangeKeyValue</b> to return immediately, if any changes occur in the interim between the first and second calls. If the function is being used asynchronously, the passed event handle will be signaled immediately if any changes occur in the interim.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winreg/nf-winreg-regnotifychangekeyvalue#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.RegOpenKeyEx(System.Runtime.InteropServices.SafeHandle,System.String,System.UInt32,Windows.Win32.System.Registry.REG_SAM_FLAGS,Microsoft.Win32.SafeHandles.SafeRegistryHandle@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.RegOpenKeyEx(Windows.Win32.System.Registry.HKEY,Windows.Win32.Foundation.PCWSTR,System.UInt32,Windows.Win32.System.Registry.REG_SAM_FLAGS,Windows.Win32.System.Registry.HKEY*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.RegOpenKeyEx(Windows.Win32.System.Registry.HKEY,Windows.Win32.Foundation.PCWSTR,System.UInt32,Windows.Win32.System.Registry.REG_SAM_FLAGS,Windows.Win32.System.Registry.HKEY*)">
            <summary>Opens the specified registry key. Note that key names are not case sensitive. (Unicode)</summary>
            <param name="hKey">
            <para>A handle to an open registry key. This handle is returned by the <a href="https://docs.microsoft.com/windows/desktop/api/winreg/nf-winreg-regcreatekeyexa">RegCreateKeyEx</a> or <b>RegOpenKeyEx</b> function, or it can be one of the following <a href="https://docs.microsoft.com/windows/desktop/SysInfo/predefined-keys">predefined keys</a>:</para>
            <para><b>HKEY_CLASSES_ROOT</b> <b>HKEY_CURRENT_CONFIG</b> <b>HKEY_CURRENT_USER</b> <b>HKEY_LOCAL_MACHINE</b> <b>HKEY_USERS</b></para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winreg/nf-winreg-regopenkeyexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="lpSubKey">
            <para>The name of the registry subkey to be opened. Key names are not case sensitive. If the <i>lpSubKey</i> parameter is <b>NULL</b> or a pointer to an empty string, and if <i>hKey</i> is a predefined key, then the system refreshes the predefined key, and <i>phkResult</i> receives the same <i>hKey</i> handle passed into the function. Otherwise, <i>phkResult</i> receives a new handle to the opened key. For more information, see <a href="https://docs.microsoft.com/windows/desktop/SysInfo/registry-element-size-limits">Registry Element Size Limits</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winreg/nf-winreg-regopenkeyexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ulOptions">
            <para>Specifies the option to apply when opening the key. Set this parameter to zero or the following: </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winreg/nf-winreg-regopenkeyexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="samDesired">
            <para>A mask that specifies the desired access rights to the key to be opened. The function fails if the security descriptor of the key does not permit the requested access for the calling process. For more information, see <a href="https://docs.microsoft.com/windows/desktop/SysInfo/registry-key-security-and-access-rights">Registry Key Security and Access Rights</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winreg/nf-winreg-regopenkeyexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="phkResult">
            <para>A pointer to a variable that receives a handle to the opened key. If the key is not one of the predefined registry keys, call the <a href="https://docs.microsoft.com/windows/desktop/api/winreg/nf-winreg-regclosekey">RegCloseKey</a> function after you have finished using the handle.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winreg/nf-winreg-regopenkeyexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>If the function succeeds, the return value is ERROR_SUCCESS. If the function fails, the return value is a nonzero error code defined in Winerror.h. You can use the <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-formatmessage">FormatMessage</a> function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error.</para>
            </returns>
            <remarks>
            <para>Unlike the <a href="https://docs.microsoft.com/windows/desktop/api/winreg/nf-winreg-regcreatekeyexa">RegCreateKeyEx</a> function, the <b>RegOpenKeyEx</b> function does not create the specified key if the key does not exist in the registry. Certain registry operations perform access checks against the security descriptor of the key, not the access mask specified when the handle to the key was obtained. For example, even if a key is opened with a <i>samDesired</i> of KEY_READ, it can be used to create registry keys if the key's security descriptor permits. In contrast, the <a href="https://docs.microsoft.com/windows/desktop/api/winreg/nf-winreg-regsetvalueexa">RegSetValueEx</a> function specifically requires that the key be opened with the KEY_SET_VALUE access right. If your service or application impersonates different users, do not use this function with <b>HKEY_CURRENT_USER</b>. Instead, call the <a href="https://docs.microsoft.com/windows/desktop/api/winreg/nf-winreg-regopencurrentuser">RegOpenCurrentUser</a> function. Note that operations that access certain registry keys are redirected. For more information,  see <a href="https://docs.microsoft.com/windows/desktop/SysInfo/registry-virtualization">Registry Virtualization</a> and <a href="https://docs.microsoft.com/windows/desktop/SysInfo/32-bit-and-64-bit-application-data-in-the-registry">32-bit and 64-bit Application Data in the Registry</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winreg/nf-winreg-regopenkeyexw#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetPackageFamilyNameFromToken(System.Runtime.InteropServices.SafeHandle,System.UInt32@,System.Span{System.Char})">
            <inheritdoc cref="M:Windows.Win32.PInvoke.GetPackageFamilyNameFromToken(Windows.Win32.Foundation.HANDLE,System.UInt32*,Windows.Win32.Foundation.PWSTR)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetPackageFamilyNameFromToken(Windows.Win32.Foundation.HANDLE,System.UInt32*,Windows.Win32.Foundation.PWSTR)">
            <summary>Gets the package family name for the specified token.</summary>
            <param name="token">
            <para>Type: <b>HANDLE</b> A token that contains the package identity.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/appmodel/nf-appmodel-getpackagefamilynamefromtoken#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="packageFamilyNameLength">
            <para>Type: <b>UINT32*</b> On input, the size of the <i>packageFamilyName</i> buffer, in characters. On output, the size of the package family name returned, in characters, including the null-terminator.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/appmodel/nf-appmodel-getpackagefamilynamefromtoken#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="packageFamilyName">
            <para>Type: <b>PWSTR</b> The package family name.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/appmodel/nf-appmodel-getpackagefamilynamefromtoken#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>LONG</b> If the function succeeds it returns <b>ERROR_SUCCESS</b>. Otherwise, the function returns an error code. The possible error codes include the following. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>For info about string size limits, see <a href="https://docs.microsoft.com/windows/desktop/appxpkg/identity-constants">Identity constants</a>.</remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetDpiForMonitor(Windows.Win32.Graphics.Gdi.HMONITOR,Windows.Win32.UI.HiDpi.MONITOR_DPI_TYPE,System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.GetDpiForMonitor(Windows.Win32.Graphics.Gdi.HMONITOR,Windows.Win32.UI.HiDpi.MONITOR_DPI_TYPE,System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetDpiForMonitor(Windows.Win32.Graphics.Gdi.HMONITOR,Windows.Win32.UI.HiDpi.MONITOR_DPI_TYPE,System.UInt32*,System.UInt32*)">
            <summary>Queries the dots per inch (dpi) of a display.</summary>
            <param name="hmonitor">Handle of the monitor being queried.</param>
            <param name="dpiType">The type of DPI being queried. Possible values are from the <a href="https://docs.microsoft.com/windows/desktop/api/shellscalingapi/ne-shellscalingapi-monitor_dpi_type">MONITOR_DPI_TYPE</a> enumeration.</param>
            <param name="dpiX">The value of the DPI along the X axis. This value always refers to the horizontal edge, even when the screen is rotated.</param>
            <param name="dpiY">The value of the DPI along the Y axis. This value always refers to the vertical edge, even when the screen is rotated.</param>
            <returns>
            <para>This function returns one of the following values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>This API is not DPI aware and should not be used if the calling thread is per-monitor DPI aware. For the DPI-aware version of this API, see <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getdpiforwindow">GetDpiForWindow</a>. When you call <b>GetDpiForMonitor</b>, you will receive different DPI values depending on the DPI awareness of the calling application. DPI awareness is an application-level property usually defined in the application manifest. For more information about DPI awareness values, see <a href="https://docs.microsoft.com/windows/desktop/api/shellscalingapi/ne-shellscalingapi-process_dpi_awareness">PROCESS_DPI_AWARENESS</a>. The following table indicates how the results will differ based on the <b>PROCESS_DPI_AWARENESS</b> value of your application. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/shellscalingapi/nf-shellscalingapi-getdpiformonitor#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.DwmDefWindowProc(Windows.Win32.Foundation.HWND,System.UInt32,Windows.Win32.Foundation.WPARAM,Windows.Win32.Foundation.LPARAM,Windows.Win32.Foundation.LRESULT@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.DwmDefWindowProc(Windows.Win32.Foundation.HWND,System.UInt32,Windows.Win32.Foundation.WPARAM,Windows.Win32.Foundation.LPARAM,Windows.Win32.Foundation.LRESULT*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.DwmDefWindowProc(Windows.Win32.Foundation.HWND,System.UInt32,Windows.Win32.Foundation.WPARAM,Windows.Win32.Foundation.LPARAM,Windows.Win32.Foundation.LRESULT*)">
            <summary>Default window procedure for Desktop Window Manager (DWM) hit testing within the non-client area.</summary>
            <param name="hWnd">A handle to the window procedure that received the message.</param>
            <param name="msg">The message.</param>
            <param name="wParam">Specifies additional message information. The content of this parameter depends on the value of the <i>msg</i> parameter.</param>
            <param name="lParam">Specifies additional message information. The content of this parameter depends on the value of the <i>msg</i> parameter.</param>
            <param name="plResult">A pointer to an <b>LRESULT</b> value that, when this method returns successfully,receives the result of the hit test.</param>
            <returns><b>TRUE</b> if <b>DwmDefWindowProc</b> handled the message; otherwise, <b>FALSE</b>.</returns>
            <remarks>When creating custom frames that include the standard caption buttons, <a href="https://docs.microsoft.com/windows/desktop/inputdev/wm-nchittest">WM_NCHITTEST</a> and other non-client hit test messages should first be passed to the <b>DwmDefWindowProc</b> function. This enables the DWM to provide hit testing for the captions buttons. If <b>DwmDefWindowProc</b> does not handle the non-client hit test messages, further processing of these messages might be necessary.</remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.DwmExtendFrameIntoClientArea(Windows.Win32.Foundation.HWND,Windows.Win32.UI.Controls.MARGINS@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.DwmExtendFrameIntoClientArea(Windows.Win32.Foundation.HWND,Windows.Win32.UI.Controls.MARGINS*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.DwmExtendFrameIntoClientArea(Windows.Win32.Foundation.HWND,Windows.Win32.UI.Controls.MARGINS*)">
            <summary>Extends the window frame into the client area.</summary>
            <param name="hWnd">The handle to the window in which the frame will be extended into the client area.</param>
            <param name="pMarInset">A pointer to a <a href="https://docs.microsoft.com/windows/desktop/api/uxtheme/ns-uxtheme-margins">MARGINS</a> structure that describes the margins to use when extending the frame into the client area.</param>
            <returns>If this function succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</returns>
            <remarks>
            <para>This function must be called whenever Desktop Window Manager (DWM) composition is toggled. Handle the <a href="https://docs.microsoft.com/windows/desktop/dwm/wm-dwmcompositionchanged">WM_DWMCOMPOSITIONCHANGED</a> message for composition change notification. Use negative margin values to create the "sheet of glass" effect where the client area is rendered as a solid surface with no window border.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/dwmapi/nf-dwmapi-dwmextendframeintoclientarea#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.DwmSetWindowAttribute(Windows.Win32.Foundation.HWND,Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE,System.Void*,System.UInt32)">
            <summary>Sets the value of Desktop Window Manager (DWM) non-client rendering attributes for a window.</summary>
            <param name="hwnd">The handle to the window for which the attribute value is to be set.</param>
            <param name="dwAttribute">A flag describing which value to set, specified as a value of the [DWMWINDOWATTRIBUTE](/windows/desktop/api/dwmapi/ne-dwmapi-dwmwindowattribute) enumeration. This parameter specifies which attribute to set, and the *pvAttribute* parameter points to an object containing the attribute value.</param>
            <param name="pvAttribute">A pointer to an object containing the attribute value to set. The type of the value set depends on the value of the *dwAttribute* parameter. The [**DWMWINDOWATTRIBUTE**](/windows/desktop/api/Dwmapi/ne-dwmapi-dwmwindowattribute) enumeration topic indicates, in the row for each flag, what type of value you should pass a pointer to in the *pvAttribute* parameter.</param>
            <param name="cbAttribute">The size, in bytes, of the attribute value being set via the *pvAttribute* parameter. The type of the value set, and therefore its size in bytes, depends on the value of the *dwAttribute* parameter.</param>
            <returns>
            <para>Type: **[HRESULT](/windows/desktop/com/structure-of-com-error-codes)** If the function succeeds, it returns **S_OK**. Otherwise, it returns an [**HRESULT**](/windows/desktop/com/structure-of-com-error-codes) [error code](/windows/desktop/com/com-error-codes-10). If Desktop Composition has been disabled (Windows 7 and earlier), then this function returns **DWM_E_COMPOSITIONDISABLED**.</para>
            </returns>
            <remarks>It's not valid to call this function with the *dwAttribute* parameter set to **DWMWA_NCRENDERING_ENABLED**. To enable or disable non-client rendering, you should use the **DWMWA_NCRENDERING_POLICY** attribute, and set the desired value. For more info, and a code example, see [Controlling non-client region rendering](/windows/desktop/dwm/composition-ovw#controlling-non-client-region-rendering).</remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_THEMECHANGED">
            <summary>Broadcast to every window following a theme change event. Examples of theme change events are the activation of a theme, the deactivation of a theme, or a transition from one theme to another.</summary>
            <returns>
            <para>Type: **LRESULT** If an application processes this message, it should return zero.</para>
            </returns>
            <remarks>
            <para>A window receives this message through its [**WindowProc**](/previous-versions/windows/desktop/legacy/ms633573(v=vs.85)) function. > [!Note] > This message is posted by the operating system. Applications typically do not send this message.</para>
            <para>Themes are specifications for the appearance of controls, so that the visual element of a control is treated separately from its functionality. To release an existing theme handle, call [**CloseThemeData**](/windows/win32/api/uxtheme/nf-uxtheme-closethemedata). To acquire a new theme handle, use [**OpenThemeData**](/windows/win32/api/uxtheme/nf-uxtheme-openthemedata). Following the **WM\_THEMECHANGED** broadcast, any existing theme handles are invalid. A theme-aware window should release and reopen any of its pre-existing theme handles when it receives the **WM\_THEMECHANGED** message. If the [**OpenThemeData**](/windows/win32/api/uxtheme/nf-uxtheme-openthemedata) function returns **NULL**, the window should paint unthemed.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/winmsg/wm-themechanged#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_CLOSE">
            <summary>Sent as a signal that a window or an application should terminate.</summary>
            <returns>
            <para>Type: **LRESULT** If an application processes this message, it should return zero.</para>
            </returns>
            <remarks>
            <para>An application can prompt the user for confirmation, prior to destroying a window, by processing the **WM\_CLOSE** message and calling the [**DestroyWindow**](/windows/win32/api/winuser/nf-winuser-destroywindow) function only if the user confirms the choice. By default, the [**DefWindowProc**](/windows/desktop/api/winuser/nf-winuser-defwindowproca) function calls the [**DestroyWindow**](/windows/win32/api/winuser/nf-winuser-destroywindow) function to destroy the window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/winmsg/wm-close#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_QUERYENDSESSION">
            <summary>The WM\_QUERYENDSESSION message is sent when the user chooses to end the session or when an application calls one of the system shutdown functions.</summary>
            <returns>
            <para>Applications should respect the user's intentions and return **TRUE**. By default, the [**DefWindowProc**](/windows/desktop/api/winuser/nf-winuser-defwindowproca) function returns **TRUE** for this message. If shutting down would corrupt the system or media that is being burned, the application can return **FALSE**. However, it is good practice to respect the user's actions.</para>
            </returns>
            <remarks>
            <para>When an application returns **TRUE** for this message, it receives the [**WM\_ENDSESSION**](wm-endsession.md) message, regardless of how the other applications respond to the **WM\_QUERYENDSESSION** message. Each application should return **TRUE** or **FALSE** immediately upon receiving this message, and defer any cleanup operations until it receives the **WM\_ENDSESSION** message. Applications can display a user interface prompting the user for information at shutdown, however it is not recommended. After five seconds, the system displays information about the applications that are preventing shutdown and allows the user to terminate them. For example, Windows XP displays a dialog box, while Windows Vista displays a full screen with additional information about the applications blocking shutdown. If your application must block or postpone system shutdown, use the [**ShutdownBlockReasonCreate**](/windows/desktop/api/Winuser/nf-winuser-shutdownblockreasoncreate) function. For more information, see [Shutdown Changes for Windows Vista](shutdown-changes-for-windows-vista.md). Console applications can use the [**SetConsoleCtrlHandler**](/windows/console/setconsolectrlhandler) function to receive shutdown notification. Service applications can use the [**RegisterServiceCtrlHandlerEx**](/windows/win32/api/winsvc/nf-winsvc-registerservicectrlhandlerexa) function to receive shutdown notifications in a handler routine.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/Shutdown/wm-queryendsession#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_ENDSESSION">
            <summary>The WM\_ENDSESSION message is sent to an application after the system processes the results of the WM\_QUERYENDSESSION message. The WM\_ENDSESSION message informs the application whether the session is ending.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>Applications that have unsaved data could save the data to a temporary location and restore it the next time the application starts. It is recommended that applications save their data and state frequently; for example, automatically save data between save operations initiated by the user to reduce the amount of data to be saved at shutdown. The application need not call the [**DestroyWindow**](/windows/win32/api/winuser/nf-winuser-destroywindow) or [**PostQuitMessage**](/windows/win32/api/winuser/nf-winuser-postquitmessage) function when the session is ending.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/Shutdown/wm-endsession#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_CREATE">
            <summary>Sent when an application requests that a window be created by calling the CreateWindowEx or CreateWindow function.</summary>
            <returns>
            <para>Type: **LRESULT** If an application processes this message, it should return zero to continue creation of the window. If the application returns –1, the window is destroyed and the [**CreateWindowEx**](/windows/win32/api/winuser/nf-winuser-createwindowexa) or [**CreateWindow**](/windows/win32/api/winuser/nf-winuser-createwindowa) function returns a **NULL** handle.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/winmsg/wm-create">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_NCCALCSIZE">
            <summary>Sent when the size and position of a window's client area must be calculated. By processing this message, an application can control the content of the window's client area when the size or position of the window changes.</summary>
            <returns>
            <para>Type: **LRESULT** If the *wParam* parameter is **FALSE**, the application should return zero. If *wParam* is **TRUE**, the application should return zero or a combination of the following values. If *wParam* is **TRUE** and an application returns zero, the old client area is preserved and is aligned with the upper-left corner of the new client area.</para>
            <para>| Return code/value                                                                                                                                           | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | |-------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | <dl> <dt>**WVR\_ALIGNTOP**</dt> <dt>0x0010</dt> </dl>    | Specifies that the client area of the window is to be preserved and aligned with the top of the new position of the window. For example, to align the client area to the upper-left corner, return the WVR\_ALIGNTOP and **WVR\_ALIGNLEFT** values.<br/>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | | <dl> <dt>**WVR\_ALIGNRIGHT**</dt> <dt>0x0080</dt> </dl>  | Specifies that the client area of the window is to be preserved and aligned with the right side of the new position of the window. For example, to align the client area to the lower-right corner, return the **WVR\_ALIGNRIGHT** and WVR\_ALIGNBOTTOM values.<br/>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | | <dl> <dt>**WVR\_ALIGNLEFT**</dt> <dt>0x0020</dt> </dl>   | Specifies that the client area of the window is to be preserved and aligned with the left side of the new position of the window. For example, to align the client area to the lower-left corner, return the **WVR\_ALIGNLEFT** and **WVR\_ALIGNBOTTOM** values.<br/>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | | <dl> <dt>**WVR\_ALIGNBOTTOM**</dt> <dt>0x0040</dt> </dl> | Specifies that the client area of the window is to be preserved and aligned with the bottom of the new position of the window. For example, to align the client area to the top-left corner, return the WVR\_ALIGNTOP and **WVR\_ALIGNLEFT** values.<br/>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | | <dl> <dt>**WVR\_HREDRAW**</dt> <dt>0x0100</dt> </dl>     | Used in combination with any other values, except **WVR\_VALIDRECTS**, causes the window to be completely redrawn if the client rectangle changes size horizontally. This value is similar to [CS\_HREDRAW](about-window-classes.md) class style<br/>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | | <dl> <dt>**WVR\_VREDRAW**</dt> <dt>0x0200</dt> </dl>     | Used in combination with any other values, except **WVR\_VALIDRECTS**, causes the window to be completely redrawn if the client rectangle changes size vertically. This value is similar to [CS\_VREDRAW](about-window-classes.md) class style<br/>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | | <dl> <dt>**WVR\_REDRAW**</dt> <dt>0x0300</dt> </dl>      | This value causes the entire window to be redrawn. It is a combination of **WVR\_HREDRAW** and **WVR\_VREDRAW** values.<br/>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | | <dl> <dt>**WVR\_VALIDRECTS**</dt> <dt>0x0400</dt> </dl>  | This value indicates that, upon return from [**WM\_NCCALCSIZE**](wm-nccalcsize.md), the rectangles specified by the **rgrc**\[1\] and **rgrc**\[2\] members of the [**NCCALCSIZE\_PARAMS**](/windows/win32/api/winuser/ns-winuser-nccalcsize_params) structure contain valid destination and source area rectangles, respectively. The system combines these rectangles to calculate the area of the window to be preserved. The system copies any part of the window image that is within the source rectangle and clips the image to the destination rectangle. Both rectangles are in parent-relative or screen-relative coordinates. This flag cannot be combined with any other flags. <br/> This return value allows an application to implement more elaborate client-area preservation strategies, such as centering or preserving a subset of the client area.<br/> |</para>
            </returns>
            <remarks>
            <para>The window may be redrawn, depending on whether the [CS\_HREDRAW](about-window-classes.md) or CS\_VREDRAW class style is specified. This is the default, backward-compatible processing of this message by the [**DefWindowProc**](/windows/desktop/api/winuser/nf-winuser-defwindowproca) function (in addition to the usual client rectangle calculation described in the preceding table). When *wParam* is **TRUE**, simply returning 0 without processing the [**NCCALCSIZE\_PARAMS**](/windows/win32/api/winuser/ns-winuser-nccalcsize_params) rectangles will cause the client area to resize to the size of the window, including the window frame. This will remove the window frame and caption items from your window, leaving only the client area displayed. Starting with Windows Vista, removing the standard frame by simply returning 0 when the *wParam* is **TRUE** does not affect frames that are extended into the client area using the [**DwmExtendFrameIntoClientArea**](/windows/win32/api/dwmapi/nf-dwmapi-dwmextendframeintoclientarea) function. Only the standard frame will be removed.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/winmsg/wm-nccalcsize#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_NCHITTEST">
            <summary>Sent to a window in order to determine what part of the window corresponds to a particular screen coordinate.</summary>
            <returns>
            <para>The return value of the [**DefWindowProc**](/windows/desktop/api/winuser/nf-winuser-defwindowproca) function is one of the following values, indicating the position of the cursor hot spot.</para>
            <para>| Return code/value                                                                                                                                    | Description                                                                                                                                                                                                        | |------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | <dl> <dt>**HTBORDER**</dt> <dt>18</dt> </dl>      | In the border of a window that does not have a sizing border.<br/>                                                                                                                                           | | <dl> <dt>**HTBOTTOM**</dt> <dt>15</dt> </dl>      | In the lower-horizontal border of a resizable window (the user can click the mouse to resize the window vertically).<br/>                                                                                    | | <dl> <dt>**HTBOTTOMLEFT**</dt> <dt>16</dt> </dl>  | In the lower-left corner of a border of a resizable window (the user can click the mouse to resize the window diagonally).<br/>                                                                              | | <dl> <dt>**HTBOTTOMRIGHT**</dt> <dt>17</dt> </dl> | In the lower-right corner of a border of a resizable window (the user can click the mouse to resize the window diagonally).<br/>                                                                             | | <dl> <dt>**HTCAPTION**</dt> <dt>2</dt> </dl>      | In a title bar.<br/>                                                                                                                                                                                         | | <dl> <dt>**HTCLIENT**</dt> <dt>1</dt> </dl>       | In a client area.<br/>                                                                                                                                                                                       | | <dl> <dt>**HTCLOSE**</dt> <dt>20</dt> </dl>       | In a **Close** button.<br/>                                                                                                                                                                                  | | <dl> <dt>**HTERROR**</dt> <dt>-2</dt> </dl>       | On the screen background or on a dividing line between windows (same as **HTNOWHERE**, except that the [**DefWindowProc**](/windows/desktop/api/winuser/nf-winuser-defwindowproca) function produces a system beep to indicate an error).<br/> | | <dl> <dt>**HTGROWBOX**</dt> <dt>4</dt> </dl>      | In a size box (same as **HTSIZE**).<br/>                                                                                                                                                                     | | <dl> <dt>**HTHELP**</dt> <dt>21</dt> </dl>        | In a **Help** button.<br/>                                                                                                                                                                                   | | <dl> <dt>**HTHSCROLL**</dt> <dt>6</dt> </dl>      | In a horizontal scroll bar.<br/>                                                                                                                                                                             | | <dl> <dt>**HTLEFT**</dt> <dt>10</dt> </dl>        | In the left border of a resizable window (the user can click the mouse to resize the window horizontally).<br/>                                                                                              | | <dl> <dt>**HTMENU**</dt> <dt>5</dt> </dl>         | In a menu.<br/>                                                                                                                                                                                              | | <dl> <dt>**HTMAXBUTTON**</dt> <dt>9</dt> </dl>    | In a **Maximize** button.<br/>                                                                                                                                                                               | | <dl> <dt>**HTMINBUTTON**</dt> <dt>8</dt> </dl>    | In a **Minimize** button.<br/>                                                                                                                                                                               | | <dl> <dt>**HTNOWHERE**</dt> <dt>0</dt> </dl>      | On the screen background or on a dividing line between windows.<br/>                                                                                                                                         | | <dl> <dt>**HTREDUCE**</dt> <dt>8</dt> </dl>       | In a **Minimize** button.<br/>                                                                                                                                                                               | | <dl> <dt>**HTRIGHT**</dt> <dt>11</dt> </dl>       | In the right border of a resizable window (the user can click the mouse to resize the window horizontally).<br/>                                                                                             | | <dl> <dt>**HTSIZE**</dt> <dt>4</dt> </dl>         | In a size box (same as **HTGROWBOX**).<br/>                                                                                                                                                                  | | <dl> <dt>**HTSYSMENU**</dt> <dt>3</dt> </dl>      | In a window menu or in a **Close** button in a child window.<br/>                                                                                                                                            | | <dl> <dt>**HTTOP**</dt> <dt>12</dt> </dl>         | In the upper-horizontal border of a window.<br/>                                                                                                                                                             | | <dl> <dt>**HTTOPLEFT**</dt> <dt>13</dt> </dl>     | In the upper-left corner of a window border.<br/>                                                                                                                                                            | | <dl> <dt>**HTTOPRIGHT**</dt> <dt>14</dt> </dl>    | In the upper-right corner of a window border.<br/>                                                                                                                                                           | | <dl> <dt>**HTTRANSPARENT**</dt> <dt>-1</dt> </dl> | In a window currently covered by another window in the same thread (the message will be sent to underlying windows in the same thread until one of them returns a code that is not **HTTRANSPARENT**).<br/>  | | <dl> <dt>**HTVSCROLL**</dt> <dt>7</dt> </dl>      | In the vertical scroll bar.<br/>                                                                                                                                                                             | | <dl> <dt>**HTZOOM**</dt> <dt>9</dt> </dl>         | In a **Maximize** button.<br/>                                                                                                                                                                               |</para>
            </returns>
            <remarks>
            <para>Use the following code to obtain the horizontal and vertical position:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-nchittest#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_STYLECHANGING">
            <summary>Sent to a window when the SetWindowLong function is about to change one or more of the window's styles.</summary>
            <returns>
            <para>Type: **LRESULT** An application should return zero if it processes this message.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/winmsg/wm-stylechanging">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <!-- Badly formed XML comment ignored for member "F:Windows.Win32.PInvoke.WM_LBUTTONDOWN" -->
        <member name="F:Windows.Win32.PInvoke.WM_LBUTTONDBLCLK">
            <summary>Posted when the user double-clicks the left mouse button while the cursor is in the client area of a window.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>Use the following code to obtain the horizontal and vertical position:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-lbuttondblclk#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_LBUTTONUP">
            <summary>Posted when the user releases the left mouse button while the cursor is in the client area of a window.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>Use the following code to obtain the horizontal and vertical position:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-lbuttonup#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_MBUTTONDOWN">
            <summary>Posted when the user presses the middle mouse button while the cursor is in the client area of a window.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>Use the following code to obtain the horizontal and vertical position:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-mbuttondown#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_MBUTTONDBLCLK">
            <summary>Posted when the user double-clicks the middle mouse button while the cursor is in the client area of a window.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>Use the following code to obtain the horizontal and vertical position:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-mbuttondblclk#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_MBUTTONUP">
            <summary>Posted when the user releases the middle mouse button while the cursor is in the client area of a window.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>Use the following code to obtain the horizontal and vertical position:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-mbuttonup#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_MOUSEHOVER">
            <summary>Posted to a window when the cursor hovers over the client area of the window for the period of time specified in a prior call to TrackMouseEvent.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>Hover tracking stops when **WM\_MOUSEHOVER** is generated. The application must call [**TrackMouseEvent**](/windows/win32/api/winuser/nf-winuser-trackmouseevent) again if it requires further tracking of mouse hover behavior. Use the following code to obtain the horizontal and vertical position:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-mousehover#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_MOUSELEAVE">
            <summary>Posted to a window when the cursor leaves the client area of the window specified in a prior call to TrackMouseEvent.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>All tracking requested by [**TrackMouseEvent**](/windows/win32/api/winuser/nf-winuser-trackmouseevent) is canceled when this message is generated. The application must call **TrackMouseEvent** when the mouse reenters its window if it requires further tracking of mouse hover behavior.</remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_MOUSEMOVE">
            <summary>Posted to a window when the cursor moves. If the mouse is not captured, the message is posted to the window that contains the cursor. Otherwise, the message is posted to the window that has captured the mouse.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>Use the following code to obtain the horizontal and vertical position:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-mousemove#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_RBUTTONDOWN">
            <summary>Posted when the user presses the right mouse button while the cursor is in the client area of a window.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>Use the following code to obtain the horizontal and vertical position:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-rbuttondown#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_RBUTTONDBLCLK">
            <summary>Posted when the user double-clicks the right mouse button while the cursor is in the client area of a window.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>Only windows that have the **CS\_DBLCLKS** style can receive **WM\_RBUTTONDBLCLK** messages, which the system generates whenever the user presses, releases, and again presses the right mouse button within the system's double-click time limit. Double-clicking the right mouse button actually generates four messages: [**WM\_RBUTTONDOWN**](wm-rbuttondown.md), [**WM\_RBUTTONUP**](wm-rbuttonup.md), **WM\_RBUTTONDBLCLK**, and **WM\_RBUTTONUP** again. Use the following code to obtain the horizontal and vertical position:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-rbuttondblclk#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_RBUTTONUP">
            <summary>Posted when the user releases the right mouse button while the cursor is in the client area of a window.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>Use the following code to obtain the horizontal and vertical position:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-rbuttonup#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_NCLBUTTONDOWN">
            <summary>Posted when the user presses the left mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>The [**DefWindowProc**](/windows/desktop/api/winuser/nf-winuser-defwindowproca) function tests the specified point to find the location of the cursor and performs the appropriate action. If appropriate, **DefWindowProc** sends the [**WM\_SYSCOMMAND**](/windows/desktop/menurc/wm-syscommand) message to the window. You can also use the [**GET\_X\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_x_lparam) and [**GET\_Y\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_y_lparam) macros to extract the values of the x- and y- coordinates from *lParam*.</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-nclbuttondown#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_NCLBUTTONDBLCLK">
            <summary>Posted when the user double-clicks the left mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>You can also use the [**GET\_X\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_x_lparam) and [**GET\_Y\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_y_lparam) macros to extract the values of the x- and y- coordinates from *lParam*.</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-nclbuttondblclk#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_NCLBUTTONUP">
            <summary>Posted when the user releases the left mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>The [**DefWindowProc**](/windows/desktop/api/winuser/nf-winuser-defwindowproca) function tests the specified point to find out the location of the cursor and performs the appropriate action. If appropriate, **DefWindowProc** sends the [**WM\_SYSCOMMAND**](/windows/desktop/menurc/wm-syscommand) message to the window. You can also use the [**GET\_X\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_x_lparam) and [**GET\_Y\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_y_lparam) macros to extract the values of the x- and y- coordinates from *lParam*.</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-nclbuttonup#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_NCMBUTTONDOWN">
            <summary>Posted when the user presses the middle mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>You can also use the [**GET\_X\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_x_lparam) and [**GET\_Y\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_y_lparam) macros to extract the values of the x- and y- coordinates from *lParam*.</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-ncmbuttondown#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_NCMBUTTONDBLCLK">
            <summary>Posted when the user double-clicks the middle mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>A window need not have the **CS\_DBLCLKS** style to receive **WM\_NCMBUTTONDBLCLK** messages. The system generates a **WM\_NCMBUTTONDBLCLK** message when the user presses, releases, and again presses the middle mouse button within the system's double-click time limit. Double-clicking the middle mouse button actually generates four messages: [**WM\_NCMBUTTONDOWN**](wm-ncmbuttondown.md), [**WM\_NCMBUTTONUP**](wm-ncmbuttonup.md), **WM\_NCMBUTTONDBLCLK**, and **WM\_NCMBUTTONUP** again. You can also use the [**GET\_X\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_x_lparam) and [**GET\_Y\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_y_lparam) macros to extract the values of the x- and y- coordinates from *lParam*.</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-ncmbuttondblclk#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_NCMBUTTONUP">
            <summary>Posted when the user releases the middle mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>You can also use the [**GET\_X\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_x_lparam) and [**GET\_Y\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_y_lparam) macros to extract the values of the x- and y- coordinates from *lParam*.</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-ncmbuttonup#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_NCMOUSEHOVER">
            <summary>Posted to a window when the cursor hovers over the nonclient area of the window for the period of time specified in a prior call to TrackMouseEvent.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>Hover tracking stops when this message is generated. The application must call [**TrackMouseEvent**](/windows/win32/api/winuser/nf-winuser-trackmouseevent) again if it requires further tracking of mouse hover behavior. You can also use the [**GET\_X\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_x_lparam) and [**GET\_Y\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_y_lparam) macros to extract the values of the x- and y- coordinates from *lParam*.</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-ncmousehover#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_NCMOUSELEAVE">
            <summary>Posted to a window when the cursor leaves the nonclient area of the window specified in a prior call to TrackMouseEvent.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>All tracking requested by [**TrackMouseEvent**](/windows/win32/api/winuser/nf-winuser-trackmouseevent) is canceled when this message is generated. The application must call **TrackMouseEvent** when the mouse reenters its window if it requires further tracking of mouse hover behavior.</remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_NCMOUSEMOVE">
            <summary>Posted to a window when the cursor is moved within the nonclient area of the window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>If it is appropriate to do so, the system sends the [**WM\_SYSCOMMAND**](/windows/desktop/menurc/wm-syscommand) message to the window. You can also use the [**GET\_X\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_x_lparam) and [**GET\_Y\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_y_lparam) macros to extract the values of the x- and y- coordinates from *lParam*.</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-ncmousemove#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_NCRBUTTONDOWN">
            <summary>Posted when the user presses the right mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>You can also use the [**GET\_X\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_x_lparam) and [**GET\_Y\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_y_lparam) macros to extract the values of the x- and y- coordinates from *lParam*.</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-ncrbuttondown#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_NCRBUTTONDBLCLK">
            <summary>Posted when the user double-clicks the right mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>A window need not have the **CS\_DBLCLKS** style to receive **WM\_NCRBUTTONDBLCLK** messages. The system generates a **WM\_NCRBUTTONDBLCLK** message when the user presses, releases, and again presses the right mouse button within the system's double-click time limit. Double-clicking the right mouse button actually generates four messages: [**WM\_NCRBUTTONDOWN**](wm-ncrbuttondown.md), [**WM\_NCRBUTTONUP**](wm-ncrbuttonup.md), **WM\_NCRBUTTONDBLCLK**, and **WM\_NCRBUTTONUP** again. You can also use the [**GET\_X\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_x_lparam) and [**GET\_Y\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_y_lparam) macros to extract the values of the x- and y- coordinates from *lParam*.</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-ncrbuttondblclk#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_NCRBUTTONUP">
            <summary>Posted when the user releases the right mouse button while the cursor is within the nonclient area of a window. This message is posted to the window that contains the cursor. If a window has captured the mouse, this message is not posted.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>You can also use the [**GET\_X\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_x_lparam) and [**GET\_Y\_LPARAM**](/windows/desktop/api/windowsx/nf-windowsx-get_y_lparam) macros to extract the values of the x- and y- coordinates from *lParam*.</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/inputdev/wm-ncrbuttonup#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_NCCREATE">
            <summary>Sent prior to the WM\_CREATE message when a window is first created.</summary>
            <returns>
            <para>Type: **LRESULT** If an application processes this message, it should return **TRUE** to continue creation of the window. If the application returns **FALSE**, the [**CreateWindow**](/windows/win32/api/winuser/nf-winuser-createwindowa) or [**CreateWindowEx**](/windows/win32/api/winuser/nf-winuser-createwindowexa) function will return a **NULL** handle.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/winmsg/wm-nccreate">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_NCDESTROY">
            <summary>Notifies a window that its nonclient area is being destroyed. The DestroyWindow function sends the WM\_NCDESTROY message to the window following the WM\_DESTROY message.</summary>
            <returns>
            <para>Type: **LRESULT** If an application processes this message, it should return zero.</para>
            </returns>
            <remarks>This message frees any memory internally allocated for the window.</remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_SETCURSOR">
            <summary>Sent to a window if the mouse causes the cursor to move within a window and mouse input is not captured.</summary>
            <returns>If an application processes this message, it should return **TRUE** to halt further processing or **FALSE** to continue.</returns>
            <remarks>The [**DefWindowProc**](/windows/desktop/api/winuser/nf-winuser-defwindowprocw) function passes the **WM\_SETCURSOR** message to a parent window before processing. If the parent window returns **TRUE**, further processing is halted. Passing the message to a window's parent window gives the parent window control over the cursor's setting in a child window. The **DefWindowProc** function also uses this message to set the cursor to an arrow if it is not in the client area, or to the registered class cursor if it is in the client area. If the low-order word of the *lParam* parameter is **HTERROR** and the high-order word of *lParam* specifies that one of the mouse buttons is pressed, **DefWindowProc** calls the [**MessageBeep**](/windows/desktop/api/winuser/nf-winuser-messagebeep) function.</remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_GETMINMAXINFO">
            <summary>Sent to a window when the size or position of the window is about to change. An application can use this message to override the window's default maximized size and position, or its default minimum or maximum tracking size.</summary>
            <returns>
            <para>Type: **LRESULT** If an application processes this message, it should return zero.</para>
            </returns>
            <remarks>The maximum tracking size is the largest window size that can be produced by using the borders to size the window. The minimum tracking size is the smallest window size that can be produced by using the borders to size the window.</remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_SHOWWINDOW">
            <summary>Sent to a window when the window is about to be hidden or shown.</summary>
            <returns>
            <para>Type: **LRESULT** If an application processes this message, it should return zero.</para>
            </returns>
            <remarks>
            <para>The [**DefWindowProc**](/windows/desktop/api/winuser/nf-winuser-defwindowproca) function hides or shows the window, as specified by the message. If a window has the [**WS\_VISIBLE**](window-styles.md) style when it is created, the window receives this message after it is created, but before it is displayed. A window also receives this message when its visibility state is changed by the [**ShowWindow**](/windows/win32/api/winuser/nf-winuser-showwindow) or [**ShowOwnedPopups**](/windows/win32/api/winuser/nf-winuser-showownedpopups) function. The **WM\_SHOWWINDOW** message is not sent under the following circumstances: -   When a top-level, overlapped window is created with the [**WS\_MAXIMIZE**](window-styles.md) or **WS\_MINIMIZE** style. -   When the **SW\_SHOWNORMAL** flag is specified in the call to the [**ShowWindow**](/windows/win32/api/winuser/nf-winuser-showwindow) function.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/winmsg/wm-showwindow#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_ACTIVATE">
            <summary>Sent to both the window being activated and the window being deactivated.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>If the window is being activated and is not minimized, the [**DefWindowProc**](/windows/desktop/api/winuser/nf-winuser-defwindowproca) function sets the keyboard focus to the window. If the window is activated by a mouse click, it also receives a [**WM\_MOUSEACTIVATE**](wm-mouseactivate.md) message.</remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_PAINT">
            <summary>The WM\_PAINT message is sent when the system or another application makes a request to paint a portion of an application's window.</summary>
            <returns>An application returns zero if it processes this message.</returns>
            <remarks>
            <para>The **WM\_PAINT** message is generated by the system and should not be sent by an application. To force a window to draw into a specific device context, use the [**WM\_PRINT**](wm-print.md) or [**WM\_PRINTCLIENT**](wm-printclient.md) message. Note that this requires the target window to support the **WM\_PRINTCLIENT** message. Most common controls support the **WM\_PRINTCLIENT** message. The [**DefWindowProc**](/windows/desktop/api/winuser/nf-winuser-defwindowproca)  function validates the update region. The function may also send the [**WM\_NCPAINT**](wm-ncpaint.md) message to the window procedure if the window frame must be painted and send the [**WM\_ERASEBKGND**](../winmsg/wm-erasebkgnd.md) message if the window background must be erased. The system sends this message when there are no other messages in the application's message queue. [**DispatchMessage**](/windows/win32/api/winuser/nf-winuser-dispatchmessage) determines where to send the message; [**GetMessage**](/windows/win32/api/winuser/nf-winuser-getmessage) determines which message to dispatch. **GetMessage** returns the **WM\_PAINT** message when there are no other messages in the application's message queue, and **DispatchMessage** sends the message to the appropriate window procedure. A window may receive internal paint messages as a result of calling [**RedrawWindow**](/windows/desktop/api/Winuser/nf-winuser-redrawwindow) with the RDW\_INTERNALPAINT flag set. In this case, the window may not have an update region. An application may call the [**GetUpdateRect**](/windows/desktop/api/Winuser/nf-winuser-getupdaterect) function to determine whether the window has an update region. If **GetUpdateRect** returns zero, the application need not call the [**BeginPaint**](/windows/desktop/api/Winuser/nf-winuser-beginpaint) and [**EndPaint**](/windows/desktop/api/Winuser/nf-winuser-endpaint) functions. An application must check for any necessary internal painting by looking at its internal data structures for each **WM\_PAINT** message, because a **WM\_PAINT** message may have been caused by both a non-NULL update region and a call to [**RedrawWindow**](/windows/desktop/api/Winuser/nf-winuser-redrawwindow) with the RDW\_INTERNALPAINT flag set. The system sends an internal **WM\_PAINT** message only once. After an internal **WM\_PAINT** message is returned from [**GetMessage**](/windows/win32/api/winuser/nf-winuser-getmessage) or [**PeekMessage**](/windows/win32/api/winuser/nf-winuser-peekmessagea) or is sent to a window by [**UpdateWindow**](/windows/desktop/api/Winuser/nf-winuser-updatewindow), the system does not post or send further **WM\_PAINT** messages until the window is invalidated or until [**RedrawWindow**](/windows/desktop/api/Winuser/nf-winuser-redrawwindow) is called again with the RDW\_INTERNALPAINT flag set. For some common controls, the default **WM\_PAINT** message processing checks the *wParam* parameter. If *wParam* is non-NULL, the control assumes that the value is an HDC and paints using that device context.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/gdi/wm-paint#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_DPICHANGED">
            <summary>Sent when the effective dots per inch (dpi) for a window has changed.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>
            <para>This message is only relevant for **PROCESS\_PER\_MONITOR\_DPI\_AWARE** applications or **DPI\_AWARENESS\_PER\_MONITOR\_AWARE** threads. It may be received on certain DPI changes if your top-level window or process is running as **DPI unaware** or **system DPI aware**, but in those situations it can be safely ignored. For more information about the different types of awareness, see [**PROCESS\_DPI\_AWARENESS**](/windows/desktop/api/ShellScalingApi/ne-shellscalingapi-process_dpi_awareness) and [**DPI\_AWARENESS**](/windows/desktop/api/windef/ne-windef-dpi_awareness). Older versions of Windows required DPI awareness to be tied at the level of an application. Those apps use **PROCESS\_DPI\_AWARENESS**. Currently, DPI awareness is tied to threads and individual windows rather than the entire application. These apps use **DPI\_AWARENESS**. You only need to use either the X-axis or the Y-axis value when scaling your application since they are the same. In order to handle this message correctly, you will need to resize and reposition your window based on the suggestions provided by *lParam* and using [**SetWindowPos**](/windows/desktop/api/winuser/nf-winuser-setwindowpos). If you do not do this, your window will grow or shrink with respect to everything else on the new monitor. For example, if a user is using multiple monitors and drags your window from a 96 DPI monitor to a 192 DPI monitor, your window will appear to be half as large with respect to other items on the 192 DPI monitor. The base value of DPI is defined as **USER\_DEFAULT\_SCREEN\_DPI** which is set to 96. To determine the scaling factor for a monitor, take the DPI value and divide by **USER\_DEFAULT\_SCREEN\_DPI**. The following table provides some sample DPI values and associated scaling factors.</para>
            <para>| DPI value | Scaling percentage | |-----------|--------------------| | 96        | 100%               | | 120       | 125%               | | 144       | 150%               | | 192       | 200%               |</para>
            <para>The following example provides a sample DPI change handler.</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/hidpi/wm-dpichanged#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_DESTROY">
            <summary>Sent when a window is being destroyed. It is sent to the window procedure of the window being destroyed after the window is removed from the screen.</summary>
            <returns>
            <para>Type: **LRESULT** If an application processes this message, it should return zero.</para>
            </returns>
            <remarks>If the window being destroyed is part of the clipboard viewer chain (set by calling the [**SetClipboardViewer**](/windows/win32/api/winuser/nf-winuser-setclipboardviewer) function), the window must remove itself from the chain by processing the [**ChangeClipboardChain**](/windows/win32/api/winuser/nf-winuser-changeclipboardchain) function before returning from the **WM\_DESTROY** message.</remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_QUIT">
            <summary>Indicates a request to terminate an application, and is generated when the application calls the PostQuitMessage function. This message causes the GetMessage function to return zero.</summary>
            <returns>
            <para>Type: **LRESULT** This message does not have a return value because it causes the message loop to terminate before the message is sent to the application's window procedure.</para>
            </returns>
            <remarks>
            <para>The **WM\_QUIT** message is not associated with a window and therefore will never be received through a window's window procedure. It is retrieved only by the [**GetMessage**](/windows/win32/api/winuser/nf-winuser-getmessage) or [**PeekMessage**](/windows/win32/api/winuser/nf-winuser-peekmessagea) functions. Do not post the **WM\_QUIT** message using the [**PostMessage**](/windows/win32/api/winuser/nf-winuser-postmessagea) function; use [**PostQuitMessage**](/windows/win32/api/winuser/nf-winuser-postquitmessage).</para>
            <para><see href="https://learn.microsoft.com/windows/win32/winmsg/wm-quit#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.ABM_GETTASKBARPOS">
            <summary>Retrieves the bounding rectangle of the Windows taskbar.</summary>
            <returns>Returns **TRUE** if successful; otherwise, **FALSE**.</returns>
            <remarks>Note that this applies only to the system taskbar. Other objects, particularly toolbars supplied with third-party software, also can be present. As a result, some of the screen area not covered by the Windows taskbar might not be visible to the user. To retrieve the area of the screen not covered by both the taskbar and other app bars the working area available to your application , use the [**GetMonitorInfo**](/windows/desktop/api/winuser/nf-winuser-getmonitorinfoa) function.</remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.IDC_SIZENS">
            <summary>Double-pointed arrow cursor pointing north and south.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-geticoninfo">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.IDC_ARROW">
            <summary>Standard arrow cursor.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-geticoninfo">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_WINDOWPOSCHANGING">
            <summary>Sent to a window whose size, position, or place in the Z order is about to change as a result of a call to the SetWindowPos function or another window-management function.</summary>
            <returns>
            <para>Type: **LRESULT** If an application processes this message, it should return zero.</para>
            </returns>
            <remarks>
            <para>For a window with the [**WS\_OVERLAPPED**](window-styles.md) or **WS\_THICKFRAME** style, the [**DefWindowProc**](/windows/desktop/api/winuser/nf-winuser-defwindowproca) function sends the [**WM\_GETMINMAXINFO**](wm-getminmaxinfo.md) message to the window. This is done to validate the new size and position of the window and to enforce the [CS\_BYTEALIGNCLIENT](about-window-classes.md) and CS\_BYTEALIGNWINDOW client styles. By not passing the **WM\_WINDOWPOSCHANGING** message to the **DefWindowProc** function, an application can override these defaults. While this message is being processed, modifying any of the values in [**WINDOWPOS**](/windows/win32/api/winuser/ns-winuser-windowpos) affects the window's new size, position, or place in the Z order. An application can prevent changes to the window by setting or clearing the appropriate bits in the **flags** member of **WINDOWPOS**.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/winmsg/wm-windowposchanging#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_SYSCOMMAND">
            <summary>A window receives this message when the user chooses a command from the Window menu (formerly known as the system or control menu) or when the user chooses the maximize button, minimize button, restore button, or close button.</summary>
            <returns>An application should return zero if it processes this message.</returns>
            <remarks>
            <para>To obtain the position coordinates in screen coordinates, use the following code:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/menurc/wm-syscommand#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.PInvoke.WM_USER">
            <summary>Used to define private messages for use by private window classes, usually of the form WM\_USER+x, where x is an integer value.</summary>
            <remarks>
            <para>The following are the ranges of message numbers.</para>
            <para>| Range                                                        | Meaning                                                        | |--------------------------------------------------------------|----------------------------------------------------------------| | 0 through **WM\_USER** –1<br/>                         | Messages reserved for use by the system.<br/>            | | **WM\_USER** through 0x7FFF<br/>                       | Integer messages for use by private window classes.<br/> | | [**WM\_APP**](wm-app.md) (0x8000) through 0xBFFF<br/> | Messages available for use by applications.<br/>         | | 0xC000 through 0xFFFF<br/>                             | String messages for use by applications.<br/>            | | Greater than 0xFFFF<br/>                               | Reserved by the system.<br/>                             |</para>
            <para>Message numbers in the first range (0 through **WM\_USER** –1) are defined by the system. Values in this range that are not explicitly defined are reserved by the system. Message numbers in the second range (**WM\_USER** through 0x7FFF) can be defined and used by an application to send messages within a private window class. These values cannot be used to define messages that are meaningful throughout an application because some predefined window classes already define values in this range. For example, predefined control classes such as **BUTTON**, **EDIT**, **LISTBOX**, and **COMBOBOX** may use these values. Messages in this range should not be sent to other applications unless the applications have been designed to exchange messages and to attach the same meaning to the message numbers. Message numbers in the third range (0x8000 through 0xBFFF) are available for applications to use as private messages. Messages in this range do not conflict with system messages. Message numbers in the fourth range (0xC000 through 0xFFFF) are defined at run time when an application calls the [**RegisterWindowMessage**](/windows/win32/api/winuser/nf-winuser-registerwindowmessagea) function to retrieve a message number for a string. All applications that register the same string can use the associated message number for exchanging messages. The actual message number, however, is not a constant and cannot be assumed to be the same between different sessions. Message numbers in the fifth range (greater than 0xFFFF) are reserved by the system.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/winmsg/wm-user#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.DeleteObject(Windows.Win32.Graphics.Gdi.HGDIOBJ)">
            <summary>The DeleteObject function deletes a logical pen, brush, font, bitmap, region, or palette, freeing all system resources associated with the object. After the object is deleted, the specified handle is no longer valid.</summary>
            <param name="ho">A handle to a logical pen, brush, font, bitmap, region, or palette.</param>
            <returns>
            <para>If the function succeeds, the return value is nonzero. If the specified handle is not valid or is currently selected into a DC, the return value is zero.</para>
            </returns>
            <remarks>
            <para>Do not delete a drawing object (pen or brush) while it is still selected into a DC. When a pattern brush is deleted, the bitmap associated with the brush is not deleted. The bitmap must be deleted independently.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wingdi/nf-wingdi-deleteobject#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetStockObject_SafeHandle(Windows.Win32.Graphics.Gdi.GET_STOCK_OBJECT_FLAGS)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.GetStockObject(Windows.Win32.Graphics.Gdi.GET_STOCK_OBJECT_FLAGS)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetStockObject(Windows.Win32.Graphics.Gdi.GET_STOCK_OBJECT_FLAGS)">
            <summary>The GetStockObject function retrieves a handle to one of the stock pens, brushes, fonts, or palettes.</summary>
            <param name="i"></param>
            <returns>
            <para>If the function succeeds, the return value is a handle to the requested logical object. If the function fails, the return value is <b>NULL</b>.</para>
            </returns>
            <remarks>
            <para>It is not recommended that you employ this method to obtain the current font used by dialogs and windows. Instead, use the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-systemparametersinfoa">SystemParametersInfo</a> function with the SPI_GETNONCLIENTMETRICS parameter to retrieve the current font. <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-systemparametersinfoa">SystemParametersInfo</a> will take into account the current theme and provides font information for captions, menus, and message dialogs. Use the DKGRAY_BRUSH, GRAY_BRUSH, and LTGRAY_BRUSH stock objects only in windows with the CS_HREDRAW and CS_VREDRAW styles. Using a gray stock brush in any other style of window can lead to misalignment of brush patterns after a window is moved or sized. The origins of stock brushes cannot be adjusted. The HOLLOW_BRUSH and NULL_BRUSH stock objects are equivalent. It is not necessary (but it is not harmful) to delete stock objects by calling <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-deleteobject">DeleteObject</a>. Both DC_BRUSH and DC_PEN can be used interchangeably with other stock objects like BLACK_BRUSH and BLACK_PEN. For information on retrieving the current pen or brush color, see <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-getdcbrushcolor">GetDCBrushColor</a> and <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-getdcpencolor">GetDCPenColor</a>. See <a href="https://docs.microsoft.com/windows/desktop/gdi/setting-the-pen-or-brush-color">Setting the Pen or Brush Color</a> for an example of setting colors. The <b>GetStockObject</b> function with an argument of DC_BRUSH or DC_PEN can be used interchangeably with the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-setdcpencolor">SetDCPenColor</a> and <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-setdcbrushcolor">SetDCBrushColor</a> functions.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wingdi/nf-wingdi-getstockobject#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.CreateDIBSection(Windows.Win32.Graphics.Gdi.HDC,Windows.Win32.Graphics.Gdi.BITMAPINFO*,Windows.Win32.Graphics.Gdi.DIB_USAGE,System.Void*@,System.Runtime.InteropServices.SafeHandle,System.UInt32)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.CreateDIBSection(Windows.Win32.Graphics.Gdi.HDC,Windows.Win32.Graphics.Gdi.BITMAPINFO*,Windows.Win32.Graphics.Gdi.DIB_USAGE,System.Void**,Windows.Win32.Foundation.HANDLE,System.UInt32)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.CreateDIBSection(Windows.Win32.Graphics.Gdi.HDC,Windows.Win32.Graphics.Gdi.BITMAPINFO*,Windows.Win32.Graphics.Gdi.DIB_USAGE,System.Void**,Windows.Win32.Foundation.HANDLE,System.UInt32)">
            <summary>The CreateDIBSection function creates a DIB that applications can write to directly.</summary>
            <param name="hdc">A handle to a device context. If the value of <i>iUsage</i> is DIB_PAL_COLORS, the function uses this device context's logical palette to initialize the DIB colors.</param>
            <param name="pbmi">A pointer to a <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/ns-wingdi-bitmapinfo">BITMAPINFO</a> structure that specifies various attributes of the DIB, including the bitmap dimensions and colors.</param>
            <param name="usage">
            <para>The type of data contained in the <b>bmiColors</b> array member of the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/ns-wingdi-bitmapinfo">BITMAPINFO</a> structure pointed to by <i>pbmi</i> (either logical palette indexes or literal RGB values). The following values are defined. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wingdi/nf-wingdi-createdibsection#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppvBits">A pointer to a variable that receives a pointer to the location of the DIB bit values.</param>
            <param name="hSection">
            <para>A handle to a file-mapping object that the function will use to create the DIB. This parameter can be <b>NULL</b>. If <i>hSection</i> is not <b>NULL</b>, it must be a handle to a file-mapping object created by calling the <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-createfilemappinga">CreateFileMapping</a> function with the PAGE_READWRITE or PAGE_WRITECOPY flag. Read-only DIB sections are not supported. Handles created by other means will cause <b>CreateDIBSection</b> to fail. If <i>hSection</i> is not <b>NULL</b>, the <b>CreateDIBSection</b> function locates the bitmap bit values at offset <i>dwOffset</i> in the file-mapping object referred to by <i>hSection</i>. An application can later retrieve the <i>hSection</i> handle by calling the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-getobject">GetObject</a> function with the <b>HBITMAP</b> returned by <b>CreateDIBSection</b>. If <i>hSection</i> is <b>NULL</b>, the system allocates memory for the DIB. In this case, the <b>CreateDIBSection</b> function ignores the <i>dwOffset</i> parameter. An application cannot later obtain a handle to this memory. The <b>dshSection</b> member of the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/ns-wingdi-dibsection">DIBSECTION</a> structure filled in by calling the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-getobject">GetObject</a> function will be <b>NULL</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wingdi/nf-wingdi-createdibsection#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="offset">The offset from the beginning of the file-mapping object referenced by <i>hSection</i> where storage for the bitmap bit values is to begin. This value is ignored if <i>hSection</i> is <b>NULL</b>. The bitmap bit values are aligned on doubleword boundaries, so <i>dwOffset</i> must be a multiple of the size of a <b>DWORD</b>.</param>
            <returns>
            <para>If the function succeeds, the return value is a handle to the newly created DIB, and *<i>ppvBits</i> points to the bitmap bit values. If the function fails, the return value is <b>NULL</b>, and *<i>ppvBits</i> is <b>NULL</b>. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>. <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a> can return the following value: </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>As noted above, if <i>hSection</i> is <b>NULL</b>, the system allocates memory for the DIB. The system closes the handle to that memory when you later delete the DIB by calling the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-deleteobject">DeleteObject</a> function. If <i>hSection</i> is not <b>NULL</b>, you must close the <i>hSection</i> memory handle yourself after calling <b>DeleteObject</b> to delete the bitmap. You cannot paste a DIB section from one application into another application. <b>CreateDIBSection</b> does not use the <a href="https://docs.microsoft.com/windows/win32/api/wingdi/ns-wingdi-bitmapinfoheader">BITMAPINFOHEADER</a> parameters <i>biXPelsPerMeter</i> or <i>biYPelsPerMeter</i> and will not provide resolution information in the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/ns-wingdi-bitmapinfo">BITMAPINFO</a> structure. You need to guarantee that the GDI subsystem has completed any drawing to a bitmap created by <b>CreateDIBSection</b> before you draw to the bitmap yourself. Access to the bitmap must be synchronized. Do this by calling the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-gdiflush">GdiFlush</a> function. This applies to any use of the pointer to the bitmap bit values, including passing the pointer in calls to functions such as <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-setdibits">SetDIBits</a>. <b>ICM:</b> No color management is done.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wingdi/nf-wingdi-createdibsection#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.CreateCompatibleDC(Windows.Win32.Graphics.Gdi.HDC)">
            <summary>The CreateCompatibleDC function creates a memory device context (DC) compatible with the specified device.</summary>
            <param name="hdc">A handle to an existing DC. If this handle is <b>NULL</b>, the function creates a memory DC compatible with the application's current screen.</param>
            <returns>
            <para>If the function succeeds, the return value is the handle to a memory DC. If the function fails, the return value is <b>NULL</b>.</para>
            </returns>
            <remarks>
            <para>A memory DC exists only in memory. When the memory DC is created, its display surface is exactly one monochrome pixel wide and one monochrome pixel high. Before an application can use a memory DC for drawing operations, it must select a bitmap of the correct width and height into the DC. To select a bitmap into a DC, use the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-createcompatiblebitmap">CreateCompatibleBitmap</a> function, specifying the height, width, and color organization required. When a memory DC is created, all attributes are set to normal default values. The memory DC can be used as a normal DC. You can set the attributes; obtain the current settings of its attributes; and select pens, brushes, and regions. The <b>CreateCompatibleDC</b> function can only be used with devices that support raster operations. An application can determine whether a device supports these operations by calling the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-getdevicecaps">GetDeviceCaps</a> function. When you no longer need the memory DC, call the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-deletedc">DeleteDC</a> function. We recommend that you call <b>DeleteDC</b> to delete the DC.  However, you can also call <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-deleteobject">DeleteObject</a> with the HDC to delete the DC. If <i>hdc</i> is <b>NULL</b>, the thread that calls <b>CreateCompatibleDC</b> owns the HDC that is created. When this thread is destroyed, the HDC is no longer valid. Thus, if you create the HDC and pass it to another thread, then exit the first thread, the second thread will not be able to use the HDC. <b>ICM:</b> If the DC that is passed to this function is enabled for Image Color Management (ICM), the DC created by the function is ICM-enabled. The source and destination color spaces are specified in the DC.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wingdi/nf-wingdi-createcompatibledc#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.DeleteDC(Windows.Win32.Graphics.Gdi.HDC)">
            <summary>The DeleteDC function deletes the specified device context (DC).</summary>
            <param name="hdc">A handle to the device context.</param>
            <returns>
            <para>If the function succeeds, the return value is nonzero. If the function fails, the return value is zero.</para>
            </returns>
            <remarks>An application must not delete a DC whose handle was obtained by calling the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getdc">GetDC</a> function. Instead, it must call the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-releasedc">ReleaseDC</a> function to free the DC.</remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.SelectObject(Windows.Win32.Graphics.Gdi.HDC,System.Runtime.InteropServices.SafeHandle)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.SelectObject(Windows.Win32.Graphics.Gdi.HDC,Windows.Win32.Graphics.Gdi.HGDIOBJ)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.SelectObject(Windows.Win32.Graphics.Gdi.HDC,Windows.Win32.Graphics.Gdi.HGDIOBJ)">
            <summary>The SelectObject function selects an object into the specified device context (DC). The new object replaces the previous object of the same type.</summary>
            <param name="hdc">A handle to the DC.</param>
            <param name="h">
            <para>A handle to the object to be selected. The specified object must have been created by using one of the following functions. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wingdi/nf-wingdi-selectobject#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>If the selected object is not a region and the function succeeds, the return value is a handle to the object being replaced. If the selected object is a region and the function succeeds, the return value is one of the following values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>This function returns the previously selected object of the specified type. An application should always replace a new object with the original, default object after it has finished drawing with the new object. An application cannot select a single bitmap into more than one DC at a time. <b>ICM:</b> If the object being selected is a brush or a pen, color management is performed.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wingdi/nf-wingdi-selectobject#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.CreateSolidBrush_SafeHandle(Windows.Win32.Foundation.COLORREF)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.CreateSolidBrush(Windows.Win32.Foundation.COLORREF)"/>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Windows.Win32.PInvoke.CreateSolidBrush(Windows.Win32.Foundation.COLORREF)" -->
        <member name="M:Windows.Win32.PInvoke.CloseHandle(Windows.Win32.Foundation.HANDLE)">
            <summary>Closes an open object handle.</summary>
            <param name="hObject">A valid handle to an open object.</param>
            <returns>
            <para>If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>. If the application is running under a debugger,  the function will throw an exception if it receives either a  handle value that is not valid  or a pseudo-handle value. This can happen if you close a handle twice, or if you  call <b>CloseHandle</b> on a handle returned by the <a href="https://docs.microsoft.com/windows/desktop/api/fileapi/nf-fileapi-findfirstfilea">FindFirstFile</a> function instead of calling the <a href="https://docs.microsoft.com/windows/desktop/api/fileapi/nf-fileapi-findclose">FindClose</a> function.</para>
            </returns>
            <remarks>
            <para>The <b>CloseHandle</b> function closes handles to the following objects: </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/handleapi/nf-handleapi-closehandle#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.FreeLibrary(Windows.Win32.Foundation.HMODULE)">
            <summary>Frees the loaded dynamic-link library (DLL) module and, if necessary, decrements its reference count.</summary>
            <param name="hLibModule">
            <para>A handle to the loaded library module. The <a href="https://docs.microsoft.com/windows/desktop/api/libloaderapi/nf-libloaderapi-loadlibrarya">LoadLibrary</a>, <a href="https://docs.microsoft.com/windows/desktop/api/libloaderapi/nf-libloaderapi-loadlibraryexa">LoadLibraryEx</a>, <a href="https://docs.microsoft.com/windows/desktop/api/libloaderapi/nf-libloaderapi-getmodulehandlea">GetModuleHandle</a>, or <a href="https://docs.microsoft.com/windows/desktop/api/libloaderapi/nf-libloaderapi-getmodulehandleexa">GetModuleHandleEx</a> function returns this handle.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/libloaderapi/nf-libloaderapi-freelibrary#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call the <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a> function.</para>
            </returns>
            <remarks>
            <para>The system maintains a per-process reference count for each loaded module. A  module that was loaded at process initialization due to load-time dynamic linking has a reference count of one. The reference count for a module is incremented each time the  module is loaded by a call to <a href="https://docs.microsoft.com/windows/desktop/api/libloaderapi/nf-libloaderapi-loadlibrarya">LoadLibrary</a>. The reference count is also incremented by a call to <a href="https://docs.microsoft.com/windows/desktop/api/libloaderapi/nf-libloaderapi-loadlibraryexa">LoadLibraryEx</a> unless the  module  is being loaded for the first time and is being loaded as   a data or image file. The reference count is decremented each time the <b>FreeLibrary</b> or <a href="https://docs.microsoft.com/windows/desktop/api/libloaderapi/nf-libloaderapi-freelibraryandexitthread">FreeLibraryAndExitThread</a> function is called for the module. When a  module's reference count reaches zero or the process terminates, the system unloads the module from the address space of the  process. Before unloading a library module, the system enables the module to detach from the process by calling the module's <a href="https://docs.microsoft.com/windows/desktop/Dlls/dllmain">DllMain</a> function, if it has one, with the DLL_PROCESS_DETACH value. Doing so gives the library module an opportunity to clean up resources allocated on behalf of the current process. After the entry-point function returns, the library module is removed from the address space of the current process. It is not safe to call <b>FreeLibrary</b> from <a href="https://docs.microsoft.com/windows/desktop/Dlls/dllmain">DllMain</a>. For more information, see the Remarks section in <a href="https://docs.microsoft.com/windows/desktop/Dlls/dllmain">DllMain</a>. Calling <b>FreeLibrary</b> does not affect other processes that are using the same module. Use caution when calling <b>FreeLibrary</b> with a handle returned by <a href="https://docs.microsoft.com/windows/desktop/api/libloaderapi/nf-libloaderapi-getmodulehandlea">GetModuleHandle</a>. The <b>GetModuleHandle</b> function does not increment a module's reference count, so passing this handle to <b>FreeLibrary</b> can cause a module to be unloaded prematurely. A thread that must unload the DLL in which it is executing and then terminate itself should call <a href="https://docs.microsoft.com/windows/desktop/api/libloaderapi/nf-libloaderapi-freelibraryandexitthread">FreeLibraryAndExitThread</a> instead of calling <b>FreeLibrary</b> and <b>ExitThread</b> separately. Otherwise, a race condition can occur. For details, see the Remarks section of <a href="https://docs.microsoft.com/windows/desktop/api/libloaderapi/nf-libloaderapi-freelibraryandexitthread">FreeLibraryAndExitThread</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/libloaderapi/nf-libloaderapi-freelibrary#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetModuleHandle(System.String)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.GetModuleHandle(Windows.Win32.Foundation.PCWSTR)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetModuleHandle(Windows.Win32.Foundation.PCWSTR)">
            <summary>Retrieves a module handle for the specified module. The module must have been loaded by the calling process. (Unicode)</summary>
            <param name="lpModuleName">
            <para>The name of the loaded module (either a .dll or .exe file). If the file name extension is omitted, the default library extension .dll is appended. The file name string can include a trailing point character (.) to indicate that the module name has no extension. The string does not have to specify a path. When specifying a path, be sure to use backslashes (\\), not forward slashes (/). The name is compared (case independently) to the names of modules currently mapped into the address space of the calling process.</para>
            <para>If this parameter is NULL, <b>GetModuleHandle</b> returns a handle to the file used to create the calling process (.exe file). The <b>GetModuleHandle</b> function does not retrieve handles for modules that were loaded using the <b>LOAD_LIBRARY_AS_DATAFILE</b> flag. For more information, see <a href="https://docs.microsoft.com/windows/desktop/api/libloaderapi/nf-libloaderapi-loadlibraryexa">LoadLibraryEx</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/libloaderapi/nf-libloaderapi-getmodulehandlew#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>If the function succeeds, the return value is a handle to the specified module. If the function fails, the return value is NULL. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>
            <para>The returned handle is not global or inheritable. It cannot be duplicated or used by another process. If <i>lpModuleName</i> does not include a path and there is more than one loaded module with the same base name and extension, you cannot predict which module handle will be returned. To work around this problem, you could specify a path, use <a href="https://docs.microsoft.com/windows/desktop/Msi/side-by-side-assemblies">side-by-side assemblies</a>, or use <a href="https://docs.microsoft.com/windows/desktop/api/libloaderapi/nf-libloaderapi-getmodulehandleexa">GetModuleHandleEx</a> to specify a memory location rather than a DLL name. The <b>GetModuleHandle</b> function returns a handle to a mapped module without incrementing its reference count. However, if this handle is passed to the <a href="https://docs.microsoft.com/windows/desktop/api/libloaderapi/nf-libloaderapi-freelibrary">FreeLibrary</a> function, the reference count of the mapped module will be decremented. Therefore, do not pass a handle returned by <b>GetModuleHandle</b> to the <b>FreeLibrary</b> function. Doing so can cause a DLL module to be unmapped prematurely. This function must be used carefully in a multithreaded application. There is no guarantee that the module handle remains valid between the time this function returns the handle and the time it is used. For example, suppose that a thread retrieves a module handle, but before it uses the handle, a second thread frees the module. If the system loads another module, it could reuse the module handle that was recently freed. Therefore, the first thread would have a handle to a different module  than the one intended.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/libloaderapi/nf-libloaderapi-getmodulehandlew#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetCurrentThread_SafeHandle">
            <inheritdoc cref="M:Windows.Win32.PInvoke.GetCurrentThread"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetCurrentThread">
            <summary>Retrieves a pseudo handle for the calling thread.</summary>
            <returns>The return value is a pseudo handle for the current thread.</returns>
            <remarks>
            <para>A pseudo handle is a special constant that is interpreted as the current thread handle. The calling thread can use this handle to specify itself whenever a thread handle is required. Pseudo handles are not inherited by child processes. This handle has the <b>THREAD_ALL_ACCESS</b> access right to the thread object. For more information, see <a href="https://docs.microsoft.com/windows/desktop/ProcThread/thread-security-and-access-rights">Thread Security and Access Rights</a>. <b>Windows Server 2003 and Windows XP:  </b>This handle has the maximum access allowed by the security descriptor of the thread to the primary token of the process. The function cannot be used by one thread to create a handle that can be used by other threads to refer to the first thread. The handle is always interpreted as referring to the thread that is using it. A thread can create a "real" handle to itself that can be used by other threads, or inherited by other processes, by specifying the pseudo handle as the source handle in a call to the <a href="https://docs.microsoft.com/windows/desktop/api/handleapi/nf-handleapi-duplicatehandle">DuplicateHandle</a> function. The pseudo handle need not be closed when it is no longer needed. Calling the <a href="https://docs.microsoft.com/windows/desktop/api/handleapi/nf-handleapi-closehandle">CloseHandle</a> function with this handle has no effect. If the pseudo handle is duplicated by <a href="https://docs.microsoft.com/windows/desktop/api/handleapi/nf-handleapi-duplicatehandle">DuplicateHandle</a>, the duplicate handle must be closed. Do not create a thread while impersonating a security context. The call will succeed, however the newly created thread will have reduced access rights to itself when calling <b>GetCurrentThread</b>. The access rights granted this thread will  be derived from the access rights the impersonated user has to the process.  Some access rights including <b>THREAD_SET_THREAD_TOKEN</b> and <b>THREAD_GET_CONTEXT</b> may not be present, leading to unexpected failures.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/processthreadsapi/nf-processthreadsapi-getcurrentthread#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetUserGeoID(Windows.Win32.Globalization.SYSGEOCLASS)">
            <summary>Retrieves information about the geographical location of the user. For more information, see Table of Geographical Locations.</summary>
            <param name="GeoClass">Geographical location class to return. Possible values are defined by the <a href="https://docs.microsoft.com/windows/desktop/api/winnls/ne-winnls-sysgeoclass">SYSGEOCLASS</a> enumeration.</param>
            <returns>
            <para>Returns the geographical location identifier of the user if <a href="https://docs.microsoft.com/windows/desktop/api/winnls/nf-winnls-setusergeoid">SetUserGeoID</a> has been called before to set the identifier. If no geographical location identifier has been set for the user, the function returns GEOID_NOT_AVAILABLE.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winnls/nf-winnls-getusergeoid">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetCurrentApplicationUserModelId(System.UInt32@,System.Span{System.Char})">
            <inheritdoc cref="M:Windows.Win32.PInvoke.GetCurrentApplicationUserModelId(System.UInt32*,Windows.Win32.Foundation.PWSTR)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetCurrentApplicationUserModelId(System.UInt32*,Windows.Win32.Foundation.PWSTR)">
            <summary>Gets the application user model ID for the current process.</summary>
            <param name="applicationUserModelIdLength">On input, the size of the  <i>applicationUserModelId</i> buffer, in wide characters. On success, the size of the buffer used, including the null terminator.</param>
            <param name="applicationUserModelId">A pointer to a buffer that receives the application user model ID.</param>
            <returns>
            <para>If the function succeeds it returns <b>ERROR_SUCCESS</b>. Otherwise, the function returns an error code. The possible error codes include the following. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>For info about string size limits, see <a href="https://docs.microsoft.com/windows/desktop/appxpkg/identity-constants">Identity constants</a>.</remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.AlphaBlend(Windows.Win32.Graphics.Gdi.HDC,System.Int32,System.Int32,System.Int32,System.Int32,Windows.Win32.Graphics.Gdi.HDC,System.Int32,System.Int32,System.Int32,System.Int32,Windows.Win32.Graphics.Gdi.BLENDFUNCTION)">
            <summary>The AlphaBlend function displays bitmaps that have transparent or semitransparent pixels.</summary>
            <param name="hdcDest">A handle to the destination device context.</param>
            <param name="xoriginDest">The x-coordinate, in logical units, of the upper-left corner of the destination rectangle.</param>
            <param name="yoriginDest">The y-coordinate, in logical units, of the upper-left corner of the destination rectangle.</param>
            <param name="wDest">The width, in logical units, of the destination rectangle.</param>
            <param name="hDest">The height, in logical units, of the destination rectangle.</param>
            <param name="hdcSrc">A handle to the source device context.</param>
            <param name="xoriginSrc">The x-coordinate, in logical units, of the upper-left corner of the source rectangle.</param>
            <param name="yoriginSrc">The y-coordinate, in logical units, of the upper-left corner of the source rectangle.</param>
            <param name="wSrc">The width, in logical units, of the source rectangle.</param>
            <param name="hSrc">The height, in logical units, of the source rectangle.</param>
            <param name="ftn">The alpha-blending function for source and destination bitmaps, a global alpha value to be applied to the entire source bitmap, and format information for the source bitmap. The source and destination blend functions are currently limited to AC_SRC_OVER. See the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/ns-wingdi-blendfunction">BLENDFUNCTION</a> and <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/ns-wingdi-emralphablend">EMRALPHABLEND</a> structures.</param>
            <returns>
            <para>If the function succeeds, the return value is <b>TRUE</b>. If the function fails, the return value is <b>FALSE</b>.</para>
            </returns>
            <remarks>
            <para>If the source rectangle and destination rectangle are not the same size, the source bitmap is stretched to match the destination rectangle. If the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-setstretchbltmode">SetStretchBltMode</a> function is used, the <i>iStretchMode</i> value is automatically converted to COLORONCOLOR for this function (that is, BLACKONWHITE, WHITEONBLACK, and HALFTONE are changed to COLORONCOLOR). The destination coordinates are transformed by using the transformation currently specified for the destination device context. The source coordinates are transformed by using the transformation currently specified for the source device context. An error occurs (and the function returns <b>FALSE</b>) if the source device context identifies an enhanced metafile device context. If destination and source bitmaps do not have the same color format, <b>AlphaBlend</b> converts the source bitmap to match the destination bitmap. <b>AlphaBlend</b> does not support mirroring. If either the width or height of the source or destination is negative, this call will fail. When rendering to a printer, first call <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-getdevicecaps">GetDeviceCaps</a> with SHADEBLENDCAPS to determine if the printer supports blending with <b>AlphaBlend</b>. Note that, for a display DC, all blending operations are supported and these flags represent whether the operations are accelerated. If the source and destination are the same surface, that is, they are both the screen or the same memory bitmap and the source and destination rectangles overlap, an error occurs and the function returns <b>FALSE</b>. The source rectangle must lie completely within the source surface, otherwise an error occurs and the function returns <b>FALSE</b>. <b>AlphaBlend</b> fails if the width or height of the source or destination is negative. The <b>SourceConstantAlpha</b> member of <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/ns-wingdi-blendfunction">BLENDFUNCTION</a> specifies an alpha transparency value to be used on the entire source bitmap. The <b>SourceConstantAlpha</b> value is combined with any per-pixel alpha values. If <b>SourceConstantAlpha</b> is 0, it is assumed that the image is transparent. Set the <b>SourceConstantAlpha</b> value to 255 (which indicates that the image is opaque) when you only want to use per-pixel alpha values.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wingdi/nf-wingdi-alphablend#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.CoCreateInstance``1(System.Guid@,Windows.Win32.System.Com.IUnknown*,Windows.Win32.System.Com.CLSCTX,``0*@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.CoCreateInstance(System.Guid*,Windows.Win32.System.Com.IUnknown*,Windows.Win32.System.Com.CLSCTX,System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.CoCreateInstance(System.Guid@,Windows.Win32.System.Com.IUnknown*,Windows.Win32.System.Com.CLSCTX,System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.CoCreateInstance(System.Guid*,Windows.Win32.System.Com.IUnknown*,Windows.Win32.System.Com.CLSCTX,System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.CoCreateInstance(System.Guid*,Windows.Win32.System.Com.IUnknown*,Windows.Win32.System.Com.CLSCTX,System.Guid*,System.Void**)">
            <summary>Creates a single uninitialized object of the class associated with a specified CLSID.</summary>
            <param name="rclsid">The CLSID associated with the data and code that will be used to create the object.</param>
            <param name="pUnkOuter">If <b>NULL</b>, indicates that the object is not being created as part of an aggregate. If non-<b>NULL</b>, pointer to the aggregate object's <a href="https://docs.microsoft.com/windows/desktop/api/unknwn/nn-unknwn-iunknown">IUnknown</a> interface (the controlling <b>IUnknown</b>).</param>
            <param name="dwClsContext">Context in which the code that manages the newly created object will run. The values are taken from the enumeration <a href="https://docs.microsoft.com/windows/desktop/api/wtypesbase/ne-wtypesbase-clsctx">CLSCTX</a>.</param>
            <param name="riid">A reference to the identifier of the interface to be used to communicate with the object.</param>
            <param name="ppv">Address of pointer variable that receives the interface pointer requested in <i>riid</i>. Upon successful return, *<i>ppv</i> contains the requested interface pointer. Upon failure, *<i>ppv</i> contains <b>NULL</b>.</param>
            <returns>
            <para>This function can return the following values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>The <b>CoCreateInstance</b> function provides a convenient shortcut by connecting to the class object associated with the specified CLSID, creating a default-initialized instance, and releasing the class object. As such, it encapsulates the following functionality:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/combaseapi/nf-combaseapi-cocreateinstance#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.CoImpersonateClient">
            <summary>Enables the server to impersonate the client of the current call for the duration of the call.</summary>
            <returns>This function supports the standard return values, including S_OK.</returns>
            <remarks>
            <para>This method allows the server to impersonate the client of the current call for the duration of the call. If you do not call CoRevertToSelf, COM reverts automatically for you. This function will fail unless the object is being called with RPC_C_AUTHN_LEVEL_CONNECT or higher authentication in effect (which is any authentication level except RPC_C_AUTHN_LEVEL_NONE). This function encapsulates the following sequence of common calls (error handling excluded):</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/combaseapi/nf-combaseapi-coimpersonateclient#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.CoRevertToSelf">
            <summary>Restores the authentication information on a thread of execution.</summary>
            <returns>This function supports the standard return values, including S_OK to indicate success.</returns>
            <remarks>
            <para><b>CoRevertToSelf</b>, which is a helper function that calls <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-iserversecurity-reverttoself">IServerSecurity::RevertToSelf</a>, restores the authentication information on a thread to the authentication information on the thread before impersonation began. <b>CoRevertToSelf</b> encapsulates the following common sequence of calls (error handling excluded):</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/combaseapi/nf-combaseapi-coreverttoself#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.SysFreeString(Windows.Win32.Foundation.BSTR)">
            <summary>Deallocates a string allocated previously by SysAllocString, SysAllocStringByteLen, SysReAllocString, SysAllocStringLen, or SysReAllocStringLen.</summary>
            <param name="bstrString">The previously allocated string. If this parameter is <b>NULL</b>, the function simply returns.</param>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oleauto/nf-oleauto-sysfreestring">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.InitPropVariantFromStringVector(System.ReadOnlySpan{System.String},Windows.Win32.System.Com.StructuredStorage.PROPVARIANT@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.InitPropVariantFromStringVector(Windows.Win32.Foundation.PCWSTR*,System.UInt32,Windows.Win32.System.Com.StructuredStorage.PROPVARIANT*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.InitPropVariantFromStringVector(Windows.Win32.Foundation.PCWSTR*,System.UInt32,Windows.Win32.System.Com.StructuredStorage.PROPVARIANT*)">
            <summary>Initializes a PROPVARIANT structure from a specified string vector.</summary>
            <param name="prgsz">
            <para>Type: <b>PCWSTR*</b> Pointer to a buffer that contains the source string vector.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/propvarutil/nf-propvarutil-initpropvariantfromstringvector#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="cElems">
            <para>Type: <b>ULONG</b> The number of vector elements in <i>prgsz</i>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/propvarutil/nf-propvarutil-initpropvariantfromstringvector#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppropvar">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/propidl/ns-propidl-propvariant">PROPVARIANT</a>*</b> When this function returns, contains the initialized <a href="https://docs.microsoft.com/windows/desktop/api/propidl/ns-propidl-propvariant">PROPVARIANT</a> structure.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/propvarutil/nf-propvarutil-initpropvariantfromstringvector#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>HRESULT</b> If this function 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/propvarutil/nf-propvarutil-initpropvariantfromstringvector">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.PSCreateMemoryPropertyStore(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.PSCreateMemoryPropertyStore(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.PSCreateMemoryPropertyStore(System.Guid*,System.Void**)">
            <summary>Creates an in-memory property store.</summary>
            <param name="riid">
            <para>Type: <b>REFIID</b> Reference to the requested interface ID.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/propsys/nf-propsys-pscreatememorypropertystore#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppv">
            <para>Type: <b>void**</b> When this function returns, contains a pointer to the desired interface, typically <a href="https://docs.microsoft.com/windows/desktop/api/propsys/nn-propsys-ipropertystore">IPropertyStore</a> or <a href="https://docs.microsoft.com/windows/desktop/api/propsys/nn-propsys-ipersistserializedpropstorage">IPersistSerializedPropStorage</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/propsys/nf-propsys-pscreatememorypropertystore#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>HRESULT</b> If this function succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
            </returns>
            <remarks>
            <para>This function creates an in-memory property store object that implements <a href="https://docs.microsoft.com/windows/desktop/api/propsys/nn-propsys-ipropertystore">IPropertyStore</a>, <a href="https://docs.microsoft.com/windows/desktop/api/propsys/nn-propsys-inamedpropertystore">INamedPropertyStore</a>, <a href="https://docs.microsoft.com/windows/desktop/api/propsys/nn-propsys-ipropertystorecache">IPropertyStoreCache</a>, <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-ipersiststream">IPersistStream</a>, <a href="../oaidl/nn-oaidl-ipropertybag.md">IPropertyBag</a>, and <a href="https://docs.microsoft.com/windows/desktop/api/propsys/nn-propsys-ipersistserializedpropstorage">IPersistSerializedPropStorage</a>. The memory property store does not correspond to a file and is designed for use as a cache. <a href="https://docs.microsoft.com/windows/desktop/api/propsys/nf-propsys-ipropertystore-commit">IPropertyStore::Commit</a> is a no-op, and the data stored in the object persists only as long as the object does. The memory property store is thread safe. It aggregates the free-threaded marshaller and uses critical sections to protect its data members.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/propsys/nf-propsys-pscreatememorypropertystore#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.SHAppBarMessage(System.UInt32,Windows.Win32.UI.Shell.APPBARDATA@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.SHAppBarMessage(System.UInt32,Windows.Win32.UI.Shell.APPBARDATA*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.SHAppBarMessage(System.UInt32,Windows.Win32.UI.Shell.APPBARDATA*)">
            <summary>Sends an appbar message to the system.</summary>
            <param name="dwMessage">Type: <b>DWORD</b></param>
            <param name="pData">
            <para>Type: <b>PAPPBARDATA</b> A pointer to an <a href="https://docs.microsoft.com/windows/desktop/api/shellapi/ns-shellapi-appbardata">APPBARDATA</a> structure. The content of the structure on entry and on exit depends on the value set in the <i>dwMessage</i> parameter. See the individual message pages for specifics.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/shellapi/nf-shellapi-shappbarmessage#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>UINT_PTR</b> This function returns a message-dependent value. For more information, see the Windows SDK documentation for the specific appbar message sent. Links to those documents are given in the See Also section.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/shellapi/nf-shellapi-shappbarmessage">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.SHGetPropertyStoreForWindow(Windows.Win32.Foundation.HWND,System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.SHGetPropertyStoreForWindow(Windows.Win32.Foundation.HWND,System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.SHGetPropertyStoreForWindow(Windows.Win32.Foundation.HWND,System.Guid*,System.Void**)">
            <summary>Retrieves an object that represents a specific window's collection of properties, which allows those properties to be queried or set.</summary>
            <param name="hwnd">
            <para>Type: <b>HWND</b> A handle to the window whose properties are being retrieved.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/shellapi/nf-shellapi-shgetpropertystoreforwindow#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="riid">
            <para>Type: <b>REFIID</b> A reference to the IID of the property store object to retrieve through <i>ppv</i>. This is typically IID_IPropertyStore.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/shellapi/nf-shellapi-shgetpropertystoreforwindow#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppv">
            <para>Type: <b>void**</b> When this function returns, contains the interface pointer requested in <i>riid</i>. This is typically <a href="https://docs.microsoft.com/windows/desktop/api/propsys/nn-propsys-ipropertystore">IPropertyStore</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/shellapi/nf-shellapi-shgetpropertystoreforwindow#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>HRESULT</b> If this function succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</para>
            </returns>
            <remarks>
            <para>An application can use this function to obtain access to a window's property store so that it can set an explicit Application User Model ID (AppUserModelID) in the <a href="https://docs.microsoft.com/windows/desktop/properties/props-system-appusermodel-id">System.AppUserModel.ID</a> property. A window's properties must be removed before the window is closed. If this is not done, the resources used by those properties are not returned to the system. A property is removed by setting it to the <a href="https://docs.microsoft.com/windows/desktop/api/propidl/ns-propidl-propvariant">PROPVARIANT</a> type VT_EMPTY. When a call is made to <a href="https://docs.microsoft.com/windows/desktop/api/propsys/nf-propsys-ipropertystore-setvalue">IPropertyStore::SetValue</a> on the object retrieved through <i>ppv</i>, the properties and values are immediately stored on the window. Therefore, no call to <a href="https://docs.microsoft.com/windows/desktop/api/propsys/nf-propsys-ipropertystore-commit">IPropertyStore::Commit</a> is needed. No error occurs if it is called, but it has no effect. An application sets AppUserModelIDs on individual windows to control the application's taskbar grouping and Jump List contents. For instance, a suite application might want to provide a different taskbar button for each of its subfeatures, with the windows relating to that subfeature grouped under that button. Without window-level AppUserModelIDs, those windows would all be grouped together under the main process. Applications should also use this property store to set these relaunch properties so that the system can return the application to that state.</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/shellapi/nf-shellapi-shgetpropertystoreforwindow#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.SystemParametersInfo(Windows.Win32.UI.WindowsAndMessaging.SYSTEM_PARAMETERS_INFO_ACTION,System.UInt32,System.Void*,Windows.Win32.UI.WindowsAndMessaging.SYSTEM_PARAMETERS_INFO_UPDATE_FLAGS)">
            <summary>Retrieves or sets the value of one of the system-wide parameters. (Unicode)</summary>
            <param name="uiAction">
            <para>Type: <b>UINT</b> The system-wide parameter to be retrieved or set. The possible values are organized in the following tables of related parameters: </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-systemparametersinfow#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="uiParam">
            <para>Type: <b>UINT</b> A parameter whose usage and format depends on the system parameter being queried or set. For more information about system-wide parameters, see the <i>uiAction</i> parameter. If not otherwise indicated, you must specify zero for this parameter.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-systemparametersinfow#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pvParam">
            <para>Type: <b>PVOID</b> A parameter whose usage and format depends on the system parameter being queried or set. For more information about system-wide parameters, see the <i>uiAction</i> parameter. If not otherwise indicated, you must specify <b>NULL</b> for this parameter. For information on the <b>PVOID</b> datatype, see <a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">Windows Data Types</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-systemparametersinfow#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="fWinIni">
            <para>Type: <b>UINT</b> If a system parameter is being set, specifies whether the user profile is to be updated, and if so, whether the <a href="https://docs.microsoft.com/windows/desktop/winmsg/wm-settingchange">WM_SETTINGCHANGE</a> message is to be broadcast to all top-level windows to notify them of the change.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-systemparametersinfow#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the function succeeds, the return value is a nonzero value. If the function fails, the return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>
            <para>This function is intended for use with applications that allow the user to customize the environment. A keyboard layout name should be derived from the hexadecimal value of the language identifier corresponding to the layout. For example, U.S. English has a language identifier of 0x0409, so the primary U.S. English layout is named "00000409". Variants of U.S. English layout, such as the Dvorak layout, are named "00010409", "00020409" and so on. For a list of the primary language identifiers and sublanguage identifiers that make up a language identifier, see the <b>MAKELANGID</b> macro. There is a difference between the High Contrast color scheme and the High Contrast Mode. The High Contrast color scheme changes the system colors to colors that have obvious contrast; you switch to this color scheme by using the Display Options in the control panel. The High Contrast Mode, which uses <b>SPI_GETHIGHCONTRAST</b> and <b>SPI_SETHIGHCONTRAST</b>, advises applications to modify their appearance for visually-impaired users. It involves such things as audible warning to users and customized color scheme (using the Accessibility Options in the control panel). For more information, see <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-highcontrasta">HIGHCONTRAST</a>. For more information on general accessibility features, see <a href="https://docs.microsoft.com/windows/desktop/accessibility">Accessibility</a>. During the time that the primary button is held down to activate the Mouse ClickLock feature, the user can move the mouse. After the primary button is locked down, releasing the primary button does not result in a <b>WM_LBUTTONUP</b> message. Thus, it will appear to an application that the primary button is still down. Any subsequent button message releases the primary button, sending a <b>WM_LBUTTONUP</b> message to the application, thus the button can be unlocked programmatically or through the user clicking any button. This API is not DPI aware, and should not be used if the calling thread is per-monitor DPI aware. For the DPI-aware version of this API, see <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-systemparametersinfofordpi">SystemParametersInfoForDPI</a>. For more information on DPI awareness, see <a href="https://docs.microsoft.com/windows/desktop/hidpi/high-dpi-desktop-application-development-on-windows">the Windows High DPI documentation.</a></para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-systemparametersinfow#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.EnableWindow(Windows.Win32.Foundation.HWND,Windows.Win32.Foundation.BOOL)">
            <summary>Enables or disables mouse and keyboard input to the specified window or control. When input is disabled, the window does not receive input such as mouse clicks and key presses. When input is enabled, the window receives all input.</summary>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window to be enabled or disabled.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-enablewindow#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="bEnable">
            <para>Type: <b>BOOL</b> Indicates whether to enable or disable the window. If this parameter is <b>TRUE</b>, the window is enabled. If the parameter is <b>FALSE</b>, the window is disabled.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-enablewindow#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the window was previously disabled, the return value is nonzero. If the window was not previously disabled, the return value is zero.</para>
            </returns>
            <remarks>
            <para>If the window is being disabled, the system sends a <a href="https://docs.microsoft.com/windows/desktop/winmsg/wm-cancelmode">WM_CANCELMODE</a> message. If the enabled state of a window is changing, the system sends a <a href="https://docs.microsoft.com/windows/desktop/winmsg/wm-enable">WM_ENABLE</a> message after the <b>WM_CANCELMODE</b> message. (These messages are sent before <b>EnableWindow</b> returns.) If a window is already disabled, its child windows are implicitly disabled, although they are not sent a <b>WM_ENABLE</b> message. A window must be enabled before it can be activated. For example, if an application is displaying a modeless dialog box and has disabled its main window, the application must enable the main window before destroying the dialog box. Otherwise, another window will receive the keyboard focus and be activated. If a child window is disabled, it is ignored when the system tries to determine which window should receive mouse messages. By default, a window is enabled when it is created. To create a window that is initially disabled, an application can specify the <b>WS_DISABLED</b> style in the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-createwindowa">CreateWindow</a> or <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-createwindowexa">CreateWindowEx</a> function. After a window has been created, an application can use <b>EnableWindow</b> to enable or disable the window. An application can use this function to enable or disable a control in a dialog box. A disabled control cannot receive the keyboard focus, nor can a user gain access to it.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-enablewindow#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.SetWindowPos(Windows.Win32.Foundation.HWND,Windows.Win32.Foundation.HWND,System.Int32,System.Int32,System.Int32,System.Int32,Windows.Win32.UI.WindowsAndMessaging.SET_WINDOW_POS_FLAGS)">
            <summary>Changes the size, position, and Z order of a child, pop-up, or top-level window. These windows are ordered according to their appearance on the screen. The topmost window receives the highest rank and is the first window in the Z order.</summary>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setwindowpos#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="hWndInsertAfter">Type: <b>HWND</b></param>
            <param name="X">
            <para>Type: <b>int</b> The new position of the left side of the window, in client coordinates.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setwindowpos#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="Y">
            <para>Type: <b>int</b> The new position of the top of the window, in client coordinates.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setwindowpos#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="cx">
            <para>Type: <b>int</b> The new width of the window, in pixels.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setwindowpos#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="cy">
            <para>Type: <b>int</b> The new height of the window, in pixels.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setwindowpos#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="uFlags">Type: <b>UINT</b></param>
            <returns>
            <para>Type: <b>BOOL</b> If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>
            <para>As part of the Vista re-architecture, all services were moved off the interactive desktop into Session 0. hwnd and window manager operations are only effective inside a session and cross-session attempts to manipulate the hwnd will fail. For more information, see <a href="https://docs.microsoft.com/previous-versions/aa480152(v=msdn.10)">The Windows Vista Developer Story: Application Compatibility Cookbook</a>. If you have changed certain window data using <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-setwindowlonga">SetWindowLong</a>, you must call <b>SetWindowPos</b> for the changes to take effect. Use the following combination for <i>uFlags</i>: <c>SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED</c>. A window can be made a topmost window either by setting the <i>hWndInsertAfter</i> parameter to <b>HWND_TOPMOST</b> and ensuring that the <b>SWP_NOZORDER</b> flag is not set, or by setting a window's position in the Z order so that it is above any existing topmost windows. When a non-topmost window is made topmost, its owned windows are also made topmost. Its owners, however, are not changed. If neither the <b>SWP_NOACTIVATE</b> nor <b>SWP_NOZORDER</b> flag is specified (that is, when the application requests that a window be simultaneously activated and its position in the Z order changed), the value specified in <i>hWndInsertAfter</i> is used only in the following circumstances. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setwindowpos#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetWindowRect(Windows.Win32.Foundation.HWND,Windows.Win32.Foundation.RECT@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.GetWindowRect(Windows.Win32.Foundation.HWND,Windows.Win32.Foundation.RECT*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetWindowRect(Windows.Win32.Foundation.HWND,Windows.Win32.Foundation.RECT*)">
            <summary>Retrieves the dimensions of the bounding rectangle of the specified window. The dimensions are given in screen coordinates that are relative to the upper-left corner of the screen.</summary>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getwindowrect#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="lpRect">
            <para>Type: <b>LPRECT</b> A pointer to a  <a href="https://docs.microsoft.com/windows/desktop/api/windef/ns-windef-rect">RECT</a> structure that receives the screen coordinates of the upper-left and lower-right corners of the window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getwindowrect#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>
            <para>In conformance with conventions for the <a href="https://docs.microsoft.com/windows/desktop/api/windef/ns-windef-rect">RECT</a> structure, the bottom-right coordinates of the returned rectangle are exclusive. In other words, the pixel at (<b>right</b>, <b>bottom</b>) lies immediately outside the rectangle. GetWindowRect is virtualized for DPI. In Windows Vista and later, the Window Rect now includes the area occupied by the drop shadow. Calling GetWindowRect will have different behavior depending on whether the window has ever been shown or not.  If the window has not been shown before, GetWindowRect will not include the area of the drop shadow. To get the window bounds excluding the drop shadow, use <a href="https://docs.microsoft.com/windows/win32/api/dwmapi/nf-dwmapi-dwmgetwindowattribute">DwmGetWindowAttribute</a>, specifying <b>DWMWA_EXTENDED_FRAME_BOUNDS</b>.  Note that unlike the Window Rect, the DWM Extended Frame Bounds are not adjusted for DPI.  Getting the extended frame bounds can only be done after the window has been shown at least once.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getwindowrect#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetDpiForWindow(Windows.Win32.Foundation.HWND)">
            <summary>Returns the dots per inch (dpi) value for the specified window.</summary>
            <param name="hwnd">The window that you want to get information about.</param>
            <returns>The DPI for the window, which depends on the [DPI_AWARENESS](/windows/win32/api/windef/ne-windef-dpi_awareness) of the window. See the **Remarks** section for more information. An invalid *hwnd* value will result in a return value of 0.</returns>
            <remarks>
            <para>The following table indicates the return value of <b>GetDpiForWindow</b> based on the [DPI_AWARENESS](/windows/win32/api/windef/ne-windef-dpi_awareness) of the provided *hwnd*. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getdpiforwindow#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.IsZoomed(Windows.Win32.Foundation.HWND)">
            <summary>Determines whether a window is maximized.</summary>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window to be tested.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-iszoomed#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the window is zoomed, the return value is nonzero. If the window is not zoomed, the return value is zero.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-iszoomed">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.CallWindowProc(,Windows.Win32.Foundation.HWND,System.UInt32,Windows.Win32.Foundation.WPARAM,Windows.Win32.Foundation.LPARAM)">
            <summary>Passes message information to the specified window procedure. (Unicode)</summary>
            <param name="lpPrevWndFunc">
            <para>Type: <b>WNDPROC</b> The previous window procedure. If this value is obtained by calling the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getwindowlonga">GetWindowLong</a> function with the <i>nIndex</i> parameter set to <b>GWL_WNDPROC</b> or <b>DWL_DLGPROC</b>, it is actually either the address of a window or dialog box procedure, or a special internal value meaningful only to <b>CallWindowProc</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-callwindowprocw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window procedure to receive the message.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-callwindowprocw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="Msg">
            <para>Type: <b>UINT</b> The message.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-callwindowprocw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="wParam">
            <para>Type: <b>WPARAM</b> Additional message-specific information. The contents of this parameter depend on the value of the <i>Msg</i> parameter.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-callwindowprocw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="lParam">
            <para>Type: <b>LPARAM</b> Additional message-specific information. The contents of this parameter depend on the value of the <i>Msg</i> parameter.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-callwindowprocw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>LRESULT</b> The return value specifies the result of the message processing and depends on the message sent.</para>
            </returns>
            <remarks>
            <para>Use the <b>CallWindowProc</b> function for window subclassing. Usually, all windows with the same class share one window procedure. A subclass is a window or set of windows with the same class whose messages are intercepted and processed by another window procedure (or procedures) before being passed to the window procedure of the class. The <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-setwindowlonga">SetWindowLong</a> function creates the subclass by changing the window procedure associated with a particular window, causing the system to call the new window procedure instead of the previous one. An application must pass any messages not processed by the new window procedure to the previous window procedure by calling <b>CallWindowProc</b>. This allows the application to create a chain of window procedures. If <b>STRICT</b> is defined, the <i>lpPrevWndFunc</i> parameter has the data type <b>WNDPROC</b>. The <b>WNDPROC</b> type is declared as follows:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-callwindowprocw#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.DefWindowProc(Windows.Win32.Foundation.HWND,System.UInt32,Windows.Win32.Foundation.WPARAM,Windows.Win32.Foundation.LPARAM)">
            <summary>Calls the default window procedure to provide default processing for any window messages that an application does not process. (Unicode)</summary>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window procedure that received the message.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-defwindowprocw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="Msg">
            <para>Type: <b>UINT</b> The message.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-defwindowprocw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="wParam">
            <para>Type: <b>WPARAM</b> Additional message information. The content of this parameter depends on the value of the <i>Msg</i> parameter.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-defwindowprocw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="lParam">
            <para>Type: <b>LPARAM</b> Additional message information. The content of this parameter depends on the value of the <i>Msg</i> parameter.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-defwindowprocw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>LRESULT</b> The return value is the result of the message processing and depends on the message.</para>
            </returns>
            <remarks>
            <para>> [!NOTE] > The winuser.h header defines DefWindowProc as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes).</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-defwindowprocw#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetSystemMetrics(Windows.Win32.UI.WindowsAndMessaging.SYSTEM_METRICS_INDEX)">
            <summary>Retrieves the specified system metric or system configuration setting.</summary>
            <param name="nIndex">Type: <b>int</b></param>
            <returns>
            <para>Type: <b>int</b> If the function succeeds, the return value is the requested system metric or configuration setting. If the function fails, the return value is 0. <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a> does not provide extended error information.</para>
            </returns>
            <remarks>
            <para>System metrics can vary from display to display. <b>GetSystemMetrics</b>(SM_CMONITORS) counts only visible display monitors. This is different from <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-enumdisplaymonitors">EnumDisplayMonitors</a>, which enumerates both visible display monitors and invisible  pseudo-monitors that are associated with mirroring drivers. An invisible pseudo-monitor is associated with a pseudo-device used to mirror application drawing for remoting or other purposes. The SM_ARRANGE setting specifies how the system arranges minimized windows, and consists of a starting position and a direction. The starting position can be one of the following values.</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getsystemmetrics#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetSystemMetricsForDpi(Windows.Win32.UI.WindowsAndMessaging.SYSTEM_METRICS_INDEX,System.UInt32)">
            <summary>Retrieves the specified system metric or system configuration setting taking into account a provided DPI.</summary>
            <param name="nIndex">The system metric or configuration setting to be retrieved. See <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getsystemmetrics">GetSystemMetrics</a> for the possible values.</param>
            <param name="dpi">The DPI to use for scaling the metric.</param>
            <returns>
            <para>If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>This function returns the same result as <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getsystemmetrics">GetSystemMetrics</a> but scales it according to an arbitrary DPI you provide if appropriate.</remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.ClientToScreen(Windows.Win32.Foundation.HWND,System.Drawing.Point@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.ClientToScreen(Windows.Win32.Foundation.HWND,System.Drawing.Point*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.ClientToScreen(Windows.Win32.Foundation.HWND,System.Drawing.Point*)">
            <summary>The ClientToScreen function converts the client-area coordinates of a specified point to screen coordinates.</summary>
            <param name="hWnd">A handle to the window whose client area is used for the conversion.</param>
            <param name="lpPoint">A pointer to a <a href="https://docs.microsoft.com/windows/win32/api/windef/ns-windef-point">POINT</a> structure that contains the client coordinates to be converted. The new screen coordinates are copied into this structure if the function succeeds.</param>
            <returns>
            <para>If the function succeeds, the return value is nonzero. If the function fails, the return value is zero.</para>
            </returns>
            <remarks>
            <para>The <b>ClientToScreen</b> function replaces the client-area coordinates in the <a href="https://docs.microsoft.com/windows/win32/api/windef/ns-windef-point">POINT</a> structure with the screen coordinates. The screen coordinates are relative to the upper-left corner of the screen. Note, a screen-coordinate point that is above the window's client area has a negative y-coordinate. Similarly, a screen coordinate to the left of a client area has a negative x-coordinate. All coordinates are device coordinates.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-clienttoscreen#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.ScreenToClient(Windows.Win32.Foundation.HWND,System.Drawing.Point@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.ScreenToClient(Windows.Win32.Foundation.HWND,System.Drawing.Point*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.ScreenToClient(Windows.Win32.Foundation.HWND,System.Drawing.Point*)">
            <summary>The ScreenToClient function converts the screen coordinates of a specified point on the screen to client-area coordinates.</summary>
            <param name="hWnd">A handle to the window whose client area will be used for the conversion.</param>
            <param name="lpPoint">A pointer to a <a href="https://docs.microsoft.com/windows/win32/api/windef/ns-windef-point">POINT</a> structure that specifies the screen coordinates to be converted.</param>
            <returns>
            <para>If the function succeeds, the return value is nonzero. If the function fails, the return value is zero.</para>
            </returns>
            <remarks>
            <para>The function uses the window identified by the <i>hWnd</i> parameter and the screen coordinates given in the <a href="https://docs.microsoft.com/windows/win32/api/windef/ns-windef-point">POINT</a> structure to compute client coordinates. It then replaces the screen coordinates with the client coordinates. The new coordinates are relative to the upper-left corner of the specified window's client area. The <b>ScreenToClient</b> function assumes the specified point is in screen coordinates. All coordinates are in device units. Do not use <b>ScreenToClient</b> when in a mirroring situation, that is, when changing from left-to-right layout to right-to-left layout. Instead, use <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-mapwindowpoints">MapWindowPoints</a>. For more information, see "Window Layout and Mirroring" in <a href="https://docs.microsoft.com/windows/desktop/winmsg/window-features">Window Features</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-screentoclient#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.SendMessage(Windows.Win32.Foundation.HWND,System.UInt32,Windows.Win32.Foundation.WPARAM,Windows.Win32.Foundation.LPARAM)">
            <summary>Sends the specified message to a window or windows. The SendMessage function calls the window procedure for the specified window and does not return until the window procedure has processed the message. (SendMessageW)</summary>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window whose window procedure will receive the message. If this parameter is <b>HWND_BROADCAST</b> ((HWND)0xffff), the message is sent to all top-level windows in the system, including disabled or invisible unowned windows, overlapped windows, and pop-up windows; but the message is not sent to child windows. Message sending is subject to UIPI. The thread of a process can send messages only to message queues of threads in processes of lesser or equal integrity level.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-sendmessagew#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="Msg">
            <para>Type: <b>UINT</b> The message to be sent. For lists of the system-provided messages, see <a href="https://docs.microsoft.com/windows/desktop/winmsg/about-messages-and-message-queues">System-Defined Messages</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-sendmessagew#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="wParam">
            <para>Type: <b>WPARAM</b> Additional message-specific information.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-sendmessagew#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="lParam">
            <para>Type: <b>LPARAM</b> Additional message-specific information.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-sendmessagew#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>LRESULT</b> The return value specifies the result of the message processing; it depends on the message sent.</para>
            </returns>
            <remarks>
            <para>When a message is blocked by UIPI the last error, retrieved with <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>, is set to 5 (access denied). Applications that need to communicate using <b>HWND_BROADCAST</b> should use the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-registerwindowmessagea">RegisterWindowMessage</a> function to obtain a unique message for inter-application communication. The system only does marshalling for system messages (those in the range 0 to (<a href="https://docs.microsoft.com/windows/desktop/winmsg/wm-user">WM_USER</a>-1)). To send other messages (those &gt;= <b>WM_USER</b>) to another process, you must do custom marshalling. If the specified window was created by the calling thread, the window procedure is called immediately as a subroutine. If the specified window was created by a different thread, the system switches to that thread and calls the appropriate window procedure. Messages sent between threads are processed only when the receiving thread executes message retrieval code. The sending thread is blocked until the receiving thread processes the message. However, the sending thread will process incoming nonqueued messages while waiting for its message to be processed. To prevent this, use <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-sendmessagetimeouta">SendMessageTimeout</a> with SMTO_BLOCK set. For more information on nonqueued messages, see <a href="https://docs.microsoft.com/windows/desktop/winmsg/about-messages-and-message-queues">Nonqueued Messages</a>. An accessibility application can use <b>SendMessage</b> to send <a href="https://docs.microsoft.com/windows/desktop/inputdev/wm-appcommand">WM_APPCOMMAND</a> messages  to the shell to launch applications. This  functionality is not guaranteed to work for other types of applications.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-sendmessagew#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.DestroyIcon(Windows.Win32.UI.WindowsAndMessaging.HICON)">
            <summary>Destroys an icon and frees any memory the icon occupied.</summary>
            <param name="hIcon">
            <para>Type: <b>HICON</b> A handle to the icon to be destroyed. The icon must not be in use.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-destroyicon#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>
            <para>It is only necessary to call <b>DestroyIcon</b> for icons and cursors created with the following functions: <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-createiconfromresourceex">CreateIconFromResourceEx</a> (if called without the <b>LR_SHARED</b> flag), <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-createiconindirect">CreateIconIndirect</a>, and <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-copyicon">CopyIcon</a>. Do not use this function to destroy a shared icon. A shared icon is valid as long as the module from which it was loaded remains in memory. The following functions obtain a shared icon. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-destroyicon#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.DestroyCursor(Windows.Win32.UI.WindowsAndMessaging.HCURSOR)">
            <summary>Destroys a cursor and frees any memory the cursor occupied. Do not use this function to destroy a shared cursor.</summary>
            <param name="hCursor">
            <para>Type: <b>HCURSOR</b> A handle to the cursor to be destroyed. The cursor must not be in use.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-destroycursor#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>
            <para>The <b>DestroyCursor</b> function destroys a nonshared cursor. Do not use this function to destroy a shared cursor. A shared cursor is valid as long as the module from which it was loaded remains in memory. The following functions obtain a shared cursor: </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-destroycursor#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.RegisterClassEx(Windows.Win32.UI.WindowsAndMessaging.WNDCLASSEXW@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.RegisterClassEx(Windows.Win32.UI.WindowsAndMessaging.WNDCLASSEXW*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.RegisterClassEx(Windows.Win32.UI.WindowsAndMessaging.WNDCLASSEXW*)">
            <summary>Registers a window class for subsequent use in calls to the CreateWindow or CreateWindowEx function. (RegisterClassExW)</summary>
            <returns>
            <para>Type: <b>ATOM</b> If the function succeeds, the return value is a class atom that uniquely identifies the class being registered. This atom can only be used by the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-createwindowa">CreateWindow</a>, <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-createwindowexa">CreateWindowEx</a>, <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getclassinfoa">GetClassInfo</a>, <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getclassinfoexa">GetClassInfoEx</a>, <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-findwindowa">FindWindow</a>, <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-findwindowexa">FindWindowEx</a>, and <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-unregisterclassa">UnregisterClass</a> functions and the <b>IActiveIMMap::FilterClientWindows</b> method. If the function fails, the return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>
            <para>If you register the window class by using <b>RegisterClassExA</b>, the application tells the system that the windows of the created class expect messages with text or character parameters to use the ANSI character set; if you register it by using <b>RegisterClassExW</b>, the application requests that the system pass text parameters of messages as Unicode. The <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-iswindowunicode">IsWindowUnicode</a> function enables applications to query the nature of each window. For more information on ANSI and Unicode functions, see <a href="https://docs.microsoft.com/windows/desktop/Intl/conventions-for-function-prototypes">Conventions for Function Prototypes</a>. All window classes that an application registers are unregistered when it terminates. No window classes registered by a DLL are unregistered when the DLL is unloaded. A DLL must explicitly unregister its classes when it is unloaded.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-registerclassexw#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.UnregisterClass(System.String,System.Runtime.InteropServices.SafeHandle)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.UnregisterClass(Windows.Win32.Foundation.PCWSTR,Windows.Win32.Foundation.HINSTANCE)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.UnregisterClass(Windows.Win32.Foundation.PCWSTR,Windows.Win32.Foundation.HINSTANCE)">
            <summary>Unregisters a window class, freeing the memory required for the class. (Unicode)</summary>
            <param name="lpClassName">
            <para>Type: <b>LPCTSTR</b> A null-terminated string or a class atom. If <i>lpClassName</i> is a string, it specifies the window class name. This class name must have been registered by a previous call to the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-registerclassa">RegisterClass</a> or <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-registerclassexa">RegisterClassEx</a> function. System classes, such as dialog box controls, cannot be unregistered. If this parameter is an atom, it must be a class atom created by a previous call to the <b>RegisterClass</b> or <b>RegisterClassEx</b> function. The atom must be in the low-order word of <i>lpClassName</i>; the high-order word must be zero.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-unregisterclassw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="hInstance">
            <para>Type: <b>HINSTANCE</b> A handle to the instance of the module that created the class.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-unregisterclassw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the function succeeds, the return value is nonzero. If the class could not be found or if a window still exists that was created with the class, the return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>
            <para>Before calling this function, an application must destroy all windows created with the specified class. All window classes that an application registers are unregistered when it terminates. Class atoms are special atoms returned only by <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-registerclassa">RegisterClass</a> and <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-registerclassexa">RegisterClassEx</a>. No window classes registered by a DLL are unregistered when the .dll is unloaded.</para>
            <para>> [!NOTE] > The winuser.h header defines UnregisterClass as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes).</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-unregisterclassw#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.LoadCursor(System.Runtime.InteropServices.SafeHandle,System.String)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.LoadCursor(Windows.Win32.Foundation.HINSTANCE,Windows.Win32.Foundation.PCWSTR)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.LoadCursor(Windows.Win32.Foundation.HINSTANCE,Windows.Win32.Foundation.PCWSTR)">
            <summary>Loads the specified cursor resource from the executable (.EXE) file associated with an application instance. (Unicode)</summary>
            <param name="hInstance">
            <para>Type: <b>HINSTANCE</b> A handle to an instance of the module whose executable file contains the cursor to be loaded.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-loadcursorw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="lpCursorName">
            <para>Type: <b>LPCTSTR</b> The name of the cursor resource to be loaded. Alternatively, this parameter can consist of the resource identifier in the low-order word and zero in the high-order word. The <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-makeintresourcea">MAKEINTRESOURCE</a> macro can also be used to create this value. To use one of the predefined cursors, the application must set the <i>hInstance</i> parameter to <b>NULL</b> and the <i>lpCursorName</i> parameter to one the following values. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-loadcursorw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>HCURSOR</b> If the function succeeds, the return value is the handle to the newly loaded cursor. If the function fails, the return value is <b>NULL</b>. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>
            <para>The <b>LoadCursor</b> function loads the cursor resource only if it has not been loaded; otherwise, it retrieves the handle to the existing resource. This function returns a valid cursor handle only if the <i>lpCursorName</i> parameter is a pointer to a cursor resource. If <i>lpCursorName</i> is a pointer to any type of resource other than a cursor (such as an icon), the return value is not <b>NULL</b>, even though it is not a valid cursor handle. The <b>LoadCursor</b> function searches the cursor resource most appropriate for the cursor for the current display device. The cursor resource can be a color or monochrome bitmap. <h3><a id="DPI_Virtualization"></a><a id="dpi_virtualization"></a><a id="DPI_VIRTUALIZATION"></a>DPI Virtualization</h3> This API does not participate in DPI virtualization. The output returned is not affected by the DPI of the calling thread.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-loadcursorw#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.SetCursor(System.Runtime.InteropServices.SafeHandle)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.SetCursor(Windows.Win32.UI.WindowsAndMessaging.HCURSOR)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.SetCursor(Windows.Win32.UI.WindowsAndMessaging.HCURSOR)">
            <summary>Sets the cursor shape.</summary>
            <param name="hCursor">
            <para>Type: <b>HCURSOR</b> A handle to the cursor. The cursor must have been created by either the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-createcursor">CreateCursor</a> or the <a href="https://docs.microsoft.com/win32/api/winuser/nf-winuser-createiconindirect">CreateIconIndirect</a> function, or loaded by either the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-loadcursora">LoadCursor</a> or the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-loadimagea">LoadImage</a> function. If this parameter is <b>NULL</b>, the cursor is removed from the screen.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setcursor#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>HCURSOR</b> The return value is the handle to the previous cursor, if there was one. If there was no previous cursor, the return value is <b>NULL</b>.</para>
            </returns>
            <remarks>
            <para>The cursor is set only if the new cursor is different from the previous cursor; otherwise, the function returns immediately. The cursor is a shared resource. A window should set the cursor shape only when the cursor is in its client area or when the window is capturing mouse input. In systems without a mouse, the window should restore the previous cursor before the cursor leaves the client area or before it relinquishes control to another window. If your application must set the cursor while it is in a window, make sure the class cursor for the specified window's class is set to <b>NULL</b>. If the class cursor is not <b>NULL</b>, the system restores the class cursor each time the mouse is moved. The cursor is not shown on the screen if the internal cursor display count is less than zero. This occurs if the application uses the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-showcursor">ShowCursor</a> function to hide the cursor more times than to show the cursor.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setcursor#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.DestroyMenu(Windows.Win32.UI.WindowsAndMessaging.HMENU)">
            <summary>Destroys the specified menu and frees any memory that the menu occupies.</summary>
            <param name="hMenu">
            <para>Type: <b>HMENU</b> A handle to the menu to be destroyed.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-destroymenu#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>
            <para>Before closing, an application must use the <b>DestroyMenu</b> function to destroy a menu not assigned to a window. A menu that is assigned to a window is automatically destroyed when the application closes. <b>DestroyMenu</b> is recursive, that is, it will destroy the menu and all its submenus.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-destroymenu#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.CreateWindowEx(Windows.Win32.UI.WindowsAndMessaging.WINDOW_EX_STYLE,System.String,System.String,Windows.Win32.UI.WindowsAndMessaging.WINDOW_STYLE,System.Int32,System.Int32,System.Int32,System.Int32,Windows.Win32.Foundation.HWND,System.Runtime.InteropServices.SafeHandle,System.Runtime.InteropServices.SafeHandle,System.Void*)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.CreateWindowEx(Windows.Win32.UI.WindowsAndMessaging.WINDOW_EX_STYLE,Windows.Win32.Foundation.PCWSTR,Windows.Win32.Foundation.PCWSTR,Windows.Win32.UI.WindowsAndMessaging.WINDOW_STYLE,System.Int32,System.Int32,System.Int32,System.Int32,Windows.Win32.Foundation.HWND,Windows.Win32.UI.WindowsAndMessaging.HMENU,Windows.Win32.Foundation.HINSTANCE,System.Void*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.CreateWindowEx(Windows.Win32.UI.WindowsAndMessaging.WINDOW_EX_STYLE,Windows.Win32.Foundation.PCWSTR,Windows.Win32.Foundation.PCWSTR,Windows.Win32.UI.WindowsAndMessaging.WINDOW_STYLE,System.Int32,System.Int32,System.Int32,System.Int32,Windows.Win32.Foundation.HWND,Windows.Win32.UI.WindowsAndMessaging.HMENU,Windows.Win32.Foundation.HINSTANCE,System.Void*)">
            <summary>Creates an overlapped, pop-up, or child window with an extended window style; otherwise, this function is identical to the CreateWindow function. (Unicode)</summary>
            <param name="dwExStyle">
            <para>Type: <b>DWORD</b> The extended window style of the window being created. For a list of possible values, see  <a href="https://docs.microsoft.com/windows/desktop/winmsg/extended-window-styles">Extended Window Styles</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-createwindowexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="lpClassName">
            <para>Type: <b>LPCTSTR</b> A <b>null</b>-terminated string or a class atom created by a previous call to the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-registerclassa">RegisterClass</a> or <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-registerclassexa">RegisterClassEx</a> function. The atom must be in the low-order word of <i>lpClassName</i>; the high-order word must be zero. If <i>lpClassName</i> is a string, it specifies the window class name. The class name can be any name registered with <b>RegisterClass</b> or <b>RegisterClassEx</b>, provided that the module that registers the class is also the module that creates the window. The class name can also be any of the predefined <a href="https://docs.microsoft.com/windows/desktop/winmsg/about-window-classes">system class</a> names.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-createwindowexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="lpWindowName">
            <para>Type: <b>LPCTSTR</b> The window name. If the window style specifies a title bar, the window title pointed to by <i>lpWindowName</i> is displayed in the title bar. When using <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-createwindowa">CreateWindow</a> to create controls, such as buttons, check boxes, and static controls, use <i>lpWindowName</i> to specify the text of the control. When creating a static control with the <b>SS_ICON</b> style, use <i>lpWindowName</i> to specify the icon name or identifier. To specify an identifier, use the syntax "#<i>num</i>".</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-createwindowexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="dwStyle">
            <para>Type: <b>DWORD</b> The style of the window being created. This parameter can be a combination of the <a href="https://docs.microsoft.com/windows/desktop/winmsg/window-styles">window style values</a>, plus the control styles indicated in the Remarks section.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-createwindowexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="X">
            <para>Type: <b>int</b> The initial horizontal position of the window. For an overlapped or pop-up window, the <i>x</i> parameter is the initial x-coordinate of the window's upper-left corner, in screen coordinates. For a child window, <i>x</i> is the x-coordinate of the upper-left corner of the window relative to the upper-left corner of the parent window's client area. If <i>x</i> is set to <b>CW_USEDEFAULT</b>, the system selects the default position for the window's upper-left corner and ignores the <i>y</i> parameter. <b>CW_USEDEFAULT</b> is valid only for overlapped windows; if it is specified for a pop-up or child window, the <i>x</i> and <i>y</i> parameters are set to zero.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-createwindowexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="Y">
            <para>Type: <b>int</b> The initial vertical position of the window. For an overlapped or pop-up window, the <i>y</i> parameter is the initial y-coordinate of the window's upper-left corner, in screen coordinates. For a child window, <i>y</i> is the initial y-coordinate of the upper-left corner of the child window relative to the upper-left corner of the parent window's client area. For a list box <i>y</i> is the initial y-coordinate of the upper-left corner of the list box's client area relative to the upper-left corner of the parent window's client area.</para>
            <para>If an overlapped window is created with the <b>WS_VISIBLE</b> style bit set and the <i>x</i> parameter is set to <b>CW_USEDEFAULT</b>, then the <i>y</i> parameter determines how the window is shown. If the <i>y</i> parameter is <b>CW_USEDEFAULT</b>, then the window manager calls <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-showwindow">ShowWindow</a> with the <b>SW_SHOW</b> flag after the window has been created. If the <i>y</i> parameter is some other value, then the window manager calls <b>ShowWindow</b> with that value as the <i>nCmdShow</i> parameter.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-createwindowexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="nWidth">
            <para>Type: <b>int</b> The width, in device units, of the window. For overlapped windows, <i>nWidth</i> is the window's width, in screen coordinates, or <b>CW_USEDEFAULT</b>. If <i>nWidth</i> is <b>CW_USEDEFAULT</b>, the system selects a default width and height for the window; the default width extends from the initial x-coordinates to the right edge of the screen; the default height extends from the initial y-coordinate to the top of the icon area. <b>CW_USEDEFAULT</b> is valid only for overlapped windows; if <b>CW_USEDEFAULT</b> is specified for a pop-up or child window, the <i>nWidth</i> and <i>nHeight</i> parameter are set to zero.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-createwindowexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="nHeight">
            <para>Type: <b>int</b> The height, in device units, of the window. For overlapped windows, <i>nHeight</i> is the window's height, in screen coordinates. If the <i>nWidth</i> parameter is set to <b>CW_USEDEFAULT</b>, the system ignores <i>nHeight</i>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-createwindowexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="hWndParent">
            <para>Type: <b>HWND</b> A handle to the parent or owner window of the window being created. To create a child window or an owned window, supply a valid window handle. This parameter is optional for pop-up windows. To create a <a href="https://docs.microsoft.com/windows/desktop/winmsg/window-features">message-only window</a>, supply <b>HWND_MESSAGE</b> or a handle to an existing message-only window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-createwindowexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="hMenu">
            <para>Type: <b>HMENU</b> A handle to a menu, or specifies a child-window identifier, depending on the window style. For an overlapped or pop-up window, <i>hMenu</i> identifies the menu to be used with the window; it can be <b>NULL</b> if the class menu is to be used. For a child window, <i>hMenu</i> specifies the child-window identifier, an integer value used by a dialog box control to notify its parent about events. The application determines the child-window identifier; it must be unique for all child windows with the same parent window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-createwindowexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="hInstance">
            <para>Type: <b>HINSTANCE</b> A handle to the instance of the module to be associated with the window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-createwindowexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="lpParam">
            <para>Type: <b>LPVOID</b> Pointer to a value to be passed to the window through the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-createstructa">CREATESTRUCT</a> structure (<b>lpCreateParams</b> member) pointed to by the <i>lParam</i> param of the <b>WM_CREATE</b> message.  This message is sent to the created window by this function before it returns. If an application calls <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-createwindowa">CreateWindow</a> to create a MDI client window, <i>lpParam</i> should point to a <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-clientcreatestruct">CLIENTCREATESTRUCT</a> structure. If an MDI client window calls <b>CreateWindow</b> to create an MDI child window, <i>lpParam</i> should point to a <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-mdicreatestructa">MDICREATESTRUCT</a> structure. <i>lpParam</i> may be <b>NULL</b> if no additional data is needed.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-createwindowexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>HWND</b> If the function succeeds, the return value is a handle to the new window. If the function fails, the return value is <b>NULL</b>. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>. This function typically fails for one of the following reasons: </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>The <b>CreateWindowEx</b> function sends <a href="https://docs.microsoft.com/windows/desktop/winmsg/wm-nccreate">WM_NCCREATE</a>, <a href="https://docs.microsoft.com/windows/desktop/winmsg/wm-nccalcsize">WM_NCCALCSIZE</a>, and <a href="https://docs.microsoft.com/windows/desktop/winmsg/wm-create">WM_CREATE</a> messages to the window being created. If the created window is a child window, its default position is at the bottom of the Z-order. If the created window is a top-level window, its default position is at the top of the Z-order (but beneath all topmost windows unless the created window is itself topmost). For information on controlling whether the Taskbar displays a button for the created window, see <a href="https://docs.microsoft.com/windows/desktop/shell/taskbar">Managing Taskbar Buttons</a>. For information on removing a window, see the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-destroywindow">DestroyWindow</a> function. The following predefined control classes can be specified in the <i>lpClassName</i> parameter. Note the corresponding control styles you can use in the <i>dwStyle</i> parameter. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-createwindowexw#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.SetLayeredWindowAttributes(Windows.Win32.Foundation.HWND,Windows.Win32.Foundation.COLORREF,System.Byte,Windows.Win32.UI.WindowsAndMessaging.LAYERED_WINDOW_ATTRIBUTES_FLAGS)">
            <summary>Sets the opacity and transparency color key of a layered window.</summary>
            <param name="hwnd">
            <para>Type: <b>HWND</b> A handle to the layered window. A layered window is created by specifying <b>WS_EX_LAYERED</b> when creating the window with the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-createwindowexa">CreateWindowEx</a> function or by setting <b>WS_EX_LAYERED</b> via <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-setwindowlonga">SetWindowLong</a> after the window has been created. <b>Windows 8:  </b>The <b>WS_EX_LAYERED</b> style is supported for top-level windows and child windows. Previous Windows versions support <b>WS_EX_LAYERED</b> only for top-level windows.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setlayeredwindowattributes#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="crKey">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/gdi/colorref">COLORREF</a></b> A <a href="https://docs.microsoft.com/windows/desktop/gdi/colorref">COLORREF</a> structure that specifies the transparency color key to be used when composing the layered window. All pixels painted by the window in this color will be transparent. To generate a <b>COLORREF</b>, use the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-rgb">RGB</a> macro.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setlayeredwindowattributes#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="bAlpha">
            <para>Type: <b>BYTE</b> Alpha value used to describe the opacity of the layered window. Similar to the <b>SourceConstantAlpha</b> member of the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/ns-wingdi-blendfunction">BLENDFUNCTION</a> structure. When <i>bAlpha</i> is 0, the window is completely transparent. When <i>bAlpha</i> is 255, the window is opaque.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setlayeredwindowattributes#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="dwFlags">Type: <b>DWORD</b></param>
            <returns>
            <para>Type: <b>BOOL</b> If the function succeeds, the return value is nonzero.</para>
            <para>If the function fails, the return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>
            <para>Note that once <b>SetLayeredWindowAttributes</b> has been called for a layered window, subsequent <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-updatelayeredwindow">UpdateLayeredWindow</a> calls will fail until the layering style bit is cleared and set again. For more information, see <a href="https://docs.microsoft.com/windows/desktop/winmsg/using-windows">Using Layered Windows</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setlayeredwindowattributes#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.DestroyWindow(Windows.Win32.Foundation.HWND)">
            <summary>Destroys the specified window.</summary>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window to be destroyed.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-destroywindow#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>
            <para>A thread cannot use <b>DestroyWindow</b> to destroy a window created by a different thread. If the window being destroyed is a child window that does not have the <b>WS_EX_NOPARENTNOTIFY</b> style, a <a href="https://docs.microsoft.com/windows/win32/inputmsg/wm-parentnotify">WM_PARENTNOTIFY</a> message is sent to the parent.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-destroywindow#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetMessagePos">
            <summary>Retrieves the cursor position for the last message retrieved by the GetMessage function.</summary>
            <returns>
            <para>Type: <b>DWORD</b> The return value specifies the x- and y-coordinates of the cursor position. The x-coordinate is the low order <b>short</b> and the y-coordinate is the high-order <b>short</b>.</para>
            </returns>
            <remarks>
            <para>As noted above, the x-coordinate is in the low-order <b>short</b> of the return value; the y-coordinate is in the high-order <b>short</b> (both represent <i>signed</i> values because they can take negative values on systems with multiple monitors). If the return value is assigned to a variable, you can use the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-makepoints">MAKEPOINTS</a> macro to obtain a <a href="https://docs.microsoft.com/windows/win32/api/windef/ns-windef-points">POINTS</a> structure from the return value. You can also use the <a href="https://docs.microsoft.com/windows/desktop/api/windowsx/nf-windowsx-get_x_lparam">GET_X_LPARAM</a> or <a href="https://docs.microsoft.com/windows/desktop/api/windowsx/nf-windowsx-get_y_lparam">GET_Y_LPARAM</a> macro to extract the x- or y-coordinate. <div class="alert"><b>Important</b>  Do not use the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms632659(v=vs.85)">LOWORD</a> or <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms632657(v=vs.85)">HIWORD</a> macros to extract the x- and y- coordinates of the cursor position because these macros return incorrect results on systems with multiple monitors. Systems with multiple monitors can have negative x- and y- coordinates, and <b>LOWORD</b> and <b>HIWORD</b> treat the coordinates as unsigned quantities.</div> <div> </div></para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getmessagepos#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetKeyState(System.Int32)">
            <summary>Retrieves the status of the specified virtual key. The status specifies whether the key is up, down, or toggled (on, off�alternating each time the key is pressed).</summary>
            <param name="nVirtKey">
            <para>Type: <b>int</b> A virtual key. If the desired virtual key is a letter or digit (A through Z, a through z, or 0 through 9), <i>nVirtKey</i> must be set to the ASCII value of that character. For other keys, it must be a virtual-key code. If a non-English keyboard layout is used, virtual keys with values in the range ASCII A through Z and 0 through 9 are used to specify most of the character keys. For example, for the German keyboard layout, the virtual key of value ASCII O (0x4F) refers to the "o" key, whereas VK_OEM_1 refers to the "o with umlaut" key.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getkeystate#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>SHORT</b> The return value specifies the status of the specified virtual key, as follows: </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>The key status returned from this function changes as a thread reads key messages from its message queue. The status does not reflect the interrupt-level state associated with the hardware. Use the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getasynckeystate">GetAsyncKeyState</a> function to retrieve that information. An application calls <b>GetKeyState</b> in response to a keyboard-input message. This function retrieves the state of the key when the input message was generated. To retrieve state information for all the virtual keys, use the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getkeyboardstate">GetKeyboardState</a> function. An application can use the <a href="https://docs.microsoft.com/windows/desktop/inputdev/virtual-key-codes">virtual key code</a> constants <b>VK_SHIFT</b>, <b>VK_CONTROL</b>, and <b>VK_MENU</b> as values for the <i>nVirtKey</i> parameter. This gives the status of the SHIFT, CTRL, or ALT keys without distinguishing between left and right. An application can also use the following virtual-key code constants as values for <i>nVirtKey</i> to distinguish between the left and right instances of those keys: <b>VK_LSHIFT</b> <b>VK_RSHIFT</b> <b>VK_LCONTROL</b> <b>VK_RCONTROL</b> <b>VK_LMENU</b> <b>VK_RMENU</b> These left- and right-distinguishing constants are available to an application only through the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getkeyboardstate">GetKeyboardState</a>, <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-setkeyboardstate">SetKeyboardState</a>, <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getasynckeystate">GetAsyncKeyState</a>, <b>GetKeyState</b>, and <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-mapvirtualkeya">MapVirtualKey</a> functions.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getkeystate#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.TrackMouseEvent(Windows.Win32.UI.Input.KeyboardAndMouse.TRACKMOUSEEVENT@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.TrackMouseEvent(Windows.Win32.UI.Input.KeyboardAndMouse.TRACKMOUSEEVENT*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.TrackMouseEvent(Windows.Win32.UI.Input.KeyboardAndMouse.TRACKMOUSEEVENT*)">
            <summary>Posts messages when the mouse pointer leaves a window or hovers over a window for a specified amount of time.</summary>
            <param name="lpEventTrack">
            <para>Type: <b>LPTRACKMOUSEEVENT</b> A pointer to a <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-trackmouseevent">TRACKMOUSEEVENT</a> structure that contains tracking information.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-trackmouseevent#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the function succeeds, the return value is nonzero . If the function fails, return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>
            <para>The mouse pointer is considered to be hovering when it stays within a specified rectangle for a specified period of time. Call <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-systemparametersinfoa">SystemParametersInfo</a>. and use the values <b>SPI_GETMOUSEHOVERWIDTH</b>, <b>SPI_GETMOUSEHOVERHEIGHT</b>, and <b>SPI_GETMOUSEHOVERTIME</b> to retrieve the size of the rectangle and the time. The function can post the following messages. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-trackmouseevent#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.MonitorFromRect(Windows.Win32.Foundation.RECT@,Windows.Win32.Graphics.Gdi.MONITOR_FROM_FLAGS)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.MonitorFromRect(Windows.Win32.Foundation.RECT*,Windows.Win32.Graphics.Gdi.MONITOR_FROM_FLAGS)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.MonitorFromRect(Windows.Win32.Foundation.RECT*,Windows.Win32.Graphics.Gdi.MONITOR_FROM_FLAGS)">
            <summary>The MonitorFromRect function retrieves a handle to the display monitor that has the largest area of intersection with a specified rectangle.</summary>
            <param name="lprc">A pointer to a <a href="https://docs.microsoft.com/windows/desktop/api/windef/ns-windef-rect">RECT</a> structure that specifies the rectangle of interest in virtual-screen coordinates.</param>
            <param name="dwFlags">Determines the function's return value if the rectangle does not intersect any display monitor.</param>
            <returns>
            <para>If the rectangle intersects one or more display monitor rectangles, the return value is an <b>HMONITOR</b> handle to the display monitor that has the largest area of intersection with the rectangle. If the rectangle does not intersect a display monitor, the return value depends on the value of <i>dwFlags</i>.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-monitorfromrect">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.MonitorFromWindow(Windows.Win32.Foundation.HWND,Windows.Win32.Graphics.Gdi.MONITOR_FROM_FLAGS)">
            <summary>The MonitorFromWindow function retrieves a handle to the display monitor that has the largest area of intersection with the bounding rectangle of a specified window.</summary>
            <param name="hwnd">A handle to the window of interest.</param>
            <param name="dwFlags">Determines the function's return value if the window does not intersect any display monitor.</param>
            <returns>
            <para>If the window intersects one or more display monitor rectangles, the return value is an <b>HMONITOR</b> handle to the display monitor that has the largest area of intersection with the window. If the window does not intersect a display monitor, the return value depends on the value of <i>dwFlags</i>.</para>
            </returns>
            <remarks>If the window is currently minimized, <b>MonitorFromWindow</b> uses the rectangle of the window before it was minimized.</remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.MonitorFromPoint(System.Drawing.Point,Windows.Win32.Graphics.Gdi.MONITOR_FROM_FLAGS)">
            <summary>The MonitorFromPoint function retrieves a handle to the display monitor that contains a specified point.</summary>
            <param name="pt">A <a href="https://docs.microsoft.com/windows/win32/api/windef/ns-windef-point">POINT</a> structure that specifies the point of interest in virtual-screen coordinates.</param>
            <param name="dwFlags">Determines the function's return value if the point is not contained within any display monitor.</param>
            <returns>
            <para>If the point is contained by a display monitor, the return value is an <b>HMONITOR</b> handle to that display monitor. If the point is not contained by a display monitor, the return value depends on the value of <i>dwFlags</i>.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-monitorfrompoint">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetMonitorInfo(Windows.Win32.Graphics.Gdi.HMONITOR,Windows.Win32.Graphics.Gdi.MONITORINFO@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.GetMonitorInfo(Windows.Win32.Graphics.Gdi.HMONITOR,Windows.Win32.Graphics.Gdi.MONITORINFO*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetMonitorInfo(Windows.Win32.Graphics.Gdi.HMONITOR,Windows.Win32.Graphics.Gdi.MONITORINFO*)">
            <summary>The GetMonitorInfo function retrieves information about a display monitor. (Unicode)</summary>
            <param name="hMonitor">A handle to the display monitor of interest.</param>
            <param name="lpmi">
            <para>A pointer to a <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-monitorinfo">MONITORINFO</a> or <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-monitorinfoexa">MONITORINFOEX</a> structure that receives information about the specified display monitor. You must set the <b>cbSize</b> member of the structure to sizeof(MONITORINFO) or sizeof(MONITORINFOEX) before calling the <b>GetMonitorInfo</b> function. Doing so lets the function determine the type of structure you are passing to it. The <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-monitorinfoexa">MONITORINFOEX</a> structure is a superset of the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-monitorinfo">MONITORINFO</a> structure. It has one additional member: a string that contains a name for the display monitor. Most applications have no use for a display monitor name, and so can save some bytes by using a <b>MONITORINFO</b> structure.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getmonitorinfow#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>If the function succeeds, the return value is nonzero. If the function fails, the return value is zero.</para>
            </returns>
            <remarks>
            <para>> [!NOTE] > The winuser.h header defines GetMonitorInfo as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes).</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getmonitorinfow#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetWindowPlacement(Windows.Win32.Foundation.HWND,Windows.Win32.UI.WindowsAndMessaging.WINDOWPLACEMENT@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.GetWindowPlacement(Windows.Win32.Foundation.HWND,Windows.Win32.UI.WindowsAndMessaging.WINDOWPLACEMENT*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetWindowPlacement(Windows.Win32.Foundation.HWND,Windows.Win32.UI.WindowsAndMessaging.WINDOWPLACEMENT*)">
            <summary>Retrieves the show state and the restored, minimized, and maximized positions of the specified window.</summary>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getwindowplacement#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="lpwndpl">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-windowplacement">WINDOWPLACEMENT</a>*</b> A pointer to the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-windowplacement">WINDOWPLACEMENT</a> structure that receives the show state and position information. Before calling <b>GetWindowPlacement</b>, set the <b>length</b> member to <c>sizeof(WINDOWPLACEMENT)</c>. <b>GetWindowPlacement</b> fails if <i>lpwndpl</i>-&gt; <i>length</i> is not set correctly.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getwindowplacement#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>
            <para>The <b>flags</b> member of <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-windowplacement">WINDOWPLACEMENT</a> retrieved by this function is always zero. If the window identified by the <i>hWnd</i> parameter is maximized, the <b>showCmd</b> member is SW_SHOWMAXIMIZED. If the window is minimized, <b>showCmd</b> is SW_SHOWMINIMIZED. Otherwise, it is SW_SHOWNORMAL. The <b>length</b> member of <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-windowplacement">WINDOWPLACEMENT</a> must be set to sizeof(<b>WINDOWPLACEMENT</b>). If this member is not set correctly, the function returns <b>FALSE</b>. For additional remarks on the proper use of window placement coordinates, see <b>WINDOWPLACEMENT</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getwindowplacement#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.SetWindowPlacement(Windows.Win32.Foundation.HWND,Windows.Win32.UI.WindowsAndMessaging.WINDOWPLACEMENT@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.SetWindowPlacement(Windows.Win32.Foundation.HWND,Windows.Win32.UI.WindowsAndMessaging.WINDOWPLACEMENT*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.SetWindowPlacement(Windows.Win32.Foundation.HWND,Windows.Win32.UI.WindowsAndMessaging.WINDOWPLACEMENT*)">
            <summary>Sets the show state and the restored, minimized, and maximized positions of the specified window.</summary>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setwindowplacement#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="lpwndpl">
            <para>Type: <b>const <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-windowplacement">WINDOWPLACEMENT</a>*</b> A pointer to a <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-windowplacement">WINDOWPLACEMENT</a> structure that specifies the new show state and window positions. Before calling <b>SetWindowPlacement</b>, set the <b>length</b> member of the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-windowplacement">WINDOWPLACEMENT</a> structure to sizeof(<b>WINDOWPLACEMENT</b>). <b>SetWindowPlacement</b> fails if the <b>length</b> member is not set correctly.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setwindowplacement#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>
            <para>If the information specified in <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-windowplacement">WINDOWPLACEMENT</a> would result in a window that is completely off the screen, the system will automatically adjust the coordinates so that the window is visible, taking into account changes in screen resolution and multiple monitor configuration. The <b>length</b> member of <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-windowplacement">WINDOWPLACEMENT</a> must be set to <c>sizeof(WINDOWPLACEMENT)</c>. If this member is not set correctly, the function returns <b>FALSE</b>. For additional remarks on the proper use of window placement coordinates, see <b>WINDOWPLACEMENT</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setwindowplacement#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.ShowWindow(Windows.Win32.Foundation.HWND,Windows.Win32.UI.WindowsAndMessaging.SHOW_WINDOW_CMD)">
            <summary>Sets the specified window's show state.</summary>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-showwindow#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="nCmdShow">Type: <b>int</b></param>
            <returns>
            <para>Type: <b>BOOL</b> If the window was previously visible, the return value is nonzero. If the window was previously hidden, the return value is zero.</para>
            </returns>
            <remarks>
            <para>To perform certain special effects when showing or hiding a window, use <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-animatewindow">AnimateWindow</a>. The first time an application calls <b>ShowWindow</b>, it should use the <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-winmain">WinMain</a> function's <i>nCmdShow</i> parameter as its <i>nCmdShow</i> parameter. Subsequent calls to <b>ShowWindow</b> must use one of the values in the given list, instead of the one specified by the <b>WinMain</b> function's <i>nCmdShow</i> parameter. As noted in the discussion of the <i>nCmdShow</i> parameter, the <i>nCmdShow</i> value is ignored in the first call to <b>ShowWindow</b> if the program that launched the application specifies startup information in the  structure. In this case, <b>ShowWindow</b> uses the information specified in the <a href="https://docs.microsoft.com/windows/desktop/api/processthreadsapi/ns-processthreadsapi-startupinfoa">STARTUPINFO</a> structure to show the window. On subsequent calls, the application must call <b>ShowWindow</b> with <i>nCmdShow</i> set to <b>SW_SHOWDEFAULT</b> to use the startup information provided by the program that launched the application. This behavior is designed for the following situations: </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-showwindow#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.UpdateWindow(Windows.Win32.Foundation.HWND)">
            <summary>The UpdateWindow function updates the client area of the specified window by sending a WM_PAINT message to the window if the window's update region is not empty.</summary>
            <param name="hWnd">Handle to the window to be updated.</param>
            <returns>
            <para>If the function succeeds, the return value is nonzero. If the function fails, the return value is zero.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-updatewindow">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.SetActiveWindow(Windows.Win32.Foundation.HWND)">
            <summary>Activates a window. The window must be attached to the calling thread's message queue.</summary>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the top-level window to be activated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setactivewindow#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>HWND</b> If the function succeeds, the return value is the handle to the window that was previously active. If the function fails, the return value is <b>NULL</b>. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>
            <para>The <b>SetActiveWindow</b> function activates a window, but not if the application is in the background. The window will be brought into the foreground (top of <a href="https://docs.microsoft.com/windows/desktop/winmsg/window-features">Z-Order</a>) if its application is in the foreground when the system activates the window. If the window identified by the <i>hWnd</i> parameter was created by the calling thread, the active window status of the calling thread is set to <i>hWnd</i>. Otherwise, the active window status of the calling thread is set to <b>NULL</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setactivewindow#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.SetForegroundWindow(Windows.Win32.Foundation.HWND)">
            <summary>Brings the thread that created the specified window into the foreground and activates the window.</summary>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window that should be activated and brought to the foreground.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setforegroundwindow#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the window was brought to the foreground, the return value is nonzero. If the window was not brought to the foreground, the return value is zero.</para>
            </returns>
            <remarks>
            <para>The system restricts which processes can set the foreground window. A process can set the foreground window by calling **SetForegroundWindow** only if: - All of the following conditions are true: - The calling process belongs to a desktop application, not a UWP app or a Windows Store app designed for Windows 8 or 8.1. - The foreground process has not disabled calls to **SetForegroundWindow** by a previous call to the [**LockSetForegroundWindow**](nf-winuser-locksetforegroundwindow.md) function. - The foreground lock time-out has expired (see [**SPI_GETFOREGROUNDLOCKTIMEOUT** in **SystemParametersInfo**](nf-winuser-systemparametersinfoa.md#SPI_GETFOREGROUNDLOCKTIMEOUT)). - No menus are active. - Additionally, at least one of the following conditions is true: - The calling process is the foreground process. - The calling process was started by the foreground process. - There is currently no foreground window, and thus no foreground process. - The calling process received the last input event. - Either the foreground process or the calling process is being debugged. It is possible for a process to be denied the right to set the foreground window even if it meets these conditions. An application cannot force a window to the foreground while the user is working with another window. Instead, Windows flashes the taskbar button of the window to notify the user. A process that can set the foreground window can enable another process to set the foreground window by calling the [**AllowSetForegroundWindow**](nf-winuser-allowsetforegroundwindow.md) function. The process specified by the *dwProcessId* parameter to **AllowSetForegroundWindow** loses the ability to set the foreground window the next time that either the user generates input, unless the input is directed at that process, or the next time a process calls **AllowSetForegroundWindow**, unless the same process is specified as in the previous call to **AllowSetForegroundWindow**. The foreground process can disable calls to <b>SetForegroundWindow</b> by calling the [**LockSetForegroundWindow**](nf-winuser-locksetforegroundwindow.md) function.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setforegroundwindow#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.SetProp(Windows.Win32.Foundation.HWND,System.String,System.Runtime.InteropServices.SafeHandle)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.SetProp(Windows.Win32.Foundation.HWND,Windows.Win32.Foundation.PCWSTR,Windows.Win32.Foundation.HANDLE)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.SetProp(Windows.Win32.Foundation.HWND,Windows.Win32.Foundation.PCWSTR,Windows.Win32.Foundation.HANDLE)">
            <summary>Adds a new entry or changes an existing entry in the property list of the specified window. (Unicode)</summary>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window whose property list receives the new entry.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setpropw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="lpString">
            <para>Type: <b>LPCTSTR</b> A null-terminated string or an atom that identifies a string. If this parameter is an atom, it must be a global atom created by a previous call to the <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-globaladdatoma">GlobalAddAtom</a> function. The atom must be placed in the low-order word of <i>lpString</i>; the high-order word must be zero.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setpropw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="hData">
            <para>Type: <b>HANDLE</b> A handle to the data to be copied to the property list. The data handle can identify any value useful to the application.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setpropw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the data handle and string are added to the property list, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>
            <para>Before a window is destroyed (that is, before it returns from processing the <a href="https://docs.microsoft.com/windows/desktop/winmsg/wm-ncdestroy">WM_NCDESTROY</a> message), an application must remove all entries it has added to the property list. The application must use the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-removepropa">RemoveProp</a> function to remove the entries. <b>SetProp</b> is subject to the restrictions of User Interface Privilege Isolation (UIPI). A process can only call this function on a window belonging to a process of lesser or equal integrity level. When UIPI blocks property changes, <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a> will return 5.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setpropw#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.IsIconic(Windows.Win32.Foundation.HWND)">
            <summary>Determines whether the specified window is minimized (iconic).</summary>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window to be tested.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-isiconic#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the window is iconic, the return value is nonzero. If the window is not iconic, the return value is zero.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-isiconic">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetDC(Windows.Win32.Foundation.HWND)">
            <summary>The GetDC function retrieves a handle to a device context (DC) for the client area of a specified window or for the entire screen.</summary>
            <param name="hWnd">A handle to the window whose DC is to be retrieved. If this value is <b>NULL</b>, <b>GetDC</b> retrieves the DC for the entire screen.</param>
            <returns>
            <para>If the function succeeds, the return value is a handle to the DC for the specified window's client area. If the function fails, the return value is <b>NULL</b>.</para>
            </returns>
            <remarks>
            <para>The <b>GetDC</b> function retrieves a common, class, or private DC depending on the class style of the specified window. For class and private DCs, <b>GetDC</b> leaves the previously assigned attributes unchanged. However, for common DCs, <b>GetDC</b> assigns default attributes to the DC each time it is retrieved. For example, the default font is System, which is a bitmap font. Because of this, the handle to a common DC returned by <b>GetDC</b> does not tell you what font, color, or brush was used when the window was drawn. To determine the font, call <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-gettextfacea">GetTextFace</a>. Note that the handle to the DC can only be used by a single thread at any one time. After painting with a common DC, the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-releasedc">ReleaseDC</a> function must be called to release the DC. Class and private DCs do not have to be released. <b>ReleaseDC</b> must be called from the same thread that called <b>GetDC</b>. The number of DCs is limited only by available memory.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getdc#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.ReleaseDC(Windows.Win32.Foundation.HWND,Windows.Win32.Graphics.Gdi.HDC)">
            <summary>The ReleaseDC function releases a device context (DC), freeing it for use by other applications. The effect of the ReleaseDC function depends on the type of DC. It frees only common and window DCs. It has no effect on class or private DCs.</summary>
            <param name="hWnd">A handle to the window whose DC is to be released.</param>
            <param name="hDC">A handle to the DC to be released.</param>
            <returns>
            <para>The return value indicates whether the DC was released. If the DC was released, the return value is 1. If the DC was not released, the return value is zero.</para>
            </returns>
            <remarks>
            <para>The application must call the <b>ReleaseDC</b> function for each call to the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getwindowdc">GetWindowDC</a> function and for each call to the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getdc">GetDC</a> function that retrieves a common DC. An application cannot use the <b>ReleaseDC</b> function to release a DC that was created by calling the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-createdca">CreateDC</a> function; instead, it must use the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-deletedc">DeleteDC</a> function. <b>ReleaseDC</b> must be called from the same thread that called <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getdc">GetDC</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-releasedc#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.IsWindow(Windows.Win32.Foundation.HWND)">
            <summary>Determines whether the specified window handle identifies an existing window.</summary>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window to be tested.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-iswindow#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the window handle identifies an existing window, the return value is nonzero. If the window handle does not identify an existing window, the return value is zero.</para>
            </returns>
            <remarks>A thread should not use <b>IsWindow</b> for a window that it did not create because the window could be destroyed after this function was called. Further, because window handles are recycled the handle could even point to a different window.</remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.IsWindowVisible(Windows.Win32.Foundation.HWND)">
            <summary>Determines the visibility state of the specified window.</summary>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window to be tested.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-iswindowvisible#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the specified window, its parent window, its parent's parent window, and so forth, have the <b>WS_VISIBLE</b> style, the return value is nonzero. Otherwise, the return value is zero. Because the return value specifies whether the window has the <b>WS_VISIBLE</b> style, it may be nonzero even if the window is totally obscured by other windows.</para>
            </returns>
            <remarks>
            <para>The visibility state of a window is indicated by the <b>WS_VISIBLE</b> style bit. When <b>WS_VISIBLE</b> is set, the window is displayed and subsequent drawing into it is displayed as long as the window has the <b>WS_VISIBLE</b> style. Any drawing to a window with the <b>WS_VISIBLE</b> style will not be displayed if the window is obscured by other windows or is clipped by its parent window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-iswindowvisible#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.BeginPaint(Windows.Win32.Foundation.HWND,Windows.Win32.Graphics.Gdi.PAINTSTRUCT@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.BeginPaint(Windows.Win32.Foundation.HWND,Windows.Win32.Graphics.Gdi.PAINTSTRUCT*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.BeginPaint(Windows.Win32.Foundation.HWND,Windows.Win32.Graphics.Gdi.PAINTSTRUCT*)">
            <summary>The BeginPaint function prepares the specified window for painting and fills a PAINTSTRUCT structure with information about the painting.</summary>
            <param name="hWnd">Handle to the window to be repainted.</param>
            <param name="lpPaint">Pointer to the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-paintstruct">PAINTSTRUCT</a> structure that will receive painting information.</param>
            <returns>
            <para>If the function succeeds, the return value is the handle to a display device context for the specified window. If the function fails, the return value is <b>NULL</b>, indicating that no display device context is available.</para>
            </returns>
            <remarks>
            <para>The <b>BeginPaint</b> function automatically sets the clipping region of the device context to exclude any area outside the update region. The update region is set by the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-invalidaterect">InvalidateRect</a> or <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-invalidatergn">InvalidateRgn</a> function and by the system after sizing, moving, creating, scrolling, or any other operation that affects the client area. If the update region is marked for erasing, <b>BeginPaint</b> sends a <b>WM_ERASEBKGND</b> message to the window. An application should not call <b>BeginPaint</b> except in response to a <b>WM_PAINT</b> message. Each call to <b>BeginPaint</b> must have a corresponding call to the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-endpaint">EndPaint</a> function. If the caret is in the area to be painted, <b>BeginPaint</b> automatically hides the caret to prevent it from being erased. If the window's class has a background brush, <b>BeginPaint</b> uses that brush to erase the background of the update region before returning. <h3><a id="DPI_Virtualization"></a><a id="dpi_virtualization"></a><a id="DPI_VIRTUALIZATION"></a>DPI Virtualization</h3> This API does not participate in DPI virtualization. The output returned is always in terms of physical pixels.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-beginpaint#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.EndPaint(Windows.Win32.Foundation.HWND,Windows.Win32.Graphics.Gdi.PAINTSTRUCT@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.EndPaint(Windows.Win32.Foundation.HWND,Windows.Win32.Graphics.Gdi.PAINTSTRUCT*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.EndPaint(Windows.Win32.Foundation.HWND,Windows.Win32.Graphics.Gdi.PAINTSTRUCT*)">
            <summary>The EndPaint function marks the end of painting in the specified window. This function is required for each call to the BeginPaint function, but only after painting is complete.</summary>
            <param name="hWnd">Handle to the window that has been repainted.</param>
            <param name="lpPaint">Pointer to a <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-paintstruct">PAINTSTRUCT</a> structure that contains the painting information retrieved by <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-beginpaint">BeginPaint</a>.</param>
            <returns>The return value is always nonzero.</returns>
            <remarks>
            <para>If the caret was hidden by <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-beginpaint">BeginPaint</a>, <b>EndPaint</b> restores the caret to the screen. <b>EndPaint</b> releases the display device context that <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-beginpaint">BeginPaint</a> retrieved.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-endpaint#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Windows.Win32.PInvoke.GetSysColor(Windows.Win32.Graphics.Gdi.SYS_COLOR_INDEX)" -->
        <member name="M:Windows.Win32.PInvoke.GetClientRect(Windows.Win32.Foundation.HWND,Windows.Win32.Foundation.RECT@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.GetClientRect(Windows.Win32.Foundation.HWND,Windows.Win32.Foundation.RECT*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetClientRect(Windows.Win32.Foundation.HWND,Windows.Win32.Foundation.RECT*)">
            <summary>Retrieves the coordinates of a window's client area.</summary>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window whose client coordinates are to be retrieved.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getclientrect#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="lpRect">
            <para>Type: <b>LPRECT</b> A pointer to a <a href="https://docs.microsoft.com/windows/desktop/api/windef/ns-windef-rect">RECT</a> structure that receives the client coordinates. The <b>left</b> and <b>top</b> members are zero. The <b>right</b> and <b>bottom</b> members contain the width and height of the window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getclientrect#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>In conformance with conventions for the <a href="https://docs.microsoft.com/windows/desktop/api/windef/ns-windef-rect">RECT</a> structure, the bottom-right coordinates of the returned rectangle are exclusive. In other words, the pixel at (<b>right</b>, <b>bottom</b>) lies immediately outside the rectangle.</remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.PeekMessage(Windows.Win32.UI.WindowsAndMessaging.MSG@,Windows.Win32.Foundation.HWND,System.UInt32,System.UInt32,Windows.Win32.UI.WindowsAndMessaging.PEEK_MESSAGE_REMOVE_TYPE)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.PeekMessage(Windows.Win32.UI.WindowsAndMessaging.MSG*,Windows.Win32.Foundation.HWND,System.UInt32,System.UInt32,Windows.Win32.UI.WindowsAndMessaging.PEEK_MESSAGE_REMOVE_TYPE)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.PeekMessage(Windows.Win32.UI.WindowsAndMessaging.MSG*,Windows.Win32.Foundation.HWND,System.UInt32,System.UInt32,Windows.Win32.UI.WindowsAndMessaging.PEEK_MESSAGE_REMOVE_TYPE)">
            <summary>Dispatches incoming nonqueued messages, checks the thread message queue for a posted message, and retrieves the message (if any exist). (Unicode)</summary>
            <param name="lpMsg">
            <para>Type: <b>LPMSG</b> A pointer to an <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-msg">MSG</a> structure that receives message information.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-peekmessagew#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window whose messages are to be retrieved. The window must belong to the current thread.</para>
            <para>If <i>hWnd</i> is <b>NULL</b>, <b>PeekMessage</b> retrieves messages for any window that belongs to the current thread, and any messages on the current thread's message queue whose <b>hwnd</b> value is <b>NULL</b> (see the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-msg">MSG</a> structure). Therefore if hWnd is <b>NULL</b>, both window messages and thread messages are processed. If <i>hWnd</i> is -1, <b>PeekMessage</b> retrieves only messages on the current thread's message queue whose <b>hwnd</b> value is <b>NULL</b>, that is, thread messages as posted by  <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-postmessagea">PostMessage</a> (when the <i>hWnd</i> parameter is <b>NULL</b>) or <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-postthreadmessagea">PostThreadMessage</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-peekmessagew#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="wMsgFilterMin">
            <para>Type: <b>UINT</b> The value of the first message in the range of messages to be examined. Use <b>WM_KEYFIRST</b> (0x0100) to specify the first keyboard message or <b>WM_MOUSEFIRST</b> (0x0200) to specify the first mouse message. If <i>wMsgFilterMin</i> and <i>wMsgFilterMax</i> are both zero, <b>PeekMessage</b> returns all available messages (that is, no range filtering is performed).</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-peekmessagew#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="wMsgFilterMax">
            <para>Type: <b>UINT</b> The value of the last message in the range of messages to be examined. Use <b>WM_KEYLAST</b> to specify the last keyboard message or <b>WM_MOUSELAST</b> to specify the last mouse message. If <i>wMsgFilterMin</i> and <i>wMsgFilterMax</i> are both zero, <b>PeekMessage</b> returns all available messages (that is, no range filtering is performed).</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-peekmessagew#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="wRemoveMsg">Type: <b>UINT</b></param>
            <returns>
            <para>Type: <b>BOOL</b> If a message is available, the return value is nonzero. If no messages are available, the return value is zero.</para>
            </returns>
            <remarks>
            <para><b>PeekMessage</b> retrieves messages associated with the window identified by the <i>hWnd</i> parameter or any of its children as specified by the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-ischild">IsChild</a> function, and within the range of message values given by the <i>wMsgFilterMin</i> and <i>wMsgFilterMax</i> parameters. Note that an application can only use the low word in the <i>wMsgFilterMin</i> and <i>wMsgFilterMax</i> parameters; the high word is reserved for the system. Note that <b>PeekMessage</b> always retrieves <a href="https://docs.microsoft.com/windows/desktop/winmsg/wm-quit">WM_QUIT</a> messages, no matter which values you specify for <i>wMsgFilterMin</i> and <i>wMsgFilterMax</i>. During this call, the system dispatches (<a href="https://docs.microsoft.com/windows/win32/api/winuser/nf-winuser-dispatchmessage">DispatchMessage</a>) pending,  nonqueued messages, that is, messages sent to windows owned by the calling thread using the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-sendmessage">SendMessage</a>, <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-sendmessagecallbacka">SendMessageCallback</a>, <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-sendmessagetimeouta">SendMessageTimeout</a>, or <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-sendnotifymessagea">SendNotifyMessage</a> function. Then the first queued message that matches the specified filter is retrieved. The system may also process internal events. If no filter is specified, messages are processed in the following order: </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-peekmessagew#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.PostMessage(Windows.Win32.Foundation.HWND,System.UInt32,Windows.Win32.Foundation.WPARAM,Windows.Win32.Foundation.LPARAM)">
            <summary>Places (posts) a message in the message queue associated with the thread that created the specified window and returns without waiting for the thread to process the message. (Unicode)</summary>
            <param name="hWnd">
            <para>Type: <b>HWND</b> A handle to the window whose window procedure is to receive the message. The following values have special meanings. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-postmessagew#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="Msg">
            <para>Type: <b>UINT</b> The message to be posted. For lists of the system-provided messages, see <a href="https://docs.microsoft.com/windows/desktop/winmsg/about-messages-and-message-queues">System-Defined Messages</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-postmessagew#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="wParam">
            <para>Type: <b>WPARAM</b> Additional message-specific information.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-postmessagew#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="lParam">
            <para>Type: <b>LPARAM</b> Additional message-specific information.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-postmessagew#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>.</para>
            </returns>
            <remarks>
            <para>When a message is blocked by UIPI the last error, retrieved with <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a>, is set to 5 (access denied). Messages in a message queue are retrieved by calls to the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getmessage">GetMessage</a> or <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-peekmessagea">PeekMessage</a> function. Applications that need to communicate using <b>HWND_BROADCAST</b> should use the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-registerwindowmessagea">RegisterWindowMessage</a> function to obtain a unique message for inter-application communication. The system only does marshalling for system messages (those in the range 0 to (<a href="https://docs.microsoft.com/windows/desktop/winmsg/wm-user">WM_USER</a>-1)). To send other messages (those &gt;= <b>WM_USER</b>) to another process, you must do custom marshalling. If you send a message in the range below <a href="https://docs.microsoft.com/windows/desktop/winmsg/wm-user">WM_USER</a> to the asynchronous message functions (<b>PostMessage</b>, <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-sendnotifymessagea">SendNotifyMessage</a>, and <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-sendmessagecallbacka">SendMessageCallback</a>), its message parameters cannot include pointers. Otherwise, the operation will fail. The functions will return before the receiving thread has had a chance to process the message and the sender will free the memory before it is used. Do not post the <a href="https://docs.microsoft.com/windows/desktop/winmsg/wm-quit">WM_QUIT</a> message using <b>PostMessage</b>; use the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-postquitmessage">PostQuitMessage</a> function. An accessibility application can use <b>PostMessage</b> to post <a href="https://docs.microsoft.com/windows/desktop/inputdev/wm-appcommand">WM_APPCOMMAND</a> messages  to the shell to launch applications. This  functionality is not guaranteed to work for other types of applications. There is a limit of 10,000 posted messages per message queue. This limit should be sufficiently large.  If your application exceeds the limit, it should be redesigned to avoid consuming so many system resources. To adjust this limit, modify the following registry key. <pre><b>HKEY_LOCAL_MACHINE</b> <b>SOFTWARE</b> <b>Microsoft</b> <b>Windows NT</b> <b>CurrentVersion</b> <b>Windows</b> <b>USERPostMessageLimit</b></pre> If the function fails, call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a> to get extended error information. <b>GetLastError</b> returns <b>ERROR_NOT_ENOUGH_QUOTA</b> when the limit is hit. The minimum acceptable value is 4000.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-postmessagew#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.TranslateMessage(Windows.Win32.UI.WindowsAndMessaging.MSG@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.TranslateMessage(Windows.Win32.UI.WindowsAndMessaging.MSG*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.TranslateMessage(Windows.Win32.UI.WindowsAndMessaging.MSG*)">
            <summary>Translates virtual-key messages into character messages. The character messages are posted to the calling thread's message queue, to be read the next time the thread calls the GetMessage or PeekMessage function.</summary>
            <param name="lpMsg">
            <para>Type: <b>const <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-msg">MSG</a>*</b> A pointer to an <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-msg">MSG</a> structure that contains message information retrieved from the calling thread's message queue by using the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getmessage">GetMessage</a> or <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-peekmessagea">PeekMessage</a> function.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-translatemessage#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the message is translated (that is, a character message is posted to the thread's message queue), the return value is nonzero. If the message is <a href="https://docs.microsoft.com/windows/desktop/inputdev/wm-keydown">WM_KEYDOWN</a>, <a href="https://docs.microsoft.com/windows/desktop/inputdev/wm-keyup">WM_KEYUP</a>, <a href="https://docs.microsoft.com/windows/desktop/inputdev/wm-syskeydown">WM_SYSKEYDOWN</a>, or <a href="https://docs.microsoft.com/windows/desktop/inputdev/wm-syskeyup">WM_SYSKEYUP</a>, the return value is nonzero, regardless of the translation. If the message is not translated (that is, a character message is not posted to the thread's message queue), the return value is zero.</para>
            </returns>
            <remarks>
            <para>The <b>TranslateMessage</b> function does not modify the message pointed to by the <i>lpMsg</i> parameter.</para>
            <para><a href="https://docs.microsoft.com/windows/desktop/inputdev/wm-keydown">WM_KEYDOWN</a> and <a href="https://docs.microsoft.com/windows/desktop/inputdev/wm-keyup">WM_KEYUP</a> combinations produce a <a href="https://docs.microsoft.com/windows/desktop/inputdev/wm-char">WM_CHAR</a> or <a href="https://docs.microsoft.com/windows/desktop/inputdev/wm-deadchar">WM_DEADCHAR</a> message. <a href="https://docs.microsoft.com/windows/desktop/inputdev/wm-syskeydown">WM_SYSKEYDOWN</a> and <a href="https://docs.microsoft.com/windows/desktop/inputdev/wm-syskeyup">WM_SYSKEYUP</a> combinations produce a <a href="https://docs.microsoft.com/windows/desktop/menurc/wm-syschar">WM_SYSCHAR</a> or <a href="https://docs.microsoft.com/windows/desktop/inputdev/wm-sysdeadchar">WM_SYSDEADCHAR</a> message. <b>TranslateMessage</b> produces <a href="https://docs.microsoft.com/windows/desktop/inputdev/wm-char">WM_CHAR</a> messages only for keys that are mapped to ASCII characters by the keyboard driver. If applications process virtual-key messages for some other purpose, they should not call <b>TranslateMessage</b>. For instance, an application should not call <b>TranslateMessage</b> if the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-translateacceleratora">TranslateAccelerator</a> function returns a nonzero value. Note that the application is responsible for retrieving and dispatching input messages to the dialog box. Most applications use the main message loop for this. However, to permit the user to move to and to select controls by using the keyboard, the application must call <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-isdialogmessagea">IsDialogMessage</a>. For more information, see  <a href="https://docs.microsoft.com/windows/desktop/dlgbox/dlgbox-programming-considerations">Dialog Box Keyboard Interface</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-translatemessage#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.DispatchMessage(Windows.Win32.UI.WindowsAndMessaging.MSG@)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.DispatchMessage(Windows.Win32.UI.WindowsAndMessaging.MSG*)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.DispatchMessage(Windows.Win32.UI.WindowsAndMessaging.MSG*)">
            <summary>Dispatches a message to a window procedure. It is typically used to dispatch a message retrieved by the GetMessage function. (DispatchMessageW)</summary>
            <param name="lpMsg">
            <para>Type: <b>const <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-msg">MSG</a>*</b> A pointer to a structure that contains the message.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-dispatchmessagew#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>LRESULT</b> The return value specifies the value returned by the window procedure. Although its meaning depends on the message being dispatched, the return value generally is ignored.</para>
            </returns>
            <remarks>
            <para>The <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-msg">MSG</a> structure must contain valid message values. If the <i>lpmsg</i> parameter points to a <a href="https://docs.microsoft.com/windows/desktop/winmsg/wm-timer">WM_TIMER</a> message and the <i>lParam</i> parameter of the <b>WM_TIMER</b> message is not <b>NULL</b>, <i>lParam</i> points to a function that is called instead of the window procedure. Note that the application is responsible for retrieving and dispatching input messages to the dialog box. Most applications use the main message loop for this. However, to permit the user to move to and to select controls by using the keyboard, the application must call <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-isdialogmessagea">IsDialogMessage</a>. For more information, see <a href="https://docs.microsoft.com/windows/desktop/dlgbox/dlgbox-programming-considerations">Dialog Box Keyboard Interface</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-dispatchmessagew#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="T:Windows.Win32.System.Com.BINDPTR">
            <summary>Describes a pointer.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ns-oaidl-bindptr">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.BINDPTR.lpfuncdesc">
            <summary>Pointer to a function.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.BINDPTR.lpvardesc">
            <summary>Pointer to a variable, constant, or data member.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.BINDPTR.lptcomp">
            <summary>The <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypecomp">ITypeComp</a> that binds the pointer.</summary>
        </member>
        <member name="T:Windows.Win32.System.Com.BLOB">
            <summary>The BLOB structure (nspapi.h), which is derived from Binary Large Object, contains information about a block of data.</summary>
            <remarks>
            <para>The structure name <b>BLOB</b> comes from the acronym BLOB, which stands for Binary Large Object. This structure does not describe the nature of the data pointed to by <b>pBlobData</b>. <div class="alert"><b>Note</b>  Windows Sockets defines a similar <b>BLOB</b> structure in Wtypes.h. Using both header files in the same source code file creates redefinition–compile time errors.</div> <div> </div></para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/nspapi/ns-nspapi-blob#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.BLOB.cbSize">
            <summary>Size of the block of data pointed to by <b>pBlobData</b>, in bytes.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.BLOB.pBlobData">
            <summary>Pointer to a block of data.</summary>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IEnumSTATSTG.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IEnumSTATSTG.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IEnumSTATSTG.Next(System.Span{Windows.Win32.System.Com.STATSTG},System.UInt32*)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IEnumSTATSTG.Next(System.UInt32,Windows.Win32.System.Com.STATSTG*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IEnumSTATSTG.Next(System.UInt32,Windows.Win32.System.Com.STATSTG*,System.UInt32*)">
            <summary>Retrieves a specified number of STATSTG structures, that follow in the enumeration sequence.</summary>
            <param name="celt">The number of <a href="https://docs.microsoft.com/windows/desktop/api/objidl/ns-objidl-statstg">STATSTG</a> structures requested.</param>
            <param name="rgelt">An array of <a href="https://docs.microsoft.com/windows/desktop/api/objidl/ns-objidl-statstg">STATSTG</a> structures returned.</param>
            <param name="pceltFetched">The number of <a href="https://docs.microsoft.com/windows/desktop/api/objidl/ns-objidl-statstg">STATSTG</a> structures  retrieved in the <i>rgelt</i> parameter.</param>
            <returns>
            <para>This method supports the following return values: </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-ienumstatstg-next">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IEnumSTATSTG.Skip(System.UInt32)">
            <summary>Skips a specified number of STATSTG structures in the enumeration sequence.</summary>
            <param name="celt">The number of <a href="https://docs.microsoft.com/windows/desktop/api/objidl/ns-objidl-statstg">STATSTG</a> structures to skip.</param>
            <returns>
            <para>This method supports the following return values: | Return code | Description | |----------------|---------------| | S_OK | The specified number of **STATSTG** structures that were successfully skipped. | | S_FALSE | The number of **STATSTG** structures skipped is less than the *celt* parameter. |</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-ienumstatstg-skip">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IEnumSTATSTG.Reset">
            <summary>Resets the enumeration sequence to the beginning of the STATSTG structure array.</summary>
            <returns>
            <para>This method supports the S_OK return value. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-ienumstatstg-reset">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IEnumSTATSTG.Clone(Windows.Win32.System.Com.StructuredStorage.IEnumSTATSTG**)">
            <summary>Creates a new enumerator that contains the same enumeration state as the current STATSTG structure enumerator.</summary>
            <param name="ppenum">
            <para>A pointer to the variable that receives the  <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-ienumstatstg">IEnumSTATSTG</a> interface pointer. If the method is unsuccessful, the value of the <i>ppenum</i> parameter is undefined.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-ienumstatstg-clone#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>This method supports the following return values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-ienumstatstg-clone">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.StructuredStorage.IEnumSTATSTG.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{0000000d-0000-0000-c000-000000000046}</value>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.Read(System.ReadOnlySpan{Windows.Win32.System.Com.StructuredStorage.PROPBAG2},Windows.Win32.System.Com.IErrorLog*,System.Span{Windows.Win32.System.Variant.VARIANT},System.ReadOnlySpan{Windows.Win32.Foundation.HRESULT})">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.Read(System.UInt32,Windows.Win32.System.Com.StructuredStorage.PROPBAG2*,Windows.Win32.System.Com.IErrorLog*,Windows.Win32.System.Variant.VARIANT*,Windows.Win32.Foundation.HRESULT*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.Write(System.ReadOnlySpan{Windows.Win32.System.Com.StructuredStorage.PROPBAG2},System.ReadOnlySpan{Windows.Win32.System.Variant.VARIANT})">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.Write(System.UInt32,Windows.Win32.System.Com.StructuredStorage.PROPBAG2*,Windows.Win32.System.Variant.VARIANT*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.CountProperties(System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.CountProperties(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.GetPropertyInfo(System.UInt32,System.Span{Windows.Win32.System.Com.StructuredStorage.PROPBAG2},System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.GetPropertyInfo(System.UInt32,System.UInt32,Windows.Win32.System.Com.StructuredStorage.PROPBAG2*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.LoadObject(System.String,System.UInt32,Windows.Win32.System.Com.IUnknown*,Windows.Win32.System.Com.IErrorLog*)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.LoadObject(Windows.Win32.Foundation.PCWSTR,System.UInt32,Windows.Win32.System.Com.IUnknown*,Windows.Win32.System.Com.IErrorLog*)"/>
        </member>
        <member name="F:Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{22f55882-280b-11d0-a8a9-00a0c90c2004}</value>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.CreateStream(System.String,Windows.Win32.System.Com.STGM,System.UInt32,System.UInt32,Windows.Win32.System.Com.IStream**)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.CreateStream(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.STGM,System.UInt32,System.UInt32,Windows.Win32.System.Com.IStream**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.CreateStream(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.STGM,System.UInt32,System.UInt32,Windows.Win32.System.Com.IStream**)">
            <summary>Creates and opens a stream object with the specified name contained in this storage object.</summary>
            <param name="pwcsName">A pointer to a wide character null-terminated Unicode string that contains the name of the newly created stream. The name can be used later to open or reopen the stream. The name must not exceed 31 characters in length, not including the string terminator. The 000 through 01f characters, serving as the first character of the stream/storage name, are reserved for use by OLE. This is a compound file restriction, not a structured storage restriction.</param>
            <param name="grfMode">Specifies the access mode to use when opening the newly created stream. For more information and descriptions of the possible values, see <a href="https://docs.microsoft.com/windows/desktop/Stg/stgm-constants">STGM Constants</a>.</param>
            <param name="reserved1">Reserved for future use; must be zero.</param>
            <param name="reserved2">Reserved for future use; must be zero.</param>
            <param name="ppstm">
            <para>On return, pointer to the location of the new <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istream">IStream</a> interface pointer. This is only valid if the operation is successful. When an error occurs, this parameter is set to <b>NULL</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-createstream#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The new stream was successfully created.| |E_PENDING | Asynchronous Storage only: Part or all of the necessary data is currently unavailable. | |STG_E_ACCESSDENIED | Not enough permissions to create stream.| |STG_E_FILEALREADYEXISTS | The name specified for the stream already exists in the storage object and the *grfMode* parameter includes the value STGM_FAILIFTHERE.| |STG_E_INSUFFICIENTMEMORY | The stream was not created due to a lack of memory.| |STG_E_INVALIDFLAG | The value specified for the *grfMode* parameter is not a valid **STGM** constants value.| |STG_E_INVALIDFUNCTION | The specified combination of flags in the *grfMode* parameter is not supported; for example, when this method is called without the STGM_SHARE_EXCLUSIVE flag.| |STG_E_INVALIDNAME | Invalid value for *pwcsName*.| |STG_E_INVALIDPOINTER | The pointer specified for the stream object was invalid.| |STG_E_INVALIDPARAMETER | One of the parameters was invalid.| |STG_E_REVERTED | The storage object has been invalidated by a revert operation above it in the transaction tree.| |STG_E_TOOMANYOPENFILES | The stream was not created because there are too many open files.|</para>
            </returns>
            <remarks>
            <para>If a stream with the name specified in the <i>pwcsName</i> parameter already exists and the <i>grfMode</i> parameter includes the STGM_CREATE flag, the existing stream is replaced by a newly created one. Both the destruction of the old stream and the creation of the new stream object are subject to the transaction mode on the parent storage object. The COM-provided compound file implementation of the <b>IStorage::CreateStream</b> method does not support the following behaviors: </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-createstream#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.OpenStream(System.String,Windows.Win32.System.Com.STGM,System.UInt32,Windows.Win32.System.Com.IStream**)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.OpenStream(Windows.Win32.Foundation.PCWSTR,System.Void*,Windows.Win32.System.Com.STGM,System.UInt32,Windows.Win32.System.Com.IStream**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.OpenStream(Windows.Win32.Foundation.PCWSTR,System.Void*,Windows.Win32.System.Com.STGM,System.UInt32,Windows.Win32.System.Com.IStream**)">
            <summary>Opens an existing stream object within this storage object in the specified access mode.</summary>
            <param name="pwcsName">A pointer to a wide character null-terminated Unicode string that contains the name of the stream to open. The 000 through 01f characters, serving as the first character of the stream/storage name, are reserved for use by OLE. This is a compound file restriction, not a structured storage restriction.</param>
            <param name="reserved1">Reserved for future use; must be <b>NULL</b>.</param>
            <param name="grfMode">Specifies the access mode to be assigned to the open stream. For more information and descriptions of possible values, see <a href="https://docs.microsoft.com/windows/desktop/Stg/stgm-constants">STGM Constants</a>.  Other modes you choose must at least specify STGM_SHARE_EXCLUSIVE when calling this method in the compound file implementation.</param>
            <param name="reserved2">Reserved for future use; must be zero.</param>
            <param name="ppstm">
            <para>A pointer to <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istream">IStream</a> pointer variable that receives the interface pointer to the newly opened stream object. If an error occurs, *<i>ppstm</i> must be set to <b>NULL</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-openstream#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The stream was successfully opened.| |E_PENDING | Asynchronous Storage only: Part or all of the stream data is currently unavailable. | |STG_E_ACCESSDENIED | Not enough permissions to open stream.| |STG_E_FILENOTFOUND | The stream with specified name does not exist.| |STG_E_INSUFFICIENTMEMORY | The stream was not opened due to a lack of memory.| |STG_E_INVALIDFLAG | The value specified for the *grfMode* parameter is not a valid **STGM** constants value.| |STG_E_INVALIDFUNCTION | The specified combination of flags in the *grfMode* parameter is not supported; for example, when this method is called without the STGM_SHARE_EXCLUSIVE flag.| |STG_E_INVALIDNAME | Invalid value for *pwcsName*.| |STG_E_INVALIDPOINTER | The pointer specified for the stream object was not valid.| |STG_E_INVALIDPARAMETER | One of the parameters was not valid.| |STG_E_REVERTED | The storage object has been invalidated by a revert operation above it in the transaction tree.| |STG_E_TOOMANYOPENFILES | The stream was not opened because there are too many open files.|</para>
            </returns>
            <remarks><b>IStorage::OpenStream</b> opens an existing stream object within this storage object in the access mode specified in <i>grfMode</i>. There are restrictions on the permissions that can be given in <i>grfMode</i>. For example, the permissions on this storage object restrict the permissions on its streams. In general, access restrictions on streams need to be stricter than those on their parent storages. Compound-file streams must be opened with STGM_SHARE_EXCLUSIVE.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.CreateStorage(System.String,Windows.Win32.System.Com.STGM,System.UInt32,System.UInt32,Windows.Win32.System.Com.StructuredStorage.IStorage**)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.CreateStorage(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.STGM,System.UInt32,System.UInt32,Windows.Win32.System.Com.StructuredStorage.IStorage**)"/>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Windows.Win32.System.Com.StructuredStorage.IStorage.CreateStorage(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.STGM,System.UInt32,System.UInt32,Windows.Win32.System.Com.StructuredStorage.IStorage**)" -->
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.OpenStorage(System.String,Windows.Win32.System.Com.StructuredStorage.IStorage*,Windows.Win32.System.Com.STGM,System.UInt16*@,System.UInt32,Windows.Win32.System.Com.StructuredStorage.IStorage**)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.OpenStorage(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.StructuredStorage.IStorage*,Windows.Win32.System.Com.STGM,System.UInt16**,System.UInt32,Windows.Win32.System.Com.StructuredStorage.IStorage**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.OpenStorage(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.StructuredStorage.IStorage*,Windows.Win32.System.Com.STGM,System.UInt16**,System.UInt32,Windows.Win32.System.Com.StructuredStorage.IStorage**)">
            <summary>Opens an existing storage object with the specified name in the specified access mode.</summary>
            <param name="pwcsName">A pointer to a wide character null-terminated Unicode string that contains the name of the storage object to open. The 000 through 01f characters, serving as the first character of the stream/storage name, are reserved for use by OLE. This is a compound file restriction, not a structured storage restriction. It is ignored if <i>pstgPriority</i> is non-<b>NULL</b>.</param>
            <param name="pstgPriority">Must be <b>NULL</b>. A non-<b>NULL</b> value will return STG_E_INVALIDPARAMETER.</param>
            <param name="grfMode">Specifies the access mode to use when opening the storage object. For descriptions of the possible values, see <a href="https://docs.microsoft.com/windows/desktop/Stg/stgm-constants">STGM Constants</a>. Other modes you choose must at least specify STGM_SHARE_EXCLUSIVE when calling this method.</param>
            <param name="snbExclude">Must be <b>NULL</b>. A non-<b>NULL</b> value will return STG_E_INVALIDPARAMETER.</param>
            <param name="reserved">Reserved for future use; must be zero.</param>
            <param name="ppstg">
            <para>When successful, pointer to the location of an <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istorage">IStorage</a> pointer to the opened storage object. This parameter is set to <b>NULL</b> if an error occurs.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-openstorage#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The storage object was opened successfully.| |E_PENDING | Asynchronous Storage only: Part or all of the storage's data is currently unavailable. | |STG_E_ACCESSDENIED | Not enough permissions to open storage object.| |STG_E_FILENOTFOUND | The storage object with the specified name does not exist.| |STG_E_INSUFFICIENTMEMORY | The storage object was not opened due to a lack of memory.| |STG_E_INVALIDFLAG | The value specified for the *grfMode* parameter is not a valid **STGM** constants value.| |STG_E_INVALIDFUNCTION | The specified combination of flags in the *grfMode* parameter is not supported.| |STG_E_INVALIDNAME | Not a valid value for *pwcsName*.| |STG_E_INVALIDPOINTER | The pointer specified for the storage object was not valid.| |STG_E_INVALIDPARAMETER | One of the parameters was not valid.| |STG_E_REVERTED | The storage object has been invalidated by a revert operation above it in the transaction tree.| |STG_E_TOOMANYOPENFILES | The storage object was not created because there are too many open files.| |STG_S_CONVERTED | The existing stream with the specified name was replaced with a new storage object containing a single stream called CONTENTS. In direct mode, the new storage is immediately written to disk. In transacted mode, the new storage is written to a temporary storage in memory and later written to disk when it is committed.|</para>
            </returns>
            <remarks>
            <para>If the <i>pstgPriority</i> parameter is <b>NULL</b>, it is ignored. If the <i>pstgPriority</i> parameter is not <b>NULL</b>, it is an <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istorage">IStorage</a> pointer to a previous opening of an element of the storage object, usually one that was opened in priority mode. The storage object should be closed and reopened according to <i>grfMode</i>. When the <b>IStorage::OpenStorage</b> method returns, <i>pstgPriority</i> is no longer valid. Use the value supplied in the <i>ppstg</i> parameter. Storage objects can be opened with STGM_DELETEONRELEASE, in which case the object is destroyed when it receives its final release. This is useful for creating temporary storage objects.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-openstorage#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.CopyTo(System.ReadOnlySpan{System.Guid},System.UInt16**,Windows.Win32.System.Com.StructuredStorage.IStorage*)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.CopyTo(System.UInt32,System.Guid*,System.UInt16**,Windows.Win32.System.Com.StructuredStorage.IStorage*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.CopyTo(System.UInt32,System.Guid*,System.UInt16**,Windows.Win32.System.Com.StructuredStorage.IStorage*)">
            <summary>Copies the entire contents of an open storage object to another storage object.</summary>
            <param name="ciidExclude">The number of elements in the array pointed to by <i>rgiidExclude</i>. If <i>rgiidExclude</i> is <b>NULL</b>, then <i>ciidExclude</i> is ignored.</param>
            <param name="rgiidExclude">
            <para>An array of interface identifiers (IIDs) that either the caller knows about and does not want copied or that the storage object does not support, but whose state the caller will later explicitly copy. The array can include <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istorage">IStorage</a>, indicating that only stream objects are to be copied, and <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istream">IStream</a>, indicating that only storage objects are to be copied. An array length of zero indicates that only the state exposed by the <b>IStorage</b> object is to be copied; all other interfaces on the object are to be ignored. Passing <b>NULL</b> indicates that all interfaces on the object are to be copied.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-copyto#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="snbExclude">
            <para>A string name block (refer to <a href="https://docs.microsoft.com/windows/desktop/Stg/snb">SNB</a>) that specifies a block of storage or stream objects that are not to be copied to the destination. These elements are not created at the destination. If <b>IID_IStorage</b> is in the <i>rgiidExclude</i> array, this parameter is ignored. This parameter may be <b>NULL</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-copyto#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pstgDest">
            <para>A pointer to the open storage object into which this storage object is to be copied. The destination storage object can be a different implementation of the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istorage">IStorage</a> interface from the source storage object. Thus, <b>IStorage::CopyTo</b> can use only publicly available methods of the destination storage object. If <i>pstgDest</i> is open in transacted mode, it can be reverted by calling its <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-istorage-revert">IStorage::Revert</a> method.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-copyto#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The storage object was successfully copied.| |E_PENDING | Asynchronous Storage only: Part or all of the data to be copied is currently unavailable. | |STG_E_ACCESSDENIED | The destination storage object is a child of the source storage object.| |STG_E_INSUFFICIENTMEMORY | The copy was not completed due to a lack of memory.| |STG_E_INVALIDPOINTER | The pointer specified for the storage object was not valid.| |STG_E_INVALIDPARAMETER | One of the parameters was not valid.| |STG_E_TOOMANYOPENFILES | The copy was not completed because there are too many open files.| |STG_E_REVERTED | The storage object has been invalidated by a revert operation above it in the transaction tree.| |STG_E_MEDIUMFULL | The copy was not completed because the storage medium is full.|</para>
            </returns>
            <remarks>
            <para>This method merges elements contained in the source storage object with those already present in the destination. The layout of the destination storage object may differ from the source storage object. The copy process is recursive, invoking <b>IStorage::CopyTo</b> and <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-istream-copyto">IStream::CopyTo</a> on the elements nested inside the source. When copying a stream on top of an existing stream with the same name, the existing stream is first removed and then replaced with the source stream. When copying a storage on top of an existing storage with the same name, the existing storage is not removed. As a result, after the copy operation, the destination <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istorage">IStorage</a> contains older elements, unless they were replaced by newer ones with the same names. A storage object may expose interfaces other than <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istorage">IStorage</a>, including <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-irootstorage">IRootStorage</a>, <a href="https://docs.microsoft.com/windows/desktop/api/propidl/nn-propidl-ipropertystorage">IPropertyStorage</a>, or <a href="https://docs.microsoft.com/windows/desktop/api/propidl/nn-propidl-ipropertysetstorage">IPropertySetStorage</a>. The <i>rgiidExclude</i> parameter permits the exclusion of any or all of these additional interfaces from the copy operation. A caller with a newer or more efficient copy of an existing substorage or stream object may want to exclude the current versions of these objects from the copy operation. The <i>snbExclude</i> and <i>rgiidExclude</i> parameters provide two ways of excluding a storage objects existing storages or streams. <h3><a id="Note_to_Callers"></a><a id="note_to_callers"></a><a id="NOTE_TO_CALLERS"></a>Note to Callers</h3> The most common way to use the <b>IStorage::CopyTo</b> method is to copy everything from the source to the destination, as in most full-save and save-as operations. The following  example code shows how to copy everything  from the source storage object to the destination storage object.</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-copyto#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.MoveElementTo(System.String,Windows.Win32.System.Com.StructuredStorage.IStorage*,System.String,System.UInt32)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.MoveElementTo(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.StructuredStorage.IStorage*,Windows.Win32.Foundation.PCWSTR,System.UInt32)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.MoveElementTo(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.StructuredStorage.IStorage*,Windows.Win32.Foundation.PCWSTR,System.UInt32)">
            <summary>The MoveElementTo method copies or moves a substorage or stream from this storage object to another storage object.</summary>
            <param name="pwcsName">Pointer to a wide character null-terminated Unicode string that contains the name of the element in this storage object to be moved or copied.</param>
            <param name="pstgDest"><a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istorage">IStorage</a> pointer to the destination storage object.</param>
            <param name="pwcsNewName">Pointer to a wide character null-terminated unicode string that contains the new name for the element in its new storage object.</param>
            <param name="grfFlags">
            <para>Specifies whether the operation should be a move (STGMOVE_MOVE) or a copy (STGMOVE_COPY). See the <a href="https://docs.microsoft.com/windows/desktop/api/wtypes/ne-wtypes-stgmove">STGMOVE</a> enumeration.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-moveelementto#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The storage object was successfully copied or moved.| |E_PENDING | Asynchronous Storage only: Part or all of the element's data is currently unavailable. | |STG_E_ACCESSDENIED | The destination storage object is a child of the source storage object. Or, the destination object and element name are the same as the source object and element name. In other words, you cannot move an element to itself.| |STG_E_FILENOTFOUND | The element with the specified name does not exist.| |STG_E_FILEALREADYEXISTS | The specified file already exists.| |STG_E_INSUFFICIENTMEMORY | The copy or move was not completed due to a lack of memory.| |STG_E_INVALIDFLAG | The value for the *grfFlags* parameter is not valid.| |STG_E_INVALIDNAME | Not a valid value for *pwcsName*.| |STG_E_INVALIDPOINTER | The pointer specified for the storage object was not valid.| |STG_E_INVALIDPARAMETER | One of the parameters was not valid.| |STG_E_REVERTED | The storage object has been invalidated by a revert operation above it in the transaction tree.| |STG_E_TOOMANYOPENFILES | The copy or move was not completed because there are too many open files.|</para>
            </returns>
            <remarks>
            <para>The <b>IStorage::MoveElementTo</b> method is typically the same as invoking the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-istorage-copyto">IStorage::CopyTo</a> method on the indicated element and then removing the source element. In this case, the <b>MoveElementTo</b> method uses only the publicly available functions of the destination storage object to carry out the move. If the source and destination storage objects have special knowledge about each other's implementation (they could, for example, be different instances of the same implementation), this method can be implemented more efficiently. Before calling this method, the element to be moved must be closed, and the destination storage must be open. Also, the destination object and element cannot be the same storage object/element name as the source of the move. That is, you cannot move an element to itself.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-moveelementto#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.Commit(System.UInt32)">
            <summary>The Commit method ensures that any changes made to a storage object open in transacted mode are reflected in the parent storage.</summary>
            <param name="grfCommitFlags">
            <para>Controls how the changes are committed to the storage object. See the <a href="https://docs.microsoft.com/windows/desktop/api/wtypes/ne-wtypes-stgc">STGC</a> enumeration for a definition of these values.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-commit#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | Changes to the storage object were successfully committed to the parent level. If STGC_CONSOLIDATE was specified, the storage was successfully consolidated, or the storage was already too compact to consolidate further.| |STG_S_MULTIPLEOPENS | The commit operation succeeded, but the storage could not be consolidated because it had been opened multiple times using the STGM_NOSNAPSHOT flag.| |STG_S_CANNOTCONSOLIDATE | The commit operation succeeded, but the storage could not be consolidated due to an incorrect storage mode. For compound files, the storage may have been opened using the STGM_NOSCRATCH flag, or the storage may not be the outermost transacted level.| |STG_S_CONSOLIDATIONFAILED | The commit operation succeeded, but the storage could not be consolidated due to an internal error (for example, a memory allocation failure).| |E_PENDING | Asynchronous storage only: Part or all of the data to be committed is currently unavailable.| |STG_E_INVALIDFLAG | The value for the *grfCommitFlags* parameter is not valid.| |STG_E_INVALIDPARAMETER | One of the parameters was not valid.| |STG_E_NOTCURRENT | Another open instance of the storage object has committed changes. As a result, the current commit operation may overwrite previous changes.| |STG_E_MEDIUMFULL | No space left on device to commit.| |STG_E_TOOMANYOPENFILES | The commit operation could not be completed because there are too many open files.| |STG_E_REVERTED | The storage object has been invalidated by a revert operation above it in the transaction tree.|</para>
            </returns>
            <remarks>
            <para><b>IStorage::Commit</b> makes permanent changes to a storage object that is in transacted mode, in which changes are accumulated in a buffer, and not reflected in the storage object until there is a call to this method. The alternative is to open an object in direct mode, in which changes are immediately reflected in the storage object. An object opened in the direct mode does not require calling <b>IStorage::Commit</b> to make permanent changes in the storage object. Calling the <b>IStorage::Commit</b> method on a nonroot storage opened in direct mode has no effect. Opening a root storage object in direct mode ensures that changes in memory buffers are written to the underlying storage device. The commit operation publishes the current changes in this storage object and its children to the next level up in the storage hierarchy. To undo current changes before committing them, call <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-istorage-revert">IStorage::Revert</a> to roll back to the last-committed version. Calling <b>IStorage::Commit</b> has no effect on currently opened nested elements of this storage object. They remain valid and can be used. However, the <b>IStorage::Commit</b> method does not automatically commit changes to these nested elements. The commit operation publishes only known changes to the next higher level in the storage hierarchy. Thus, transactions to nested levels must be committed to this storage object before they can be committed to higher levels. In commit operations, you need to take steps to ensure that data is protected during the commit process: </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-commit#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.Revert">
            <summary>The Revert method discards all changes that have been made to the storage object since the last commit operation.</summary>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The revert operation was successful.| |E_PENDING | Asynchronous Storage only: Part or all of the storage's data is currently unavailable. | |STG_E_INSUFFICIENTMEMORY | The revert operation could not be completed due to a lack of memory.| |STG_E_TOOMANYOPENFILES | The revert operation could not be completed because there are too many open files.| |STG_E_REVERTED | The storage object has been invalidated by a revert operation above it in the transaction tree.|</para>
            </returns>
            <remarks>
            <para>For storage objects opened in transacted mode, the <b>IStorage::Revert</b> method discards any uncommitted changes to this storage object or changes that have been committed to this storage object from nested elements. After this method returns, any existing elements (substorages or streams) that were opened from the reverted storage object are invalid and can no longer be used. Specifying these reverted elements in any call except <a href="https://docs.microsoft.com/windows/desktop/api/unknwn/nf-unknwn-iunknown-release">IUnknown::Release</a> returns the error STG_E_REVERTED This method has no effect on storage objects opened in direct mode.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-revert#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.EnumElements(Windows.Win32.System.Com.StructuredStorage.IEnumSTATSTG**)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.EnumElements(System.UInt32,System.Void*,System.UInt32,Windows.Win32.System.Com.StructuredStorage.IEnumSTATSTG**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.EnumElements(System.UInt32,System.Void*,System.UInt32,Windows.Win32.System.Com.StructuredStorage.IEnumSTATSTG**)">
            <summary>The EnumElements method retrieves a pointer to an enumerator object that can be used to enumerate the storage and stream objects contained within this storage object.</summary>
            <param name="reserved1">Reserved for future use; must be zero.</param>
            <param name="reserved2">Reserved for future use; must be <b>NULL</b>.</param>
            <param name="reserved3">Reserved for future use; must be zero.</param>
            <param name="ppenum">
            <para>Pointer to <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-ienumstatstg">IEnumSTATSTG</a>* pointer variable that receives the interface pointer to the new enumerator object.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-enumelements#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The enumerator object was successfully returned.| |E_PENDING | Asynchronous Storage only: Part or all of the element's data is currently unavailable.| |STG_E_INSUFFICIENTMEMORY | The enumerator object could not be created due to lack of memory.| |STG_E_INVALIDPARAMETER | One of the parameters was not valid.| |STG_E_REVERTED | The storage object has been invalidated by a revert operation above it in the transaction tree.|</para>
            </returns>
            <remarks>
            <para>The enumerator object returned by this method implements the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-ienumstatstg">IEnumSTATSTG</a> interface, one of the standard enumerator interfaces that contain the <b>Next</b>, <b>Reset</b>, <b>Clone</b>, and <b>Skip</b> methods. <b>IEnumSTATSTG</b> enumerates the data stored in an array of <a href="https://docs.microsoft.com/windows/desktop/api/objidl/ns-objidl-statstg">STATSTG</a> structures. The storage object must be open in read mode to allow the enumeration of its elements. The enumerator object is permitted to enumerate the elements in any order. The enumerator object is also permitted to treat the enumeration as a snapshot or to have the enumeration reflect the current state of the storage object.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-enumelements#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.DestroyElement(System.String)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.DestroyElement(Windows.Win32.Foundation.PCWSTR)"/>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Windows.Win32.System.Com.StructuredStorage.IStorage.DestroyElement(Windows.Win32.Foundation.PCWSTR)" -->
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.RenameElement(System.String,System.String)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.RenameElement(Windows.Win32.Foundation.PCWSTR,Windows.Win32.Foundation.PCWSTR)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.RenameElement(Windows.Win32.Foundation.PCWSTR,Windows.Win32.Foundation.PCWSTR)">
            <summary>The RenameElement method renames the specified substorage or stream in this storage object.</summary>
            <param name="pwcsOldName">
            <para>Pointer to a wide character null-terminated Unicode string that contains the name of the substorage or stream to be changed. <div class="alert"><b>Note</b>  The <i>pwcsName</i>, created in <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-istorage-createstorage">CreateStorage</a> or <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-istorage-createstream">CreateStream</a> must not exceed 31 characters in length, not including the string terminator.</div> <div> </div></para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-renameelement#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pwcsNewName">
            <para>Pointer to a wide character null-terminated unicode string that contains the new name for the specified substorage or stream. <div class="alert"><b>Note</b>  The <i>pwcsName</i>, created in <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-istorage-createstorage">CreateStorage</a> or <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-istorage-createstream">CreateStream</a> must not exceed 31 characters in length, not including the string terminator.</div> <div> </div></para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-renameelement#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The element was successfully renamed.| |E_PENDING | Asynchronous Storage only: Part or all of the element's data is currently unavailable.| |STG_E_ACCESSDENIED | The caller does not have enough permissions for renaming the element.| |STG_E_FILENOTFOUND | The element with the specified old name does not exist.| |STG_E_FILEALREADYEXISTS | The element specified by the new name already exists.| |STG_E_INSUFFICIENTMEMORY | The element was not renamed due to a lack of memory.| |STG_E_INVALIDNAME | Invalid value for one of the names.| |STG_E_INVALIDPOINTER | The pointer specified for the element was not valid.| |STG_E_INVALIDPARAMETER | One of the parameters was not valid.| |STG_E_REVERTED | The storage object has been invalidated by a revert operation above it in the transaction tree.| |STG_E_TOOMANYOPENFILES | The element was not renamed because there are too many open files.|</para>
            </returns>
            <remarks>
            <para><b>IStorage::RenameElement</b> renames the specified substorage or stream in this storage object. An element in a storage object cannot be renamed while it is open. The rename operation is subject to committing the changes if the storage is open in transacted mode. The <b>IStorage::RenameElement</b> method is not guaranteed to work in low memory with storage objects open in transacted mode. It may work in direct mode.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-renameelement#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.SetElementTimes(System.String,System.Runtime.InteropServices.ComTypes.FILETIME@,System.Runtime.InteropServices.ComTypes.FILETIME@,System.Runtime.InteropServices.ComTypes.FILETIME@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.SetElementTimes(Windows.Win32.Foundation.PCWSTR,System.Runtime.InteropServices.ComTypes.FILETIME*,System.Runtime.InteropServices.ComTypes.FILETIME*,System.Runtime.InteropServices.ComTypes.FILETIME*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.SetElementTimes(Windows.Win32.Foundation.PCWSTR,System.Runtime.InteropServices.ComTypes.FILETIME*,System.Runtime.InteropServices.ComTypes.FILETIME*,System.Runtime.InteropServices.ComTypes.FILETIME*)">
            <summary>The SetElementTimes method sets the modification, access, and creation times of the specified storage element, if the underlying file system supports this method.</summary>
            <param name="pwcsName">The name of the storage object element whose times are to be modified. If <b>NULL</b>, the time is set on the root storage rather than one of its elements.</param>
            <param name="pctime">Either the new creation time for the element or <b>NULL</b> if the creation time is not to be modified.</param>
            <param name="patime">Either the new access time for the element or <b>NULL</b> if the access time is not to be modified.</param>
            <param name="pmtime">Either the new modification time for the element or <b>NULL</b> if the modification time is not to be modified.</param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The time values were successfully set.| |E_PENDING | Asynchronous Storage only: Part or all of the element's data is currently unavailable.| |STG_E_ACCESSDENIED | The caller does not have enough permissions for changing the element.| |STG_E_FILENOTFOUND | The element with the specified name does not exist.| |STG_E_INSUFFICIENTMEMORY | The element was not changed due to a lack of memory.| |STG_E_INVALIDNAME | Not a valid value for the element name.| |STG_E_INVALIDPOINTER | The pointer specified for the element was not valid.| |STG_E_INVALIDPARAMETER | One of the parameters was not valid.| |STG_E_TOOMANYOPENFILES | The element was not changed because there are too many open files.| |STG_E_REVERTED | The storage object has been invalidated by a revert operation above it in the transaction tree.|</para>
            </returns>
            <remarks>
            <para><b>SetElementTimes</b>  sets time statistics for the specified storage element within this storage object. Not all file systems support all the time values. This method sets those times that are supported and ignores the rest. Each time-value parameter can be <b>NULL</b>; indicating that no modification should occur. Call the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-istorage-stat">IStorage::Stat</a> method to retrieve these time values.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-setelementtimes#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.SetClass(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.SetClass(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.SetClass(System.Guid*)">
            <summary>The SetClass method assigns the specified class identifier (CLSID) to this storage object.</summary>
            <param name="clsid">The CLSID that is to be associated with the storage object.</param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The CLSID was successfully assigned.| |E_PENDING | Asynchronous Storage only: Part or all of the storage's data is currently unavailable.| |STG_E_ACCESSDENIED | The caller does not have enough permissions for assigning a CLSID to the storage object.| |STG_E_MEDIUMFULL | Not enough space was left on device to complete the operation.| |STG_E_REVERTED | The storage object has been invalidated by a revert operation above it in the transaction tree.|</para>
            </returns>
            <remarks>
            <para>When first created, a storage object has an associated CLSID of CLSID_NULL. Call <b>SetClass</b> to assign a CLSID to the storage object. Call the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-istorage-stat">IStorage::Stat</a> method to retrieve the current CLSID of a storage object.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-setclass#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.SetStateBits(System.UInt32,System.UInt32)">
            <summary>The SetStateBits method stores up to 32 bits of state information in this storage object.</summary>
            <param name="grfStateBits">Specifies the new values of the bits to set. No legal values are defined for these bits; they are all reserved for future use and must not be used by applications.</param>
            <param name="grfMask">A binary mask indicating which bits in <i>grfStateBits</i> are significant in this call.</param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The state information was successfully set.| |E_PENDING | Asynchronous Storage only: Part or all of the storage's data is currently unavailable. | |STG_E_ACCESSDENIED | The caller does not have enough permissions for changing this storage object.| |STG_E_INVALIDFLAG | The value for the grfStateBits or *grfMask* parameter is not valid.| |STG_E_INVALIDPARAMETER | One of the parameters was not valid.|</para>
            </returns>
            <remarks>The values for the state bits are not currently defined.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.Stat(Windows.Win32.System.Com.STATSTG@,System.UInt32)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.Stat(Windows.Win32.System.Com.STATSTG*,System.UInt32)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.StructuredStorage.IStorage.Stat(Windows.Win32.System.Com.STATSTG*,System.UInt32)">
            <summary>The Stat method retrieves the STATSTG structure for this open storage object.</summary>
            <param name="pstatstg">
            <para>On return, pointer to a <a href="https://docs.microsoft.com/windows/desktop/api/objidl/ns-objidl-statstg">STATSTG</a> structure where this method places information about the open storage object. This parameter is <b>NULL</b> if an error occurs.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-stat#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="grfStatFlag">
            <para>Specifies that some of the members in the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/ns-objidl-statstg">STATSTG</a> structure are not returned, thus saving a memory allocation operation. Values are taken from the <a href="https://docs.microsoft.com/windows/desktop/api/wtypes/ne-wtypes-statflag">STATFLAG</a> enumeration.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-stat#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The STATSTG structure was successfully returned at the specified location.| |E_PENDING | Asynchronous Storage only: Part or all of the storage's data is currently unavailable.| |STG_E_ACCESSDENIED | The caller does not have enough permissions for accessing statistics for this storage object.| |STG_E_INSUFFICIENTMEMORY | The STATSTG structure was not returned due to a lack of memory.| |STG_E_INVALIDFLAG | The value for the *grfStateFlag* parameter is not valid.| |STG_E_INVALIDPARAMETER | One of the parameters was not valid.|</para>
            </returns>
            <remarks>
            <para><b>IStorage::Stat</b> retrieves the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/ns-objidl-statstg">STATSTG</a> structure for the current storage object. The <b>STATSTG</b> structure contains statistical information about the storage object. <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-istorage-enumelements">IStorage::EnumElements</a> returns a pointer to an enumerator object. The enumerator object returned by this method implements the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-ienumstatstg">IEnumSTATSTG</a> interface, through which the data stored in the array of the <b>STATSTG</b> structures is enumerated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istorage-stat#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.StructuredStorage.IStorage.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{0000000b-0000-0000-c000-000000000046}</value>
        </member>
        <member name="T:Windows.Win32.System.Com.StructuredStorage.PROPVARIANT">
            <summary>The PROPVARIANT structure is used in the ReadMultiple and WriteMultiple methods of IPropertyStorage to define the type tag and the value of a property in a property set.</summary>
            <remarks>
            <para>The <b>PROPVARIANT</b> structure can also hold a value of <b>VT_DECIMAL</b>:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/propidlbase/ns-propidlbase-propvariant#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="T:Windows.Win32.System.Com.CALLCONV">
            <summary>Identifies the calling convention used by a member function described in the METHODDATA structure.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ne-oaidl-callconv">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.CALLCONV.CC_FASTCALL">
            <summary></summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CALLCONV.CC_CDECL">
            <summary></summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CALLCONV.CC_MSCPASCAL">
            <summary></summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CALLCONV.CC_PASCAL">
            <summary></summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CALLCONV.CC_MACPASCAL">
            <summary></summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CALLCONV.CC_STDCALL">
            <summary></summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CALLCONV.CC_FPFASTCALL">
            <summary></summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CALLCONV.CC_SYSCALL">
            <summary></summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CALLCONV.CC_MPWCDECL">
            <summary></summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CALLCONV.CC_MPWPASCAL">
            <summary></summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CALLCONV.CC_MAX">
            <summary></summary>
        </member>
        <member name="T:Windows.Win32.System.Com.CLSCTX">
            <summary>Values that are used in activation calls to indicate the execution contexts in which an object is to be run.</summary>
            <remarks>
            <para>Values from the <b>CLSCTX</b> enumeration are used in activation calls (<a href="https://docs.microsoft.com/windows/desktop/api/combaseapi/nf-combaseapi-cocreateinstance">CoCreateInstance</a>, <a href="https://docs.microsoft.com/windows/desktop/api/combaseapi/nf-combaseapi-cocreateinstanceex">CoCreateInstanceEx</a>, <a href="https://docs.microsoft.com/windows/desktop/api/combaseapi/nf-combaseapi-cogetclassobject">CoGetClassObject</a>, and so on) to indicate the preferred execution contexts (in-process, local, or remote) in which an object is to be run. They are also used in calls to <a href="https://docs.microsoft.com/windows/desktop/api/combaseapi/nf-combaseapi-coregisterclassobject">CoRegisterClassObject</a> to indicate the set of execution contexts in which a class object is to be made available for requests to construct instances (<b>IClassFactory::CreateInstance</b>). To indicate that more than one context is acceptable, you can combine multiple values with Boolean ORs. The contexts are tried in the order in which they are listed.</para>
            <para>Given a set of <b>CLSCTX</b> flags, the execution context to be used depends on the availability of registered class codes and other parameters according to the following algorithm.</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wtypesbase/ne-wtypesbase-clsctx#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_INPROC_SERVER">
            <summary>The code that creates and manages objects of this class is a DLL that runs in the same process as the caller of the function specifying the class context.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_INPROC_HANDLER">
            <summary>The code that manages objects of this class is an in-process handler. This is a DLL that runs in the client process and implements client-side structures of this class when instances of the class are accessed remotely.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_LOCAL_SERVER">
            <summary>The EXE code that creates and manages objects of this class runs on same machine but is loaded in a separate process space.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_INPROC_SERVER16">
            <summary>Obsolete.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_REMOTE_SERVER">
            <summary>A remote context. The <a href="https://docs.microsoft.com/windows/desktop/com/localserver32">LocalServer32</a> or <a href="https://docs.microsoft.com/windows/desktop/com/localservice">LocalService</a> code that creates and manages objects of this class is run on a different computer.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_INPROC_HANDLER16">
            <summary>Obsolete.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_RESERVED1">
            <summary>Reserved.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_RESERVED2">
            <summary>Reserved.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_RESERVED3">
            <summary>Reserved.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_RESERVED4">
            <summary>Reserved.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_NO_CODE_DOWNLOAD">
            <summary>Disables the downloading of code from the directory service or the Internet. This flag cannot be set at the same time as CLSCTX_ENABLE_CODE_DOWNLOAD.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_RESERVED5">
            <summary>Reserved.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_NO_CUSTOM_MARSHAL">
            <summary>Specify if you want the activation to fail if it uses custom marshalling.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_ENABLE_CODE_DOWNLOAD">
            <summary>Enables the downloading of code from the directory service or the Internet. This flag cannot be set at the same time as CLSCTX_NO_CODE_DOWNLOAD.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_NO_FAILURE_LOG">
            <summary>
            <para>The CLSCTX_NO_FAILURE_LOG can be used to override the logging of failures in <a href="https://docs.microsoft.com/windows/desktop/api/combaseapi/nf-combaseapi-cocreateinstanceex">CoCreateInstanceEx</a>. If the ActivationFailureLoggingLevel is created, the following values can determine the status of event logging: </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wtypesbase/ne-wtypesbase-clsctx#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_DISABLE_AAA">
            <summary>
            <para>Disables activate-as-activator (AAA) activations for this activation only. This flag overrides the setting of the EOAC_DISABLE_AAA flag from the EOLE_AUTHENTICATION_CAPABILITIES enumeration. This flag cannot be set at the same time as CLSCTX_ENABLE_AAA. Any activation where a server process would be launched under the caller's identity is known as an activate-as-activator (AAA) activation. Disabling AAA activations allows an application that runs under a privileged account (such as LocalSystem) to help prevent its identity from being used to launch untrusted components. Library applications that use activation calls should always set this flag during those calls. This helps prevent the library application from being used in an escalation-of-privilege security attack. This is the only way to disable AAA activations in a library application because the EOAC_DISABLE_AAA flag from the EOLE_AUTHENTICATION_CAPABILITIES enumeration is applied only to the server process and not to the library application. <b>Windows 2000:  </b>This flag is not supported.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wtypesbase/ne-wtypesbase-clsctx#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_ENABLE_AAA">
            <summary>
            <para>Enables activate-as-activator (AAA) activations for this activation only. This flag overrides the setting of the EOAC_DISABLE_AAA flag from the EOLE_AUTHENTICATION_CAPABILITIES enumeration. This flag cannot be set at the same time as CLSCTX_DISABLE_AAA. Any activation where a server process would be launched under the caller's identity is known as an activate-as-activator (AAA) activation. Enabling this flag allows an application to transfer its identity to an activated component. <b>Windows 2000:  </b>This flag is not supported.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wtypesbase/ne-wtypesbase-clsctx#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_FROM_DEFAULT_CONTEXT">
            <summary>Begin this activation from the default context of the current apartment.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_ACTIVATE_X86_SERVER">
            <summary></summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_ACTIVATE_32_BIT_SERVER">
            <summary>Activate or connect to a 32-bit version of the server; fail if one is not registered.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_ACTIVATE_64_BIT_SERVER">
            <summary>Activate or connect to a 64 bit version of the server; fail if one is not registered.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_ENABLE_CLOAKING">
            <summary>
            <para>When this flag is specified, COM uses the impersonation token of the thread, if one is present, for the activation request made by the thread. When this flag is not specified or if the thread does not have an impersonation token, COM uses the process token of the thread's process for the activation request made by the thread.</para>
            <para><b>Windows Vista or later:  </b>This flag is supported.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wtypesbase/ne-wtypesbase-clsctx#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_APPCONTAINER">
            <summary>
            <para>Indicates activation is for an app container.</para>
            <para><div class="alert"><b>Note</b>  This flag is reserved for internal use and is not intended to be used directly from your code.</div> <div> </div></para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wtypesbase/ne-wtypesbase-clsctx#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_ACTIVATE_AAA_AS_IU">
            <summary>
            <para>Specify this flag for Interactive User activation behavior for As-Activator servers. A strongly named Medium IL Windows Store app can use this flag to launch an "As Activator" COM server without a strong name. Also, you can use this flag to bind to a running instance of the COM server that's launched by a desktop application. The client must be Medium IL, it must be strongly named, which means that it has a SysAppID in the client token, it can't be in session 0,  and it must have the same user as the session ID's user in the client token. If  the server is out-of-process and "As Activator", it launches the server with the token of the client token's session user. This token won't be strongly named. If the server is out-of-process and RunAs "Interactive User", this flag has no effect. If the server is out-of-process and is any other RunAs type, the activation fails. This flag has no effect for in-process servers. Off-machine activations fail when they use this flag.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wtypesbase/ne-wtypesbase-clsctx#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_RESERVED6">
            <summary></summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_ACTIVATE_ARM32_SERVER">
            <summary></summary>
        </member>
        <member name="F:Windows.Win32.System.Com.CLSCTX.CLSCTX_PS_DLL">
            <summary>
            <para>Used for loading Proxy/Stub DLLs.</para>
            <para><div class="alert"><b>Note</b>  This flag is reserved for internal use and is not intended to be used directly from your code.</div> <div> </div></para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wtypesbase/ne-wtypesbase-clsctx#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="T:Windows.Win32.System.Com.CY">
            <summary>The CY structure is useful for calculations involving money, or for any fixed-point calculation where accuracy is particularly important.</summary>
            <remarks></remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.CY.int64">
            <summary></summary>
        </member>
        <member name="T:Windows.Win32.System.Com.DESCKIND">
            <summary>Identifies the type description being bound to.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ne-oaidl-desckind">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.DESCKIND.DESCKIND_NONE">
            <summary>No match was found.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.DESCKIND.DESCKIND_FUNCDESC">
            <summary>A <a href="https://docs.microsoft.com/windows/desktop/api/oaidl/ns-oaidl-funcdesc">FUNCDESC</a> was returned.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.DESCKIND.DESCKIND_VARDESC">
            <summary>A <a href="https://docs.microsoft.com/windows/desktop/api/oaidl/ns-oaidl-vardesc">VARDESC</a> was returned.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.DESCKIND.DESCKIND_TYPECOMP">
            <summary>A TYPECOMP was returned.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.DESCKIND.DESCKIND_IMPLICITAPPOBJ">
            <summary>An IMPLICITAPPOBJ was returned.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.DESCKIND.DESCKIND_MAX">
            <summary>The end of the enum.</summary>
        </member>
        <member name="T:Windows.Win32.System.Com.DISPPARAMS">
            <summary>Contains the arguments passed to a method or property.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ns-oaidl-dispparams">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.DISPPARAMS.rgvarg">
            <summary>
            <para>An array of arguments. **Note**: these arguments appear in reverse order</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ns-oaidl-dispparams#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.System.Com.DISPPARAMS.rgdispidNamedArgs">
            <summary>The dispatch IDs of the named arguments.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.DISPPARAMS.cArgs">
            <summary>The number of arguments.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.DISPPARAMS.cNamedArgs">
            <summary>The number of named arguments.</summary>
        </member>
        <member name="T:Windows.Win32.System.Com.ELEMDESC">
            <summary>The ELEMDESC structure contains the type description and process-transfer information for a variable, a function, or a function parameter. (ELEMDESC)</summary>
            <remarks></remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.ELEMDESC.tdesc">
            <summary>The type of the element.</summary>
        </member>
        <member name="T:Windows.Win32.System.Com.EXCEPINFO">
            <summary>Describes an exception that occurred during IDispatch::Invoke.</summary>
            <remarks>
            <para>Use the <b>pfnDeferredFillIn</b> field to enable an object to defer filling in the <b>bstrDescription</b>, <b>bstrHelpFile</b>, and <b>dwHelpContext</b> fields until they are needed. This field might be used, for example, if loading the string for the error is a time-consuming operation. To use deferred fill-in, the object puts a function pointer in this slot and does not fill any of the other fields except <b>wCode</b>, which is required. To get additional information, the caller passes the <b>EXCEPINFO</b> structure back to the <b>pexcepinfo</b> callback function, which fills in the additional information. When the ActiveX object and the ActiveX client are in different processes, the ActiveX object calls <b>pfnDeferredFillIn</b> before returning to the controller.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ns-oaidl-excepinfo#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.EXCEPINFO.wCode">
            <summary>The error code. Error codes should be greater than 1000. Either this field or the scode field must be filled in; the other must be set to 0.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.EXCEPINFO.wReserved">
            <summary>Reserved. Should be 0.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.EXCEPINFO.bstrSource">
            <summary>The name of the exception source. Typically, this is an application name. This field should be filled in by the implementer of <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-idispatch">IDispatch</a>.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.EXCEPINFO.bstrDescription">
            <summary>The exception description to display. If no description is available, use null.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.EXCEPINFO.bstrHelpFile">
            <summary>The fully qualified help file path. If no Help is available, use null.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.EXCEPINFO.dwHelpContext">
            <summary>The help context ID.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.EXCEPINFO.pvReserved">
            <summary>Reserved. Must be null.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.EXCEPINFO.pfnDeferredFillIn">
            <summary>Provides deferred fill-in. If deferred fill-in is not desired, this field should be set to null.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.EXCEPINFO.scode">
            <summary>A return value that describes the error. Either this field or wCode (but not both) must be filled in; the other must be set to 0. (16-bit Windows versions only.)</summary>
        </member>
        <member name="T:Windows.Win32.System.Com.FUNCDESC">
            <summary>Describes a function. (FUNCDESC)</summary>
            <remarks>
            <para>The <b>cParams</b> field specifies the total number of required and optional parameters.</para>
            <para>The <b>cParamsOpt</b> field specifies the form of optional parameters accepted by the function, as follows: </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ns-oaidl-funcdesc#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCDESC.memid">
            <summary>The function member ID.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCDESC.lprgscode">
            <summary>The status code.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCDESC.lprgelemdescParam">
            <summary>Description of the element.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCDESC.funckind">
            <summary>Indicates the type of function (virtual, static, or dispatch-only).</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCDESC.invkind">
            <summary>The invocation type. Indicates whether this is a property function, and if so, which type.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCDESC.callconv">
            <summary>The calling convention.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCDESC.cParams">
            <summary>The total number of parameters.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCDESC.cParamsOpt">
            <summary>The number of optional parameters.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCDESC.oVft">
            <summary>For FUNC_VIRTUAL, specifies the offset in the VTBL.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCDESC.cScodes">
            <summary>The number of possible return values.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCDESC.elemdescFunc">
            <summary>The function return type.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCDESC.wFuncFlags">
            <summary>The function flags. See <a href="https://docs.microsoft.com/windows/desktop/api/oaidl/ne-oaidl-funcflags">FUNCFLAGS</a>.</summary>
        </member>
        <member name="T:Windows.Win32.System.Com.FUNCFLAGS">
            <summary>Specifies function flags.</summary>
            <remarks>
            <para>FUNCFLAG_FHIDDEN means that the property should never be shown in object browsers, property browsers, and so on. This function is useful for removing items from an object model. Code can bind to the member, but the user will never know that the member exists. FUNCFLAG_FNONBROWSABLE means that the property should not be displayed in a properties browser. It is used in circumstances in which an error would occur if the property were shown in a properties browser. FUNCFLAG_FRESRICTED means that macro-oriented programmers should not be allowed to access this member. These members are usually treated as _FHIDDEN by tools such as Visual Basic, with the main difference being that code cannot bind to those members.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ne-oaidl-funcflags#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCFLAGS.FUNCFLAG_FRESTRICTED">
            <summary>The function should not be accessible from macro languages. This flag is intended for system-level functions or functions that type browsers should not display.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCFLAGS.FUNCFLAG_FSOURCE">
            <summary>The function returns an object that is a source of events.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCFLAGS.FUNCFLAG_FBINDABLE">
            <summary>The function that supports data binding.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCFLAGS.FUNCFLAG_FREQUESTEDIT">
            <summary>When set, any call to a method that sets the property results first in a call to <b>IPropertyNotifySink::OnRequestEdit</b>. The implementation of <b>OnRequestEdit</b> determines if the call is allowed to set the property.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCFLAGS.FUNCFLAG_FDISPLAYBIND">
            <summary>The function that is displayed to the user as bindable. FUNC_FBINDABLE must also be set.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCFLAGS.FUNCFLAG_FDEFAULTBIND">
            <summary>The function that best represents the object. Only one function in a type information can have this attribute.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCFLAGS.FUNCFLAG_FHIDDEN">
            <summary>The function should not be displayed to the user, although it exists and is bindable.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCFLAGS.FUNCFLAG_FUSESGETLASTERROR">
            <summary>The function supports <b>GetLastError</b>. If an error occurs during the function, the caller can call <b>GetLastError</b> to retrieve the error code.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCFLAGS.FUNCFLAG_FDEFAULTCOLLELEM">
            <summary>Permits an optimization in which the compiler looks for a member named xyz on the type of abc. If such a member is found and is flagged as an accessor function for an element of the default collection, then a call is generated to that member function. Permitted on members in dispinterfaces and interfaces; not permitted on modules. For more information, refer to defaultcollelem in Type Libraries and the Object Description Language.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCFLAGS.FUNCFLAG_FUIDEFAULT">
            <summary>The type information member is the default member for display in the user interface.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCFLAGS.FUNCFLAG_FNONBROWSABLE">
            <summary>The property appears in an object browser, but not in a properties browser.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCFLAGS.FUNCFLAG_FREPLACEABLE">
            <summary>Tags the interface as having default behaviors.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCFLAGS.FUNCFLAG_FIMMEDIATEBIND">
            <summary>Mapped as individual bindable properties.</summary>
        </member>
        <member name="T:Windows.Win32.System.Com.FUNCKIND">
            <summary>Specifies the function type.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ne-oaidl-funckind">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCKIND.FUNC_VIRTUAL">
            <summary>The function is accessed the same as PUREVIRTUAL, except the function has an implementation.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCKIND.FUNC_PUREVIRTUAL">
            <summary>The function is accessed through the virtual function table (VTBL), and takes an implicit this pointer.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCKIND.FUNC_NONVIRTUAL">
            <summary>The function is accessed by static address and takes an implicit this pointer.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCKIND.FUNC_STATIC">
            <summary>The function is accessed by static address and does not take an implicit this pointer.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.FUNCKIND.FUNC_DISPATCH">
            <summary>The function can be accessed only through <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-idispatch">IDispatch</a>.</summary>
        </member>
        <member name="M:Windows.Win32.System.Com.IDispatch.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.IDispatch.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.IDispatch.GetTypeInfoCount(System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.IDispatch.GetTypeInfoCount(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.IDispatch.GetTypeInfoCount(System.UInt32*)">
            <summary>Retrieves the number of type information interfaces that an object provides (either 0 or 1).</summary>
            <param name="pctinfo">The number of type information interfaces provided by the object. If the object provides type information, this number is 1; otherwise the number is 0.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>The method may return zero, which indicates that the object does not provide any type information. In this case, the object may still be programmable through <b>IDispatch</b> or a VTBL, but does not provide run-time type information for browsers, compilers, or other programming tools that access type information. This can be useful for hiding an object from browsers.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.IDispatch.GetTypeInfo(System.UInt32,System.UInt32,Windows.Win32.System.Com.ITypeInfo**)">
            <summary>Retrieves the type information for an object, which can then be used to get the type information for an interface.</summary>
            <param name="iTInfo">The type information to return. Pass 0 to retrieve type information for the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-idispatch">IDispatch</a> implementation.</param>
            <param name="lcid">The locale identifier for the type information. An object may be able to return different type information for different languages. This is important for classes that support localized member names. For classes that do not support localized member names, this parameter can be ignored.</param>
            <param name="ppTInfo">The requested type information object.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-idispatch-gettypeinfo">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.IDispatch.GetIDsOfNames(System.Guid@,System.ReadOnlySpan{Windows.Win32.Foundation.PWSTR},System.UInt32,System.Span{System.Int32})">
            <inheritdoc cref="M:Windows.Win32.System.Com.IDispatch.GetIDsOfNames(System.Guid*,Windows.Win32.Foundation.PWSTR*,System.UInt32,System.UInt32,System.Int32*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.IDispatch.GetIDsOfNames(System.Guid*,Windows.Win32.Foundation.PWSTR*,System.UInt32,System.UInt32,System.Int32*)">
            <summary>Maps a single member and an optional set of argument names to a corresponding set of integer DISPIDs, which can be used on subsequent calls to Invoke.</summary>
            <param name="riid">Reserved for future use. Must be IID_NULL.</param>
            <param name="rgszNames">The array of names to be mapped.</param>
            <param name="cNames">The count of the names to be mapped.</param>
            <param name="lcid">The locale context in which to interpret the names.</param>
            <param name="rgDispId">Caller-allocated array, each element of which contains an identifier (ID) corresponding to one of the names passed in the rgszNames array. The first element represents the member name. The subsequent elements represent each of the member's parameters.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>An <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-idispatch">IDispatch</a> implementation can associate any positive integer ID value with a given name. Zero is reserved for the default, or <b>Value</b> property; –1 is reserved to indicate an unknown name; and other negative values are defined for other purposes. For example, if <b>GetIDsOfNames</b> is called, and the implementation does not recognize one or more of the names, it returns DISP_E_UNKNOWNNAME, and the <i>rgDispId</i> array contains DISPID_UNKNOWN for the entries that correspond to the unknown names. The member and parameter DISPIDs must remain constant for the lifetime of the object. This allows a client to obtain the DISPIDs once, and cache them for later use. When <b>GetIDsOfNames</b> is called with more than one name, the first name (<i>rgszNames</i>[0]) corresponds to the member name, and subsequent names correspond to the names of the member's parameters. The same name may map to different DISPIDs, depending on context. For example, a name may have a DISPID when it is used as a member name with a particular interface, a different ID as a member of a different interface, and different mapping for each time it appears as a parameter. <b>GetIDsOfNames</b> is used when an <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-idispatch">IDispatch</a> client binds to names at run time. To bind at compile time instead, an <b>IDispatch</b> client can map names to DISPIDs by using the type information interfaces described in <a href="https://docs.microsoft.com/previous-versions/windows/desktop/automat/type-description-interfaces">Type Description Interfaces</a>. This allows a client to bind to members at compile time and avoid calling <b>GetIDsOfNames</b> at run time. For a description of binding at compile time, see Type Description Interfaces. The implementation of <b>GetIDsOfNames</b> is case insensitive. Users that need case-sensitive name mapping should use type information interfaces to map names to DISPIDs, rather than call <b>GetIDsOfNames</b>. <div class="alert"><b>Caution</b>  You cannot use this method to access values that have been added dynamically, such as values added through JavaScript. Instead, use the GetDispID of the IDispatchEx interface. For more information, see the <a href="https://docs.microsoft.com/previous-versions/windows/internet-explorer/ie-developer/windows-scripting/reference/idispatchex-interface">IDispatchEx interface</a>.</div> <div> </div></para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-idispatch-getidsofnames#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.IDispatch.Invoke(System.Int32,System.Guid@,System.UInt32,Windows.Win32.System.Com.DISPATCH_FLAGS,Windows.Win32.System.Com.DISPPARAMS@,Windows.Win32.System.Variant.VARIANT*,Windows.Win32.System.Com.EXCEPINFO*,System.UInt32*)">
            <inheritdoc cref="M:Windows.Win32.System.Com.IDispatch.Invoke(System.Int32,System.Guid*,System.UInt32,Windows.Win32.System.Com.DISPATCH_FLAGS,Windows.Win32.System.Com.DISPPARAMS*,Windows.Win32.System.Variant.VARIANT*,Windows.Win32.System.Com.EXCEPINFO*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.IDispatch.Invoke(System.Int32,System.Guid*,System.UInt32,Windows.Win32.System.Com.DISPATCH_FLAGS,Windows.Win32.System.Com.DISPPARAMS*,Windows.Win32.System.Variant.VARIANT*,Windows.Win32.System.Com.EXCEPINFO*,System.UInt32*)">
            <summary>Provides access to properties and methods exposed by an object.</summary>
            <param name="dispIdMember">Identifies the member. Use <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-idispatch-getidsofnames">GetIDsOfNames</a> or the object's documentation to obtain the dispatch identifier.</param>
            <param name="riid">Reserved for future use. Must be IID_NULL.</param>
            <param name="lcid">
            <para>The locale context in which to interpret arguments. The <i>lcid</i> is used by the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-idispatch-getidsofnames">GetIDsOfNames</a> function, and is also passed to <b>Invoke</b> to allow the object to interpret its arguments specific to a locale. Applications that do not support multiple national languages can ignore this parameter. For more information, refer to <a href="https://docs.microsoft.com/previous-versions/windows/desktop/automat/supporting-multiple-national-languages">Supporting Multiple National Languages</a> and <a href="https://docs.microsoft.com/previous-versions/windows/desktop/automat/exposing-activex-objects">Exposing ActiveX Objects</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-idispatch-invoke#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="wFlags">
            <para>Flags describing the context of the <b>Invoke</b> call. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-idispatch-invoke#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pDispParams">Pointer to a DISPPARAMS structure containing an array of arguments, an array of argument DISPIDs for named arguments, and counts for the number of elements in the arrays.</param>
            <param name="pVarResult">Pointer to the location where the result is to be stored, or NULL if the caller expects no result. This argument is ignored if DISPATCH_PROPERTYPUT or DISPATCH_PROPERTYPUTREF is specified.</param>
            <param name="pExcepInfo">Pointer to a structure that contains exception information. This structure should be filled in if DISP_E_EXCEPTION is returned. Can be NULL.</param>
            <param name="puArgErr">The index within rgvarg of the first argument that has an error. Arguments are stored in pDispParams-&gt;rgvarg in reverse order, so the first argument is the one with the highest index in the array. This parameter is returned only when the resulting return value is DISP_E_TYPEMISMATCH or DISP_E_PARAMNOTFOUND. This argument can be set to null. For details, see <a href="https://docs.microsoft.com/previous-versions/windows/desktop/automat/returning-errors">Returning Errors</a>.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>Generally, you should not implement <b>Invoke</b> directly. Instead, use the dispatch interface to create functions <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oleauto/nf-oleauto-createstddispatch">CreateStdDispatch</a> and <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oleauto/nf-oleauto-dispinvoke">DispInvoke</a>. For details, refer to <b>CreateStdDispatch</b>, <b>DispInvoke</b>, <a href="https://docs.microsoft.com/previous-versions/windows/desktop/automat/creating-the-idispatch-interface">Creating the IDispatch Interface</a> and <a href="https://docs.microsoft.com/previous-versions/windows/desktop/automat/exposing-activex-objects">Exposing ActiveX Objects</a>. If some application-specific processing needs to be performed before calling a member, the code should perform the necessary actions, and then call <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-itypeinfo-invoke">ITypeInfo::Invoke</a> to invoke the member. <b>ITypeInfo::Invoke</b> acts exactly like <b>Invoke</b>. The standard implementations of <b>Invoke</b> created by <b>CreateStdDispatch</b> and <b>DispInvoke</b> defer to <b>ITypeInfo::Invoke</b>. In an ActiveX client, <b>Invoke</b> should be used to get and set the values of properties, or to call a method of an ActiveX object. The <i>dispIdMember</i> argument identifies the member to invoke. The DISPIDs that identify members are defined by the implementer of the object and can be determined by using the object's documentation, the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-idispatch-getidsofnames">IDispatch::GetIDsOfNames</a> function, or the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypeinfo">ITypeInfo</a> interface. When you use <b>IDispatch::Invoke()</b> with DISPATCH_PROPERTYPUT or DISPATCH_PROPERTYPUTREF, you have to specially initialize the <b>cNamedArgs</b> and <b>rgdispidNamedArgs</b> elements of your DISPPARAMS structure with the following:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-idispatch-invoke#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.IDispatch.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{00020400-0000-0000-c000-000000000046}</value>
        </member>
        <member name="M:Windows.Win32.System.Com.IEnumString.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.IEnumString.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.IEnumString.Next(System.Span{Windows.Win32.Foundation.PWSTR},System.UInt32*)">
            <inheritdoc cref="M:Windows.Win32.System.Com.IEnumString.Next(System.UInt32,Windows.Win32.Foundation.PWSTR*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.IEnumString.Next(System.UInt32,Windows.Win32.Foundation.PWSTR*,System.UInt32*)">
            <summary>The IEnumString::Next (objidlbase.h) method retrieves the specified number of items in the enumeration sequence.</summary>
            <param name="celt">The number of items to be retrieved. If there are fewer than the requested number of items left in the sequence, this method retrieves the remaining elements.</param>
            <param name="rgelt">
            <para>An array of enumerated items. The enumerator is responsible for allocating any memory, and the caller is responsible for freeing it. If <i>celt</i> is greater than 1, the caller must also pass a non-NULL pointer passed to <i>pceltFetched</i> to know how many pointers to release.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidlbase/nf-objidlbase-ienumstring-next#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pceltFetched">The number of items that were retrieved. This parameter is always less than or equal to the number of items requested.</param>
            <returns>If the method retrieves the number of items requested, the return value is S_OK. Otherwise, it is S_FALSE.</returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidlbase/nf-objidlbase-ienumstring-next">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.IEnumString.Skip(System.UInt32)">
            <summary>The IEnumString::Skip (objidlbase.h) method skips over the specified number of items in the enumeration sequence.</summary>
            <param name="celt">The number of items to be skipped.</param>
            <returns>If the method skips the number of items requested, the return value is S_OK. Otherwise, it is S_FALSE.</returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidlbase/nf-objidlbase-ienumstring-skip">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.IEnumString.Reset">
            <summary>The IEnumString::Reset (objidlbase.h) method resets the enumeration sequence to the beginning.</summary>
            <returns>The return value is S_OK.</returns>
            <remarks>There is no guarantee that the same set of objects will be enumerated after the reset operation has completed. A static collection is reset to the beginning, but it can be too expensive for some collections, such as files in a directory, to guarantee this condition.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.IEnumString.Clone(Windows.Win32.System.Com.IEnumString**)">
            <summary>The IEnumString::Clone (objidlbase.h) method creates a new enumerator that contains the same enumeration state as the current one.</summary>
            <param name="ppenum">A pointer to the cloned enumerator object.</param>
            <returns>This method can return the standard return values E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED, and S_OK.</returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidlbase/nf-objidlbase-ienumstring-clone">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.IEnumString.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{00000101-0000-0000-c000-000000000046}</value>
        </member>
        <member name="M:Windows.Win32.System.Com.IEnumUnknown.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.IEnumUnknown.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.IEnumUnknown.Next(System.UInt32,Windows.Win32.System.Com.IUnknown**,System.UInt32*)">
            <summary>The IEnumUnknown::Next (objidlbase.h) method retrieves the specified number of items in the enumeration sequence.</summary>
            <param name="celt">The number of items to be retrieved. If there are fewer than the requested number of items left in the sequence, this method retrieves the remaining elements.</param>
            <param name="rgelt">
            <para>An array of enumerated items. The enumerator is responsible for calling <a href="https://docs.microsoft.com/windows/desktop/api/unknwn/nf-unknwn-iunknown-addref">AddRef</a>, and the caller is responsible for calling <a href="https://docs.microsoft.com/windows/desktop/api/unknwn/nf-unknwn-iunknown-release">Release</a> through each pointer enumerated. If <i>celt</i> is greater than 1, the caller must also pass a non-NULL pointer passed to <i>pceltFetched</i> to know how many pointers to release.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidlbase/nf-objidlbase-ienumunknown-next#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pceltFetched">The number of items that were retrieved. This parameter is always less than or equal to the number of items requested.</param>
            <returns>If the method retrieves the number of items requested, the return value is S_OK. Otherwise, it is S_FALSE.</returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidlbase/nf-objidlbase-ienumunknown-next">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.IEnumUnknown.Skip(System.UInt32)">
            <summary>The IEnumUnknown::Skip (objidlbase.h) method skips over the specified number of items in the enumeration sequence.</summary>
            <param name="celt">The number of items to be skipped.</param>
            <returns>If the method skips the number of items requested, the return value is S_OK. Otherwise, it is S_FALSE.</returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidlbase/nf-objidlbase-ienumunknown-skip">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.IEnumUnknown.Reset">
            <summary>The IEnumUnknown::Reset (objidlbase.h) method resets the enumeration sequence to the beginning.</summary>
            <returns>The return value is S_OK.</returns>
            <remarks>There is no guarantee that the same set of objects will be enumerated after the reset operation has completed. A static collection is reset to the beginning, but it can be too expensive for some collections, such as files in a directory, to guarantee this condition.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.IEnumUnknown.Clone(Windows.Win32.System.Com.IEnumUnknown**)">
            <summary>The IEnumUnknown::Clone (objidlbase.h) method creates a new enumerator that contains the same enumeration state as the current one.</summary>
            <param name="ppenum">A pointer to the cloned enumerator object.</param>
            <returns>This method can return the standard return values E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED, and S_OK.</returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidlbase/nf-objidlbase-ienumunknown-clone">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.IEnumUnknown.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{00000100-0000-0000-c000-000000000046}</value>
        </member>
        <member name="M:Windows.Win32.System.Com.IErrorLog.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.IErrorLog.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.IErrorLog.AddError(System.String,Windows.Win32.System.Com.EXCEPINFO@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.IErrorLog.AddError(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.EXCEPINFO*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.IErrorLog.AddError(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.EXCEPINFO*)">
            <summary>Adds an error for the specified property to the error log.</summary>
            <param name="pszPropName">The address of the name of the property to read. This cannot be NULL.</param>
            <param name="pExcepInfo">Pointer to an array of [EXCEPINFO](ns-oaidl-excepinfo.md) structures.</param>
            <returns></returns>
            <remarks></remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.IErrorLog.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{3127ca40-446e-11ce-8135-00aa004bb851}</value>
        </member>
        <member name="T:Windows.Win32.System.Com.INVOKEKIND">
            <summary>Specifies the way a function is invoked.</summary>
            <remarks>In C, value assignment is written as *pobj1 = *pobj2, while reference assignment is written as pobj1 = pobj2. Other languages have other syntactic conventions. A property or data member can support only a value assignment, a reference assignment, or both. The INVOKEKIND enumeration constants are the same constants that are passed to <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-idispatch-invoke">IDispatch::Invoke</a> to specify the way in which a function is invoked.</remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.INVOKEKIND.INVOKE_FUNC">
            <summary>The member is called using a normal function invocation syntax.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.INVOKEKIND.INVOKE_PROPERTYGET">
            <summary>The function is invoked using a normal property-access syntax.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.INVOKEKIND.INVOKE_PROPERTYPUT">
            <summary>The function is invoked using a property value assignment syntax. Syntactically, a typical programming language might represent changing a property in the same way as assignment. For example: object.property : = value.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.INVOKEKIND.INVOKE_PROPERTYPUTREF">
            <summary>The function is invoked using a property reference assignment syntax.</summary>
        </member>
        <member name="M:Windows.Win32.System.Com.ISequentialStream.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ISequentialStream.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ISequentialStream.Read(System.Void*,System.UInt32,System.UInt32*)">
            <summary>Reads a specified number of bytes from the stream object into memory, starting at the current seek pointer.</summary>
            <param name="pv">A pointer to the buffer which the stream data is read into.</param>
            <param name="cb">The number of bytes of data to read from the stream object.</param>
            <param name="pcbRead">
            <para>A pointer to a <b>ULONG</b> variable that receives the actual number of bytes read from the stream object. <div class="alert"><b>Note</b>  The number of bytes read may be zero.</div> <div> </div></para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-isequentialstream-read#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | All of the requested data was successfully read from the stream object; the number of bytes requested in *cb* is the same as the number of bytes returned in *pcbRead*.| |S_FALSE | The value returned in *pcbRead* is less than the number of bytes requested in *cb*. This indicates the end of the stream has been reached. The number of bytes read indicates how much of the *pv* buffer has been filled.| |E_PENDING | Asynchronous storage only: Part or all of the data to be read is currently unavailable. | |STG_E_ACCESSDENIED | The caller does not have permissions required to read this stream object.| |STG_E_INVALIDPOINTER | One of the pointer values is invalid.| |STG_E_REVERTED | The object has been invalidated by a revert operation above it in the transaction tree.|</para>
            </returns>
            <remarks>
            <para>This method reads bytes from this stream object into memory. The stream object must be opened in <b>STGM_READ</b> mode. This method adjusts the seek pointer by the actual number of bytes read. The number of bytes actually read is also returned in the <i>pcbRead</i> parameter. <h3><a id="Notes_to_Callers"></a><a id="notes_to_callers"></a><a id="NOTES_TO_CALLERS"></a>Notes to Callers</h3> The actual number of bytes read can be less than the number of bytes requested if an error occurs or if the end of the stream is reached during the read operation.  The number of bytes returned should always  be compared to the number of bytes requested.  If the number of bytes returned is less than the number of bytes requested, it usually means the <b>Read</b> method attempted to read  past the end of the stream. The application should handle both a returned error  and <b>S_OK</b> return values on end-of-stream read operations.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-isequentialstream-read#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ISequentialStream.Write(System.Void*,System.UInt32,System.UInt32*)">
            <summary>Writes a specified number of bytes into the stream object starting at the current seek pointer.</summary>
            <param name="pv">A pointer to the buffer that contains the data that is to be written to the stream. A valid pointer must be provided for this parameter even when <i>cb</i> is zero.</param>
            <param name="cb">The number of bytes of data to attempt to write into the stream. This value can be zero.</param>
            <param name="pcbWritten">A pointer to a <b>ULONG</b> variable where this method writes the actual number of bytes written to the stream object. The caller can set this pointer to <b>NULL</b>, in which case this method does not provide the actual number of bytes written.</param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The data was successfully written to the stream object.| |E_PENDING | Asynchronous Storage only: Part or all of the data to be written is currently unavailable.| |STG_E_MEDIUMFULL | The write operation failed because there is no space left on the storage device.| |STG_E_ACCESSDENIED | The caller does not have the required  permissions for writing to this stream object.| |STG_E_CANTSAVE | Data cannot be written for reasons other than improper access or insufficient space.| |STG_E_INVALIDPOINTER | One of the pointer values is not valid. The *pv* parameter must contain a valid pointer even if *cb* is zero.| |STG_E_REVERTED | The object has been invalidated by a revert operation above it in the transaction tree.| |STG_E_WRITEFAULT | The write operation failed due to a disk error. This value is also returned when this method attempts to write to a stream that was opened in simple mode (using the STGM_SIMPLE flag).|</para>
            </returns>
            <remarks>
            <para><b>ISequentialStream::Write</b> writes the specified data to a stream object. The seek pointer is adjusted for the number of bytes actually written. The number of bytes actually written is returned in the <i>pcbWritten</i> parameter. If the byte count is zero bytes, the write operation has no effect. If the seek pointer is currently past the end of the stream and the byte count is nonzero, this method increases the size of the stream to the seek pointer and writes the specified bytes starting at the seek pointer. The fill bytes written to the stream are not initialized to any particular value. This is the same as the end-of-file behavior in the MS-DOS FAT file system. With a zero byte count and a seek pointer past the end of the stream, this method does not create the fill bytes to increase the stream to the seek pointer. In this case, you must call the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-istream-setsize">IStream::SetSize</a> method to increase the size of the stream and write the fill bytes. The <i>pcbWritten</i> parameter can have a value even if an error occurs. In the COM-provided implementation, stream objects are not sparse. Any fill bytes are eventually allocated on the disk and assigned to the stream.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-isequentialstream-write#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.ISequentialStream.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{0c733a30-2a1c-11ce-ade5-00aa0044773d}</value>
        </member>
        <member name="M:Windows.Win32.System.Com.IStream.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.IStream.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.IStream.Seek(System.Int64,System.IO.SeekOrigin,System.UInt64*)">
            <summary>Changes the seek pointer to a new location. The new location is relative to either the beginning of the stream, the end of the stream, or the current seek pointer.</summary>
            <param name="dlibMove">The displacement to be added to the location indicated by the <i>dwOrigin</i> parameter. If <i>dwOrigin</i> is <b>STREAM_SEEK_SET</b>, this is interpreted as an unsigned value rather than a signed value.</param>
            <param name="dwOrigin">The origin for the displacement specified in <i>dlibMove</i>. The origin can be the beginning of the file (<b>STREAM_SEEK_SET</b>), the current seek pointer (<b>STREAM_SEEK_CUR</b>), or the end of the file (<b>STREAM_SEEK_END</b>). For more information about values, see the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/ne-objidl-stream_seek">STREAM_SEEK</a> enumeration.</param>
            <param name="plibNewPosition">
            <para>A pointer to the location where this method writes the value of the new seek pointer from the beginning of the stream. You can set this pointer to <b>NULL</b>. In this case, this method does not provide the new seek pointer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istream-seek#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The seek pointer was successfully adjusted.| |E_PENDING | Asynchronous Storage only: Part or all of the stream data is currently unavailable. | |STG_E_INVALIDPOINTER | Indicates that *plibNewPosition* points to invalid memory, because *plibNewPosition* is not read.| |STG_E_INVALIDFUNCTION | The *dwOrigin* parameter contains an invalid value, or the *dlibMove* parameter contains a bad offset value. For example, the result of the seek pointer is a negative offset value.| |STG_E_REVERTED | The object has been invalidated by a revert operation above it in the transaction tree.|</para>
            </returns>
            <remarks>
            <para><b>IStream::Seek</b> changes the seek pointer so that subsequent read and write operations can be performed at a different location in the stream object. It is an error to seek before the beginning of the stream. It is not, however, an error to seek past the end of the stream. Seeking past the end of the stream is useful for subsequent write operations, as the stream byte range will be extended to the new seek position immediately before the write is complete. You can also use this method to obtain the current value of the seek pointer by calling this method with the <i>dwOrigin</i> parameter set to <b>STREAM_SEEK_CUR</b> and the <i>dlibMove</i> parameter set to 0 so that the seek pointer is not changed. The current seek pointer is returned in the <i>plibNewPosition</i> parameter.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istream-seek#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.IStream.SetSize(System.UInt64)">
            <summary>Changes the size of the stream object.</summary>
            <param name="libNewSize">Specifies the new size, in bytes, of the stream.</param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The size of the stream object was successfully changed.| |E_PENDING | Asynchronous Storage only: Part or all of the stream's data is currently unavailable.| |STG_E_MEDIUMFULL | The stream size is not changed because there is no space left on the storage device.| |STG_E_INVALIDFUNCTION | The value of the *libNewSize* parameter is not supported by the implementation. Not all streams support greater than 232 bytes. If a stream does not support more than 232 bytes, the high DWORD data type of *libNewSize* must be zero. If it is nonzero, the implementation may return STG_E_INVALIDFUNCTION. In general, COM-based implementations of the IStream interface do not support streams larger than 232 bytes.| |STG_E_REVERTED | The object has been invalidated by a revert operation above it in the transaction tree.|</para>
            </returns>
            <remarks>
            <para><b>IStream::SetSize</b> changes the size of the stream object. Call this method to preallocate space for the stream. If the <i>libNewSize</i> parameter is larger than the current stream size, the stream is extended to the indicated size by filling the intervening space with bytes of undefined value. This operation is similar to the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-isequentialstream-write">ISequentialStream::Write</a> method if the seek pointer is past the current end of the stream. If the <i>libNewSize</i> parameter is smaller than the current stream, the stream is truncated to the indicated size. The seek pointer is not affected by the change in stream size. Calling <b>IStream::SetSize</b> can be an effective way to obtain a large chunk of contiguous space.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istream-setsize#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.IStream.CopyTo(Windows.Win32.System.Com.IStream*,System.UInt64,System.UInt64*,System.UInt64*)">
            <summary>Copies a specified number of bytes from the current seek pointer in the stream to the current seek pointer in another stream.</summary>
            <param name="pstm">A pointer to the destination stream. The stream pointed to by <i>pstm</i> can be a new stream or a clone of the source stream.</param>
            <param name="cb">The number of bytes to copy from the source stream.</param>
            <param name="pcbRead">A pointer to the location where this method writes the actual number of bytes read from the source. You can set this pointer to <b>NULL</b>. In this case, this method does not provide the actual number of bytes read.</param>
            <param name="pcbWritten">A pointer to the location where this method writes the actual number of bytes written to the destination. You can set this pointer to <b>NULL</b>. In this case, this method does not provide the actual number of bytes written.</param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The stream object was successfully copied.| |E_PENDING | Asynchronous Storage only: Part or all of the data to be copied is currently unavailable. | |STG_E_INVALIDPOINTER | The value of one of the pointer parameters is invalid.| |STG_E_MEDIUMFULL | The stream is not copied because there is no space left on the storage device.| |STG_E_REVERTED | The object has been invalidated by a revert operation above it in the transaction tree.|</para>
            </returns>
            <remarks>
            <para>The <b>CopyTo</b> method copies the specified bytes from one stream to another. It can also be used to copy a stream to itself. The seek pointer in each stream instance is adjusted for the number of bytes read or written. This method is equivalent to reading <i>cb</i> bytes into memory using <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-isequentialstream-read">ISequentialStream::Read</a> and then immediately writing them to the destination stream using <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-isequentialstream-write">ISequentialStream::Write</a>, although <b>IStream::CopyTo</b> will be more efficient. The destination stream can be a clone of the source stream created by calling the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-istream-clone">IStream::Clone</a> method. If <b>IStream::CopyTo</b> returns an error, you cannot assume that the seek pointers are valid for either the source or destination. Additionally, the values of <i>pcbRead</i> and <i>pcbWritten</i> are not meaningful even though they are returned. If <b>IStream::CopyTo</b> returns successfully, the actual number of bytes read and written are the same. To copy the remainder of the source from the current seek pointer, specify the maximum large integer value for the <i>cb</i> parameter. If the seek pointer is the beginning of the stream, this operation copies the entire stream.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istream-copyto#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.IStream.Commit(System.UInt32)">
            <summary>The Commit method ensures that any changes made to a stream object open in transacted mode are reflected in the parent storage.</summary>
            <param name="grfCommitFlags">
            <para>Controls how the changes for the stream object are committed. See the <a href="https://docs.microsoft.com/windows/desktop/api/wtypes/ne-wtypes-stgc">STGC</a> enumeration for a definition of these values.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istream-commit#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | Changes to the stream object were successfully committed to the parent level.| |E_PENDING | Asynchronous Storage only: Part or all of the stream's data is currently unavailable. | |STG_E_MEDIUMFULL | The commit operation failed due to lack of space on the storage device.| |STG_E_REVERTED | The object has been invalidated by a revert operation above it in the transaction tree.|</para>
            </returns>
            <remarks>
            <para>The <b>Commit</b>  method ensures that changes to a stream object opened in transacted mode are reflected in the parent storage. Changes that have been made to the stream since it was opened or last committed are reflected to the parent storage object. If the parent is opened in transacted mode, the parent may revert at a later time, rolling back the changes to this stream object. The compound file implementation does not support the opening of streams in transacted mode, so this method has very little effect other than to flush memory buffers. For more information, see <a href="https://docs.microsoft.com/windows/desktop/Stg/istream-compound-file-implementation">IStream - Compound File Implementation</a>. If the stream is open in direct mode, this method ensures that any memory buffers have been flushed out to the underlying storage object. This is much like a flush in traditional file systems. The <b>IStream::Commit</b> method is useful on a direct mode stream when the implementation of the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istream">IStream</a> interface is a wrapper for underlying file system APIs. In this case, <b>IStream::Commit</b> would be connected to the file system's flush call.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istream-commit#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.IStream.Revert">
            <summary>The Revert method discards all changes that have been made to a transacted stream since the last IStream::Commit call. On streams open in direct mode and streams using the COM compound file implementation of IStream::Revert, this method has no effect.</summary>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The stream was successfully reverted to its previous version.| |E_PENDING | Asynchronous Storage only: Part or all of the stream's data is currently unavailable. |</para>
            </returns>
            <remarks>The <b>Revert</b> method discards changes made to a transacted stream since the last commit operation.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.IStream.LockRegion(System.UInt64,System.UInt64,System.UInt32)">
            <summary>The LockRegion method restricts access to a specified range of bytes in the stream.</summary>
            <param name="libOffset">Integer that specifies the byte offset for the beginning of the range.</param>
            <param name="cb">Integer that specifies the length of the range, in bytes, to be restricted.</param>
            <param name="dwLockType">Specifies the restrictions being requested on accessing the range.</param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The specified range of bytes was locked.| |E_PENDING | Asynchronous Storage only: Part or all of the stream's data is currently unavailable. | |STG_E_INVALIDFUNCTION | Locking is not supported at all or the specific type of lock requested is not supported.| |STG_E_LOCKVIOLATION | Requested lock is supported, but cannot be granted because of an existing lock.| |STG_E_REVERTED | The object has been invalidated by a revert operation above it in the transaction tree.|</para>
            </returns>
            <remarks>
            <para>The byte range of the stream can be extended.  Locking an extended range for the stream is useful as a method of communication between different instances of the stream without changing data that is actually part of the stream. Three types of locking can be supported: locking to exclude other writers, locking to exclude other readers or writers, and locking that allows only one requester to obtain a lock on the given range, which is usually an alias for one of the other two lock types. A given stream instance might support either of the first two types, or both. The lock type is specified by <i>dwLockType</i>, using a value from the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/ne-objidl-locktype">LOCKTYPE</a> enumeration. Any region locked with <b>IStream::LockRegion</b> must later be explicitly unlocked by calling <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-istream-unlockregion">IStream::UnlockRegion</a> with exactly the same values for the <i>libOffset</i>, <i>cb</i>, and <i>dwLockType</i> parameters. The region must be unlocked before the stream is released. Two adjacent regions cannot be locked separately and then unlocked with a single unlock call. <h3><a id="Notes_to_Callers"></a><a id="notes_to_callers"></a><a id="NOTES_TO_CALLERS"></a>Notes to Callers</h3> Since the type of locking supported is optional and can vary in different implementations of <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istream">IStream</a>, you must provide code to deal with the STG_E_INVALIDFUNCTION error. The <b>LockRegion</b> method has no effect in the compound file implementation, because the implementation does not support range locking. <h3><a id="Notes_to_Implementers"></a><a id="notes_to_implementers"></a><a id="NOTES_TO_IMPLEMENTERS"></a>Notes to Implementers</h3> Support for this method is optional for implementations of stream objects since it may not be supported by the underlying file system. The type of locking supported is also optional. The STG_E_INVALIDFUNCTION error is returned if the requested type of locking is not supported.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istream-lockregion#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.IStream.UnlockRegion(System.UInt64,System.UInt64,System.UInt32)">
            <summary>The UnlockRegion method removes the access restriction on a range of bytes previously restricted with IStream::LockRegion.</summary>
            <param name="libOffset">Specifies the byte offset for the beginning of the range.</param>
            <param name="cb">Specifies, in bytes, the length of the range to be restricted.</param>
            <param name="dwLockType">Specifies the access restrictions previously placed on the range.</param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The byte range was unlocked.| |E_PENDING | Asynchronous Storage only: Part or all of the stream's data is currently unavailable.| |STG_E_INVALIDFUNCTION | Locking is not supported at all or the specific type of lock requested is not supported.| |STG_E_LOCKVIOLATION | The requested unlock operation cannot be granted.| |STG_E_REVERTED | The object has been invalidated by a revert operation above it in the transaction tree.|</para>
            </returns>
            <remarks>
            <para><b>IStream::UnlockRegion</b> unlocks a region previously locked with the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-istream-lockregion">IStream::LockRegion</a> method. Locked regions must later be explicitly unlocked by calling <b>IStream::UnlockRegion</b> with exactly the same values for the <i>libOffset</i>, <i>cb</i>, and <i>dwLockType</i> parameters. The region must be unlocked before the stream is released. Two adjacent regions cannot be locked separately and then unlocked with a single unlock call.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istream-unlockregion#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.IStream.Stat(Windows.Win32.System.Com.STATSTG@,System.UInt32)">
            <inheritdoc cref="M:Windows.Win32.System.Com.IStream.Stat(Windows.Win32.System.Com.STATSTG*,System.UInt32)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.IStream.Stat(Windows.Win32.System.Com.STATSTG*,System.UInt32)">
            <summary>The Stat method retrieves the STATSTG structure for this stream.</summary>
            <param name="pstatstg">
            <para>Pointer to a <a href="https://docs.microsoft.com/windows/desktop/api/objidl/ns-objidl-statstg">STATSTG</a> structure where this method places information about this stream object.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istream-stat#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="grfStatFlag">
            <para>Specifies that this method does not return some of the members in the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/ns-objidl-statstg">STATSTG</a> structure, thus saving a memory allocation operation. Values are taken from the <a href="https://docs.microsoft.com/windows/desktop/api/wtypes/ne-wtypes-statflag">STATFLAG</a> enumeration.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istream-stat#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The STATSTG structure was successfully returned at the specified location.| |E_PENDING | Asynchronous Storage only: Part or all of the stream's data is currently unavailable. | |STG_E_ACCESSDENIED | The caller does not have enough permissions for accessing statistics for this storage object.| |STG_E_INSUFFICIENTMEMORY | The STATSTG structure was not returned due to a lack of memory.| |STG_E_INVALIDFLAG | The value for the *grfStateFlag* parameter is not valid.| |STG_E_INVALIDPOINTER | The *pStatStg* pointer is not valid.| |STG_E_REVERTED | The object has been invalidated by a revert operation above it in the transaction tree.|</para>
            </returns>
            <remarks>
            <para><b>IStream::Stat</b> retrieves a pointer to the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/ns-objidl-statstg">STATSTG</a> structure that contains information about this open stream. When this stream is within a structured storage and <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-istorage-enumelements">IStorage::EnumElements</a> is called, it creates an enumerator object with the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-ienumstatstg">IEnumSTATSTG</a> interface on it, which can be called to enumerate the storages and streams through the <b>STATSTG</b> structures associated with each of them.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istream-stat#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.IStream.Clone(Windows.Win32.System.Com.IStream**)">
            <summary>The Clone method creates a new stream object with its own seek pointer that references the same bytes as the original stream.</summary>
            <param name="ppstm">
            <para>When successful, pointer to the location of an <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istream">IStream</a> pointer to the new stream object. If an error occurs, this parameter is <b>NULL</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istream-clone#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>This method can return one of these values. | Return code | Description | |----------------|---------------| |S_OK | The stream was successfully cloned.| |E_PENDING | Asynchronous Storage only: Part or all of the stream's data is currently unavailable. | |STG_E_INSUFFICIENTMEMORY | The stream was not cloned due to a lack of memory.| |STG_E_INVALIDPOINTER | The ppStm pointer is not valid.| |STG_E_REVERTED | The object has been invalidated by a revert operation above it in the transaction tree.|</para>
            </returns>
            <remarks>
            <para>The <b>Clone</b> method creates a new stream object for accessing the same bytes but using a separate seek pointer. The new stream object sees the same data as the source-stream object. Changes written to one object are immediately visible in the other. Range locking is shared between the stream objects. The initial setting of the seek pointer in the cloned stream instance is the same as the current setting of the seek pointer in the original stream at the time of the clone operation.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/nf-objidl-istream-clone#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.IStream.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{0000000c-0000-0000-c000-000000000046}</value>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeComp.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeComp.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeComp.Bind(Windows.Win32.Foundation.PWSTR,System.UInt32,System.UInt16,Windows.Win32.System.Com.ITypeInfo**,Windows.Win32.System.Com.DESCKIND@,Windows.Win32.System.Com.BINDPTR@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeComp.Bind(Windows.Win32.Foundation.PWSTR,System.UInt32,System.UInt16,Windows.Win32.System.Com.ITypeInfo**,Windows.Win32.System.Com.DESCKIND*,Windows.Win32.System.Com.BINDPTR*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeComp.Bind(Windows.Win32.Foundation.PWSTR,System.UInt32,System.UInt16,Windows.Win32.System.Com.ITypeInfo**,Windows.Win32.System.Com.DESCKIND*,Windows.Win32.System.Com.BINDPTR*)">
            <summary>Maps a name to a member of a type, or binds global variables and functions contained in a type library.</summary>
            <param name="szName">The name to be bound.</param>
            <param name="lHashVal">The hash value for the name computed by <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oleauto/nf-oleauto-lhashvalofnamesys">LHashValOfNameSys</a>.</param>
            <param name="wFlags">One or more of the flags defined in the INVOKEKIND enumeration. Specifies whether the name was referenced as a method or a property. When binding to a variable, specify the flag INVOKE_PROPERTYGET. Specify zero to bind to any type of member.</param>
            <param name="ppTInfo">If a FUNCDESC or VARDESC was returned, then <i>ppTInfo</i> points to a pointer to the type description that contains the item to which it is bound.</param>
            <param name="pDescKind">Indicates whether the name bound to is a VARDESC, FUNCDESC, or TYPECOMP. If there was no match, DESCKIND_NONE.</param>
            <param name="pBindPtr">The bound-to VARDESC, FUNCDESC, or <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypecomp">ITypeComp</a> interface.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>Use <b>Bind</b> for binding to the variables and methods of a type, or for binding to the global variables and methods in a type library. The returned DESCKIND pointer <i>pDescKind</i> indicates whether the name was bound to a VARDESC, a FUNCDESC, or to an <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypecomp">ITypeComp</a> instance. The returned <i>pBindPtr</i> points to the VARDESC, FUNCDESC, or <b>ITypeComp</b>. If a data member or method is bound to, then ppTInfopoints to the type description that contains the method or data member.</para>
            <para>If <b>Bind</b> binds the name to a nested binding context, it returns a pointer to an <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypecomp">ITypeComp</a> instance in <i>pBindPtr</i> and a null type description pointer in <i>ppTInfo</i>. For example, if the name of a type description is passed for a module (TKIND_MODULE), enumeration (TKIND_ENUM), or coclass (TKIND_COCLASS), Bind returns the <b>ITypeComp</b> instance of the type description for the module, enumeration, or coclass. This feature supports languages such as Visual Basic that allow references to members of a type description to be qualified by the name of the type description. For example, a function in a module can be referenced by <i>modulename</i>.<i>functionname.</i> The members of TKIND_ENUM, TKIND_MODULE, and TKIND_COCLASS types marked as Application objects can be bound to directly from <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypecomp">ITypeComp</a>, without specifying the name of the module. The <b>ITypeComp</b> of a coclass defers to the <b>ITypeComp</b> of its default interface.</para>
            <para>As with other methods of <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypecomp">ITypeComp</a>, <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypeinfo">ITypeInfo</a>, and <b>ITypeInfo</b>, the calling code is responsible for releasing the returned object instances or structures. If a VARDESC or FUNCDESC is returned, the caller is responsible for deleting it with the returned type description and releasing the type description instance itself. Otherwise, if an <b>ITypeComp</b> instance is returned, the caller must release it.</para>
            <para>Special rules apply if you call a type library's <b>Bind</b> method, passing it the name of a member of an Application object class (a class that has the TYPEFLAG_FAPPOBJECT flag set). In this case, Bind returns DESCKIND_IMPLICITAPPOBJ in <i>pDescKind</i>, a VARDESC that describes the Application object in <i>pBindPtr</i>, and the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypeinfo">ITypeInfo</a> of the Application object class in <i>ppTInfo</i>. To bind to the object, <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-itypeinfo-gettypecomp">ITypeInfo::GetTypeComp</a> must make a call to get the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypecomp">ITypeComp</a> of the Application object class, and then reinvoke its <b>Bind</b> method with the name initially passed to the type library's <b>ITypeComp</b>.</para>
            <para>The caller should use the returned <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypeinfo">ITypeInfo</a> pointer (<i>ppTInfo</i>) to get the address of the member.</para>
            <para><div class="alert"><b>Note</b>  The <i>wflags</i> parameter is the same as the <i>wflags</i> parameter in <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-idispatch-invoke">IDispatch::Invoke</a>. </div> <div> </div></para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypecomp-bind#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeComp.BindType(Windows.Win32.Foundation.PWSTR,System.UInt32,Windows.Win32.System.Com.ITypeInfo**,Windows.Win32.System.Com.ITypeComp**)">
            <summary>Binds to the type descriptions contained within a type library.</summary>
            <param name="szName">The name to be bound.</param>
            <param name="lHashVal">The hash value for the name computed by <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oleauto/nf-oleauto-lhashvalofname">LHashValOfName</a>.</param>
            <param name="ppTInfo">An <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypeinfo">ITypeInfo</a> of the type to which the name was bound.</param>
            <param name="ppTComp">Passes a valid pointer, such as the address of an <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypecomp">ITypeComp</a> variable.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>Use the function <b>BindType</b> for binding a type name to the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypeinfo">ITypeInfo</a> that describes the type. This function is invoked on the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypecomp">ITypeComp</a> that is returned by <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-itypelib-gettypecomp">ITypeLib::GetTypeComp</a> to bind to types defined within that library. It can also be used in the future for binding to nested types.</remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.ITypeComp.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{00020403-0000-0000-c000-000000000046}</value>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetTypeAttr(Windows.Win32.System.Com.TYPEATTR*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.GetTypeAttr(Windows.Win32.System.Com.TYPEATTR**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetTypeAttr(Windows.Win32.System.Com.TYPEATTR**)">
            <summary>Retrieves a TYPEATTR structure that contains the attributes of the type description.</summary>
            <param name="ppTypeAttr">The attributes of this type description.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>To free the TYPEATTR structure, use <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-itypeinfo-releasetypeattr">ITypeInfo::ReleaseTypeAttr</a>.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetTypeComp(Windows.Win32.System.Com.ITypeComp**)">
            <summary>Retrieves the ITypeComp interface for the type description, which enables a client compiler to bind to the type description's members.</summary>
            <param name="ppTComp">The <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypecomp">ITypeComp</a> of the containing type library.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>A client compiler can use the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypecomp">ITypeComp</a> interface to bind to members of the type.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetFuncDesc(System.UInt32,Windows.Win32.System.Com.FUNCDESC*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.GetFuncDesc(System.UInt32,Windows.Win32.System.Com.FUNCDESC**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetFuncDesc(System.UInt32,Windows.Win32.System.Com.FUNCDESC**)">
            <summary>Retrieves the FUNCDESC structure that contains information about a specified function.</summary>
            <param name="index">The index of the function whose description is to be returned. The <i>index</i> should be in the range of 0 to 1 less than the number of functions in this type.</param>
            <param name="ppFuncDesc">A FUNCDESC structure that describes the specified function.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>The function <b>ITypeInfo::GetFuncDesc</b> provides access to a FUNCDESC structure that describes the function with the specified <i>index</i>. The FUNCDESC structure should be freed with <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-itypeinfo-releasefuncdesc">ITypeInfo::ReleaseFuncDesc</a>. The number of functions in the type is one of the attributes contained in the TYPEATTR structure.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetVarDesc(System.UInt32,Windows.Win32.System.Com.VARDESC*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.GetVarDesc(System.UInt32,Windows.Win32.System.Com.VARDESC**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetVarDesc(System.UInt32,Windows.Win32.System.Com.VARDESC**)">
            <summary>Retrieves a VARDESC structure that describes the specified variable.</summary>
            <param name="index">The index of the variable whose description is to be returned. The index should be in the range of 0 to 1 less than the number of variables in this type.</param>
            <param name="ppVarDesc">A VARDESC that describes the specified variable.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>To free the VARDESC structure, use <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-itypeinfo-releasevardesc">ReleaseVarDesc</a>.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetNames(System.Int32,Windows.Win32.SysFreeStringSafeHandle@,System.UInt32,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.GetNames(System.Int32,Windows.Win32.Foundation.BSTR*,System.UInt32,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetNames(System.Int32,Windows.Win32.Foundation.BSTR*,System.UInt32,System.UInt32*)">
            <summary>Retrieves the variable with the specified member ID or the name of the property or method and the parameters that correspond to the specified function ID.</summary>
            <param name="memid">The ID of the member whose name (or names) is to be returned.</param>
            <param name="rgBstrNames">The caller-allocated array. On return, each of the elements contains the name (or names) associated with the member.</param>
            <param name="cMaxNames">The length of the passed-in <i>rgBstrNames</i> array.</param>
            <param name="pcNames">The number of names in the <i>rgBstrNames</i> array.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>The caller must release the returned BSTR array.</para>
            <para>If the member ID identifies a property that is implemented with property functions, the property name is returned. For property get functions, the names of the function and its parameters are always returned.</para>
            <para>For property put and put reference functions, the right side of the assignment is unnamed. If <i>cMaxNames</i> is less than is required to return all of the names of the parameters of a function, then only the names of the first <i>cMaxNames</i> - 1 parameters are returned. The names of the parameters are returned in the array in the same order that they appear elsewhere in the interface (for example, the same order in the parameter array associated with the FUNCDESC enumeration).</para>
            <para>If the type description inherits from another type description, this function is recursive to the base type description, if necessary, to find the item with the requested member ID.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypeinfo-getnames#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetRefTypeOfImplType(System.UInt32,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.GetRefTypeOfImplType(System.UInt32,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetRefTypeOfImplType(System.UInt32,System.UInt32*)">
            <summary>If a type description describes a COM class, it retrieves the type description of the implemented interface types.</summary>
            <param name="index">The index of the implemented type whose handle is returned. The valid range is 0 to the <b>cImplTypes</b> field in the TYPEATTR structure.</param>
            <param name="pRefType">A handle for the implemented interface (if any). This handle can be passed to <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-itypeinfo-getreftypeinfo">ITypeInfo::GetRefTypeInfo</a> to get the type description.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>If the TKIND_DISPATCH type description is for a dual interface, the TKIND_INTERFACE type description can be obtained by calling <b>GetRefTypeOfImplType</b> with an <i>index</i> of –1, and by passing the returned <i>pRefTypehandle</i> to <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-itypeinfo-getreftypeinfo">GetRefTypeInfo</a> to retrieve the type information.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetImplTypeFlags(System.UInt32,Windows.Win32.System.Com.IMPLTYPEFLAGS@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.GetImplTypeFlags(System.UInt32,Windows.Win32.System.Com.IMPLTYPEFLAGS*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetImplTypeFlags(System.UInt32,Windows.Win32.System.Com.IMPLTYPEFLAGS*)">
            <summary>Retrieves the IMPLTYPEFLAGS enumeration for one implemented interface or base interface in a type description.</summary>
            <param name="index">The index of the implemented interface or base interface for which to get the flags.</param>
            <param name="pImplTypeFlags">The IMPLTYPEFLAGS enumeration value.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>The flags are associated with the act of inheritance, and not with the inherited interface.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetIDsOfNames(System.ReadOnlySpan{Windows.Win32.Foundation.PWSTR},System.Span{System.Int32})">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.GetIDsOfNames(Windows.Win32.Foundation.PWSTR*,System.UInt32,System.Int32*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetIDsOfNames(Windows.Win32.Foundation.PWSTR*,System.UInt32,System.Int32*)">
            <summary>Maps between member names and member IDs, and parameter names and parameter IDs.</summary>
            <param name="rgszNames">An array of names to be mapped.</param>
            <param name="cNames">The count of the names to be mapped.</param>
            <param name="pMemId">Caller-allocated array in which name mappings are placed.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>The function <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-idispatch-getidsofnames">GetIDsOfNames</a> maps the name of a member (<b>rgszNames</b>[0]) and its parameters (<b>rgszNames</b>[1] ...<b>rgszNames</b>[<b>cNames</b>- 1]) to the ID of the member (<b>pMemId</b>[0]), and to the IDs of the specified parameters (<b>pMemId</b>[1] ... <b>pMemId</b>[<b>cNames</b>- 1]). The IDs of parameters are 0 for the first parameter in the member function's argument list, 1 for the second, and so on.</para>
            <para>If the type description inherits from another type description, this function is recursive to the base type description, if necessary, to find the item with the requested member ID.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypeinfo-getidsofnames#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.Invoke(System.Void*,System.Int32,Windows.Win32.System.Com.DISPATCH_FLAGS,Windows.Win32.System.Com.DISPPARAMS@,Windows.Win32.System.Variant.VARIANT@,Windows.Win32.System.Com.EXCEPINFO@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.Invoke(System.Void*,System.Int32,Windows.Win32.System.Com.DISPATCH_FLAGS,Windows.Win32.System.Com.DISPPARAMS*,Windows.Win32.System.Variant.VARIANT*,Windows.Win32.System.Com.EXCEPINFO*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.Invoke(System.Void*,System.Int32,Windows.Win32.System.Com.DISPATCH_FLAGS,Windows.Win32.System.Com.DISPPARAMS*,Windows.Win32.System.Variant.VARIANT*,Windows.Win32.System.Com.EXCEPINFO*,System.UInt32*)">
            <summary>Invokes a method, or accesses a property of an object, that implements the interface described by the type description.</summary>
            <param name="pvInstance">An instance of the interface described by this type description.</param>
            <param name="memid">The interface member.</param>
            <param name="wFlags">
            <para>Flags describing the context of the invoke call. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypeinfo-invoke#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pDispParams">An array of arguments, an array of DISPIDs for named arguments, and counts of the number of elements in each array.</param>
            <param name="pVarResult">The result. Should be null if the caller does not expect any result. If <i>wFlags</i> specifies DISPATCH_PROPERTYPUT or DISPATCH_PROPERTYPUTREF, <i>pVarResultis</i> is ignored.</param>
            <param name="pExcepInfo">An exception information structure, which is filled in only if DISP_E_EXCEPTION is returned. If <i>pExcepInfo</i> is null on input, only an HRESULT error will be returned.</param>
            <param name="puArgErr">If Invoke returns DISP_E_TYPEMISMATCH, <i>puArgErr</i> indicates the index (within <i>rgvarg</i>) of the argument with incorrect type. If more than one argument returns an error, <i>puArgErr</i> indicates only the first argument with an error. Arguments in pDispParams-&gt;rgvarg appear in reverse order, so the first argument is the one having the highest index in the array. This parameter cannot be null.</param>
            <returns>
            <para></para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>Use the function <b>ITypeInfo::Invoke</b> to access a member of an object or invoke a method that implements the interface described by this type description. For objects that support the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-idispatch">IDispatch</a> interface, you can use <b>Invoke</b> to implement <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-idispatch-invoke">IDispatch::Invoke</a>.</para>
            <para><b>ITypeInfo::Invoke</b> takes a pointer to an instance of the class. Otherwise, its parameters are the same as <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-idispatch-invoke">IDispatch::Invoke</a>, except that <b>ITypeInfo::Invoke</b> omits the <i>refiid</i> and <i>lcid</i> parameters. When called, <b>ITypeInfo::Invoke</b> performs the actions described by the <b>IDispatch::Invoke</b> parameters on the specified instance.</para>
            <para>For VTBL interface members, <b>ITypeInfo::Invoke</b> passes the LCID of the type information into parameters tagged with the lcid attribute, and the returned value into the retval attribute.</para>
            <para>If the type description inherits from another type description, this function recurses on the base type description to find the item with the requested member ID.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypeinfo-invoke#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetDocumentation(System.Int32,Windows.Win32.SysFreeStringSafeHandle@,Windows.Win32.SysFreeStringSafeHandle@,System.UInt32@,Windows.Win32.SysFreeStringSafeHandle@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.GetDocumentation(System.Int32,Windows.Win32.Foundation.BSTR*,Windows.Win32.Foundation.BSTR*,System.UInt32*,Windows.Win32.Foundation.BSTR*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetDocumentation(System.Int32,Windows.Win32.Foundation.BSTR*,Windows.Win32.Foundation.BSTR*,System.UInt32*,Windows.Win32.Foundation.BSTR*)">
            <summary>Retrieves the documentation string, the complete Help file name and path, and the context ID for the Help topic for a specified type description.</summary>
            <param name="memid">The ID of the member whose documentation is to be returned.</param>
            <param name="pBstrName">The name of the specified item. If the caller does not need the item name, <i>pBstrName</i> can be null.</param>
            <param name="pBstrDocString">The documentation string for the specified item. If the caller does not need the documentation string, <i>pBstrDocString</i> can be null.</param>
            <param name="pdwHelpContext">The Help localization context. If the caller does not need the Help context, it can be null.</param>
            <param name="pBstrHelpFile">The fully qualified name of the file containing the DLL used for Help file. If the caller does not need the file name, it can be null.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>The function <b>GetDocumentation</b> provides access to the documentation for the member specified by the <i>memid</i> parameter. If the passed-in <i>memid</i> is MEMBERID_NIL, then the documentation for the type description is returned.</para>
            <para>If the type description inherits from another type description, this function is recursive to the base type description, if necessary, to find the item with the requested member ID.</para>
            <para>The caller should use <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oleauto/nf-oleauto-sysfreestring">SysFreeString</a> to free the BSTRs referenced by <i>pBstrName</i>, <i>pBstrDocString</i>, and <i>pBstrHelpFile</i>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypeinfo-getdocumentation#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetDllEntry(System.Int32,Windows.Win32.System.Com.INVOKEKIND,Windows.Win32.SysFreeStringSafeHandle@,Windows.Win32.SysFreeStringSafeHandle@,System.UInt16@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.GetDllEntry(System.Int32,Windows.Win32.System.Com.INVOKEKIND,Windows.Win32.Foundation.BSTR*,Windows.Win32.Foundation.BSTR*,System.UInt16*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetDllEntry(System.Int32,Windows.Win32.System.Com.INVOKEKIND,Windows.Win32.Foundation.BSTR*,Windows.Win32.Foundation.BSTR*,System.UInt16*)">
            <summary>Retrieves a description or specification of an entry point for a function in a DLL.</summary>
            <param name="memid">The ID of the member function whose DLL entry description is to be returned.</param>
            <param name="invKind">The kind of member identified by <i>memid</i>. This is important for properties, because one <i>memid</i> can identify up to three separate functions.</param>
            <param name="pBstrDllName">If not null, the function sets <i>pBstrDllName</i> to the name of the DLL.</param>
            <param name="pBstrName">If not null, the function sets <i>pBstrName</i> to the name of the entry point. If the entry point is specified by an ordinal, this argument is null.</param>
            <param name="pwOrdinal">If not null, and if the function is defined by an ordinal, the function sets <i>pwOrdinal</i> to the ordinal.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>The caller passes in a member ID, which represents the member function whose entry description is desired. If the function has a DLL entry point, the name of the DLL that contains the function, as well as its name or ordinal identifier, are placed in the passed-in pointers allocated by the caller. If there is no DLL entry point for the function, an error is returned.</para>
            <para>If the type description inherits from another type description, this function is recursive to the base type description, if necessary, to find the item with the requested member ID.</para>
            <para>The caller should use <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oleauto/nf-oleauto-sysfreestring">SysFreeString</a> to free the BSTRs referenced by <i>pBstrName</i> and <i>pBstrDllName</i>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypeinfo-getdllentry#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetRefTypeInfo(System.UInt32,Windows.Win32.System.Com.ITypeInfo**)">
            <summary>If a type description references other type descriptions, it retrieves the referenced type descriptions.</summary>
            <param name="hRefType">A handle to the referenced type description to return.</param>
            <param name="ppTInfo">The referenced type description.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>On return, the second parameter contains a pointer to a pointer to a type description that is referenced by this type description. A type description must have a reference to each type description that occurs as the type of any of its variables, function parameters, or function return types. For example, if the type of a data member is a record type, the type description for that data member contains the <i>hRefType</i> of a referenced type description. To get a pointer to the type description, the reference is passed to <b>GetRefTypeInfo</b>.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.AddressOfMember(System.Int32,Windows.Win32.System.Com.INVOKEKIND,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.AddressOfMember(System.Int32,Windows.Win32.System.Com.INVOKEKIND,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.AddressOfMember(System.Int32,Windows.Win32.System.Com.INVOKEKIND,System.Void**)">
            <summary>Retrieves the addresses of static functions or variables, such as those defined in a DLL.</summary>
            <param name="memid">The member ID of the static member whose address is to be retrieved. The member ID is defined by the DISPID.</param>
            <param name="invKind">Indicates whether the member is a property, and if so, what kind.</param>
            <param name="ppv">The static member.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>The addresses are valid until the caller releases its reference to the type description. The <i>invKind</i> parameter can be ignored unless the address of a property function is being requested. If the type description inherits from another type description, this function is recursive to the base type description, if necessary, to find the item with the requested member ID.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypeinfo-addressofmember#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.CreateInstance(Windows.Win32.System.Com.IUnknown*,System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.CreateInstance(Windows.Win32.System.Com.IUnknown*,System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.CreateInstance(Windows.Win32.System.Com.IUnknown*,System.Guid*,System.Void**)">
            <summary>Creates a new instance of a type that describes a component object class (coclass).</summary>
            <param name="pUnkOuter">The controlling <b>IUnknown</b>. If Null, then a stand-alone instance is created. If valid, then an aggregate object is created.</param>
            <param name="riid">An ID for the interface that the caller will use to communicate with the resulting object.</param>
            <param name="ppvObj">An instance of the created object.</param>
            <returns>
            <para></para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>For types that describe a component object class (coclass), <b>CreateInstance</b> creates a new instance of the class. Normally, <b>CreateInstance</b> calls <b>CoCreateInstance</b> with the type description's GUID. For an Application object, it first calls <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oleauto/nf-oleauto-getactiveobject">GetActiveObject</a>. If the application is active, <b>GetActiveObject</b> returns the active object; otherwise, if <b>GetActiveObject</b> fails, <b>CreateInstance</b> calls <b>CoCreateInstance</b>.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetMops(System.Int32,Windows.Win32.SysFreeStringSafeHandle@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.GetMops(System.Int32,Windows.Win32.Foundation.BSTR*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetMops(System.Int32,Windows.Win32.Foundation.BSTR*)">
            <summary>Retrieves marshaling information.</summary>
            <param name="memid">The member ID that indicates which marshaling information is needed.</param>
            <param name="pBstrMops">The opcode string used in marshaling the fields of the structure described by the referenced type description, or null if there is no information to return.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>If the passed-in member ID is MEMBERID_NIL, the function returns the opcode string for marshaling the fields of the structure described by the type description. Otherwise, it returns the opcode string for marshaling the function specified by the index.</para>
            <para>If the type description inherits from another type description, this function recurses on the base type description, if necessary, to find the item with the requested member ID.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypeinfo-getmops#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetContainingTypeLib(Windows.Win32.System.Com.ITypeLib**,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.GetContainingTypeLib(Windows.Win32.System.Com.ITypeLib**,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.GetContainingTypeLib(Windows.Win32.System.Com.ITypeLib**,System.UInt32*)">
            <summary>Retrieves the containing type library and the index of the type description within that type library.</summary>
            <param name="ppTLib">The containing type library.</param>
            <param name="pIndex">The index of the type description within the containing type library.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypeinfo-getcontainingtypelib">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.ReleaseTypeAttr(Windows.Win32.System.Com.TYPEATTR@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.ReleaseTypeAttr(Windows.Win32.System.Com.TYPEATTR*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.ReleaseTypeAttr(Windows.Win32.System.Com.TYPEATTR*)">
            <summary>Releases a TYPEATTR previously returned by ITypeInfo::GetTypeAttr.</summary>
            <param name="pTypeAttr">The TYPEATTR to be freed.</param>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypeinfo-releasetypeattr">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.ReleaseFuncDesc(Windows.Win32.System.Com.FUNCDESC@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.ReleaseFuncDesc(Windows.Win32.System.Com.FUNCDESC*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.ReleaseFuncDesc(Windows.Win32.System.Com.FUNCDESC*)">
            <summary>Releases a FUNCDESC previously returned by ITypeInfo::GetFuncDesc.</summary>
            <param name="pFuncDesc">The FUNCDESC to be freed.</param>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypeinfo-releasefuncdesc">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.ReleaseVarDesc(Windows.Win32.System.Com.VARDESC@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.ReleaseVarDesc(Windows.Win32.System.Com.VARDESC*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeInfo.ReleaseVarDesc(Windows.Win32.System.Com.VARDESC*)">
            <summary>Releases a VARDESC previously returned by ITypeInfo::GetVarDesc.</summary>
            <param name="pVarDesc">The VARDESC to be freed.</param>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypeinfo-releasevardesc">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.ITypeInfo.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{00020401-0000-0000-c000-000000000046}</value>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeLib.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeLib.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeLib.GetTypeInfoCount">
            <summary>Provides the number of type descriptions that are in a type library.</summary>
            <returns>The number of type descriptions in the type library.</returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypelib-gettypeinfocount">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeLib.GetTypeInfo(System.UInt32,Windows.Win32.System.Com.ITypeInfo**)">
            <summary>Retrieves the specified type description in the library.</summary>
            <param name="index">The index of the interface to be returned.</param>
            <param name="ppTInfo">If successful, returns a pointer to the pointer to the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypeinfo">ITypeInfo</a> interface.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>For dual interfaces, <b>GetTypeInfo</b> returns only the TKIND_DISPATCH type information. To get the TKIND_INTERFACE type information, <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-itypeinfo-getreftypeofimpltype">GetRefTypeOfImplType</a> can be called on the TKIND_DISPATCH type information, passing an index of –1. Then, the returned type information handle can be passed to <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-itypeinfo-getreftypeinfo">GetRefTypeInfo</a>.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeLib.GetTypeInfoType(System.UInt32,Windows.Win32.System.Com.TYPEKIND@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeLib.GetTypeInfoType(System.UInt32,Windows.Win32.System.Com.TYPEKIND*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeLib.GetTypeInfoType(System.UInt32,Windows.Win32.System.Com.TYPEKIND*)">
            <summary>Retrieves the type of a type description.</summary>
            <param name="index">The index of the type description within the type library.</param>
            <param name="pTKind">The <a href="https://docs.microsoft.com/windows/desktop/api/oaidl/ne-oaidl-typekind">TYPEKIND</a> enumeration value for the type description.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypelib-gettypeinfotype">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeLib.GetTypeInfoOfGuid(System.Guid@,Windows.Win32.System.Com.ITypeInfo**)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeLib.GetTypeInfoOfGuid(System.Guid*,Windows.Win32.System.Com.ITypeInfo**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeLib.GetTypeInfoOfGuid(System.Guid*,Windows.Win32.System.Com.ITypeInfo**)">
            <summary>Retrieves the type description that corresponds to the specified GUID.</summary>
            <param name="guid">The GUID of the type description.</param>
            <param name="ppTinfo">The <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypeinfo">ITypeInfo</a> interface.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypelib-gettypeinfoofguid">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeLib.GetLibAttr(Windows.Win32.System.Com.TLIBATTR*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeLib.GetLibAttr(Windows.Win32.System.Com.TLIBATTR**)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeLib.GetLibAttr(Windows.Win32.System.Com.TLIBATTR**)">
            <summary>Retrieves the structure that contains the library's attributes.</summary>
            <param name="ppTLibAttr">The library's attributes.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>Use <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-itypelib-releasetlibattr">ITypeLib::ReleaseTLibAttr</a> to free the memory occupied by the TLIBATTR structure.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeLib.GetTypeComp(Windows.Win32.System.Com.ITypeComp**)">
            <summary>Enables a client compiler to bind to the types, variables, constants, and global functions for a library.</summary>
            <param name="ppTComp">The <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypecomp">ITypeComp</a> instance for this <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypelib">ITypeLib</a>. A client compiler uses the methods in the <b>ITypeComp</b> interface to bind to types in <b>ITypeLib</b>, as well as to the global functions, variables, and constants defined in <b>ITypeLib</b></param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>The <a href="https://docs.microsoft.com/windows/desktop/api/oaidl/nf-oaidl-itypecomp-bind">Bind</a> function of the returned <b>TypeComp</b> binds to global functions, variables, constants, enumerated values, and coclass members. The <b>Bind</b> function also binds the names of the TYPEKIND enumerations of TKIND_MODULE, TKIND_ENUM, and TKIND_COCLASS. These names shadow any global names defined within the type information. The members of TKIND_ENUM, TKIND_MODULE, and TKIND_COCLASS types marked as Application objects can be directly bound to from <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypecomp">ITypeComp</a> without specifying the name of the module.</para>
            <para><a href="https://docs.microsoft.com/windows/desktop/api/oaidl/nf-oaidl-itypecomp-bind">ITypeComp::Bind</a> and <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-itypecomp-bindtype">ITypeComp::BindType</a> accept only unqualified names. <b>ITypeLib::GetTypeComp</b> returns a pointer to the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-itypecomp">ITypeComp</a> interface, which is then used to bind to global elements in the library. The names of some types (TKIND_ENUM, TKIND_MODULE, and TKIND_COCLASS) share the name space with variables, functions, constants, and enumerators. If a member requires qualification to differentiate it from other items in the name space, <b>GetTypeComp</b> can be called successively for each qualifier in order to bind to the desired member. This allows programming language compilers to access members of modules, enumerations, and coclasses, even though the member can't be bound to with a qualified name.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypelib-gettypecomp#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeLib.GetDocumentation(System.Int32,Windows.Win32.SysFreeStringSafeHandle@,Windows.Win32.SysFreeStringSafeHandle@,System.UInt32@,Windows.Win32.SysFreeStringSafeHandle@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeLib.GetDocumentation(System.Int32,Windows.Win32.Foundation.BSTR*,Windows.Win32.Foundation.BSTR*,System.UInt32*,Windows.Win32.Foundation.BSTR*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeLib.GetDocumentation(System.Int32,Windows.Win32.Foundation.BSTR*,Windows.Win32.Foundation.BSTR*,System.UInt32*,Windows.Win32.Foundation.BSTR*)">
            <summary>Retrieves the documentation string for the library, the complete Help file name and path, and the context identifier for the library Help topic in the Help file.</summary>
            <param name="index">The index of the type description whose documentation is to be returned. If <i>index</i> is -1, then the documentation for the library itself is returned.</param>
            <param name="pBstrName">The name of the specified item. If the caller does not need the item name, then <i>pBstrName</i> can be null.</param>
            <param name="pBstrDocString">The documentation string for the specified item. If the caller does not need the documentation string, then <i>pBstrDocString</i> can be null..</param>
            <param name="pdwHelpContext">The Help context identifier (ID) associated with the specified item. If the caller does not need the Help context ID, then <i>pdwHelpContext</i> can be null.</param>
            <param name="pBstrHelpFile">The fully qualified name of the Help file. If the caller does not need the Help file name, then <i>pBstrHelpFile</i> can be null.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>The caller should free the parameters <i>pBstrName</i>, <i>pBstrDocString</i>, and <i>pBstrHelpFile</i>.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeLib.IsName(System.Span{System.Char}@,System.UInt32,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeLib.IsName(Windows.Win32.Foundation.PWSTR,System.UInt32,Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeLib.IsName(Windows.Win32.Foundation.PWSTR,System.UInt32,Windows.Win32.Foundation.BOOL*)">
            <summary>Indicates whether a passed-in string contains the name of a type or member described in the library.</summary>
            <param name="szNameBuf">The string to test. If this method is successful, <i>szNameBuf</i> is modified to match the case (capitalization) found in the type library.</param>
            <param name="lHashVal">The hash value of <i>szNameBuf</i>.</param>
            <param name="pfName">True if <i>szNameBuf</i> was found in the type library; otherwise false.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypelib-isname">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeLib.FindName(System.Span{System.Char}@,System.UInt32,Windows.Win32.System.Com.ITypeInfo**,System.Int32*,System.UInt16@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeLib.FindName(Windows.Win32.Foundation.PWSTR,System.UInt32,Windows.Win32.System.Com.ITypeInfo**,System.Int32*,System.UInt16*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeLib.FindName(Windows.Win32.Foundation.PWSTR,System.UInt32,Windows.Win32.System.Com.ITypeInfo**,System.Int32*,System.UInt16*)">
            <summary>Finds occurrences of a type description in a type library. This may be used to quickly verify that a name exists in a type library.</summary>
            <param name="szNameBuf">The name to search for.</param>
            <param name="lHashVal">A hash value to speed up the search, computed by the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oleauto/nf-oleauto-lhashvalofnamesys">LHashValOfNameSys</a> function. If <i>lHashVal</i> = 0, a value is computed.</param>
            <param name="ppTInfo">An array of pointers to the type descriptions that contain the name specified in <i>szNameBuf</i>. This parameter cannot be null.</param>
            <param name="rgMemId">An array of the found items; <i>rgMemId</i>[<i>i</i>] is the MEMBERID that indexes into the type description specified by <i>ppTInfo</i>[<i>i</i>]. This parameter cannot be null.</param>
            <param name="pcFound">
            <para>On entry, indicates how many instances to look for. For example, *<i>pcFound</i> = 1 can be called to find the first occurrence. The search stops when one is found. On exit, indicates the number of instances that were found. If the in and out values of *<i>pcFound</i> are identical, there may be more type descriptions that contain the name.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypelib-findname#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>Passing *<i>pcFound</i> = <i>n</i> indicates that there is enough room in the <i>ppTInfo</i> and <i>rgMemId</i> arrays for <i>n</i> (<i>ptinfo</i>, <i>memid</i>) pairs. The function returns MEMBERID_NIL in <i>rgMemId</i>[<i>i</i>], if the name in <i>szNameBuf</i> is the name of the type information in <i>ppTInfo</i>[<i>i</i>].</remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeLib.ReleaseTLibAttr(Windows.Win32.System.Com.TLIBATTR@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeLib.ReleaseTLibAttr(Windows.Win32.System.Com.TLIBATTR*)"/>
        </member>
        <member name="M:Windows.Win32.System.Com.ITypeLib.ReleaseTLibAttr(Windows.Win32.System.Com.TLIBATTR*)">
            <summary>Releases the TLIBATTR originally obtained from GetLibAttr.</summary>
            <param name="pTLibAttr">The TLIBATTR to be freed.</param>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-itypelib-releasetlibattr">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.ITypeLib.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{00020402-0000-0000-c000-000000000046}</value>
        </member>
        <member name="M:Windows.Win32.System.Com.IUnknown.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.IUnknown.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Windows.Win32.System.Com.IUnknown.QueryInterface(System.Guid*,System.Void**)" -->
        <member name="M:Windows.Win32.System.Com.IUnknown.AddRef">
            <summary>Increments the reference count for an interface pointer to a COM object. You should call this method whenever you make a copy of an interface pointer.</summary>
            <returns>The method returns the new reference count. This value is intended to be used only for test purposes.</returns>
            <remarks>
            <para>A COM object uses a per-interface reference-counting mechanism to ensure that the object doesn't outlive references to it. You use **AddRef** to stabilize a copy of an interface pointer. It can also be called when the life of a cloned pointer must extend beyond the lifetime of the original pointer. The cloned pointer must be released by calling [IUnknown::Release](/windows/desktop/api/unknwn/nf-unknwn-iunknown-queryinterface(refiid_void)) on it. The internal reference counter that **AddRef** maintains should be a 32-bit unsigned integer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/unknwn/nf-unknwn-iunknown-addref#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Com.IUnknown.Release">
            <summary>Decrements the reference count for an interface on a COM object.</summary>
            <returns>The method returns the new reference count. This value is intended to be used only for test purposes.</returns>
            <remarks>
            <para>When the reference count on an object reaches zero, **Release** must cause the interface pointer to free itself. When the released pointer is the only (formerly) outstanding reference to an object (whether the object supports single or multiple interfaces), the implementation must free the object. Note that aggregation of objects restricts the ability to recover interface pointers.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/unknwn/nf-unknwn-iunknown-release#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.IUnknown.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{00000000-0000-0000-c000-000000000046}</value>
        </member>
        <member name="T:Windows.Win32.System.Com.LOCKTYPE">
            <summary>The LOCKTYPE enumeration values indicate the type of locking requested for the specified range of bytes. The values are used in the ILockBytes::LockRegion and IStream::LockRegion methods.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/ne-objidl-locktype">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.LOCKTYPE.LOCK_WRITE">
            <summary>If this lock is granted, the specified range of bytes can be opened and read any number of times, but writing to the locked range is prohibited except for the owner that was granted this lock.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.LOCKTYPE.LOCK_EXCLUSIVE">
            <summary>If this lock is granted, writing to the specified range of bytes is prohibited except by the owner that was granted this lock.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.LOCKTYPE.LOCK_ONLYONCE">
            <summary>If this lock is granted, no other <b>LOCK_ONLYONCE</b> lock can be obtained on the range. Usually this lock type is an alias for some other lock type. Thus, specific implementations can have additional behavior associated with this lock type.</summary>
        </member>
        <member name="T:Windows.Win32.System.Com.SAFEARRAY">
            <summary>Represents a safe array.</summary>
            <remarks>
            <para>The array <b>rgsabound</b> is stored with the left-most dimension in rgsabound[0] and the right-most dimension in <c>rgsabound[cDims - 1]</c>. If an array was specified in a C-like syntax as a [2][5], it would have two elements in the <b>rgsabound</b> vector. Element 0 has an <b>lLbound</b> of 0 and a <b>cElements</b> of 2. Element 1 has an <b>lLbound</b> of 0 and a <b>cElements</b> of 5.</para>
            <para>The <b>fFeatures</b> flags describe attributes of an array that can affect how the array is released. The <b>fFeatures</b> field describes what type of data is stored in the <b>SAFEARRAY</b> and how the array is allocated. This allows freeing the array without referencing its containing variant.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ns-oaidl-safearray#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.SAFEARRAY.cDims">
            <summary>The number of dimensions.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.SAFEARRAY.fFeatures">
            <summary>
            <para>Flags. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ns-oaidl-safearray#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.System.Com.SAFEARRAY.cbElements">
            <summary>The size of an array element.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.SAFEARRAY.cLocks">
            <summary>The number of times the array has been locked without a corresponding unlock.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.SAFEARRAY.pvData">
            <summary>The data.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.SAFEARRAY.rgsabound">
            <summary>One bound for each dimension.</summary>
        </member>
        <member name="M:Windows.Win32.System.Com.SAFEARRAY.SizeOf(System.Int32)">
            <summary>Computes the amount of memory that must be allocated to store this struct, including the specified number of elements in the variable length inline array at the end.</summary>
        </member>
        <member name="T:Windows.Win32.System.Com.SAFEARRAYBOUND">
            <summary>Represents the bounds of one dimension of the array.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ns-oaidl-safearraybound">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.SAFEARRAYBOUND.cElements">
            <summary>The number of elements in the dimension.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.SAFEARRAYBOUND.lLbound">
            <summary>The lower bound of the dimension.</summary>
        </member>
        <member name="T:Windows.Win32.System.Com.STATSTG">
            <summary>Contains statistical data about an open storage, stream, or byte-array object.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/ns-objidl-statstg">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.STATSTG.pwcsName">
            <summary>
            <para>A pointer to a <b>NULL</b>-terminated Unicode string that contains the name. Space for this string is allocated by the method called and freed by the caller (for more information, see <a href="https://docs.microsoft.com/windows/desktop/api/combaseapi/nf-combaseapi-cotaskmemfree">CoTaskMemFree</a>). To  not return this member, specify the STATFLAG_NONAME value when you call a method that returns a <b>STATSTG</b> structure, except for calls to <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-ienumstatstg">IEnumSTATSTG::Next</a>, which provides no way to specify this value.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/ns-objidl-statstg#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.System.Com.STATSTG.type">
            <summary>
            <para>Indicates the type of storage object. This is one of the values from the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/ne-objidl-stgty">STGTY</a> enumeration.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/ns-objidl-statstg#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.System.Com.STATSTG.cbSize">
            <summary>Specifies the size, in bytes, of the stream or byte array.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.STATSTG.mtime">
            <summary>Indicates the last modification time for this storage, stream, or byte array.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.STATSTG.ctime">
            <summary>Indicates the creation time for this storage, stream, or byte array.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.STATSTG.atime">
            <summary>Indicates the last access time for this storage, stream, or byte array.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.STATSTG.grfMode">
            <summary>
            <para>Indicates the access mode specified when the object was opened. This member is only valid in calls to <b>Stat</b> methods.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/ns-objidl-statstg#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.System.Com.STATSTG.clsid">
            <summary>Indicates the class identifier for the storage object; set to CLSID_NULL for new storage objects. This member is not used for streams or byte arrays.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.STATSTG.grfStateBits">
            <summary>
            <para>Indicates the current state bits of the storage object; that is, the value most recently set by the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nf-objidl-istorage-setstatebits">IStorage::SetStateBits</a> method. This member is not valid for streams or byte arrays.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/objidl/ns-objidl-statstg#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.System.Com.STATSTG.reserved">
            <summary>Reserved for future use.</summary>
        </member>
        <member name="T:Windows.Win32.System.Com.STGM">
            <summary>Flags that indicate conditions for creating and deleting the object and access modes for the object.</summary>
            <remarks>You can combine these flags, but you can only choose one flag from each group of related flags. Typically one flag from each of the access and sharing groups must be specified for all functions and methods which use these constants. Flags from other groups are optional.</remarks>
        </member>
        <member name="T:Windows.Win32.System.Com.SYSKIND">
            <summary>Identifies the target operating system platform.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ne-oaidl-syskind">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.SYSKIND.SYS_WIN16">
            <summary>The target operating system for the type library is 16-bit Windows. By default, data members are packed.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.SYSKIND.SYS_WIN32">
            <summary>The target operating system for the type library is 32-bit Windows. By default, data members are naturally aligned (for example, 2-byte integers are aligned on even-byte boundaries; 4-byte integers are aligned on quad-word boundaries, and so on).</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.SYSKIND.SYS_MAC">
            <summary>The target operating system for the type library is Apple Macintosh. By default, all data members are aligned on even-byte boundaries.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.SYSKIND.SYS_WIN64">
            <summary>The target operating system for the type library is 64-bit Windows.</summary>
        </member>
        <member name="T:Windows.Win32.System.Com.TLIBATTR">
            <summary>Contains information about a type library. Information from this structure is used to identify the type library and to provide national language support for member names.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ns-oaidl-tlibattr">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.TLIBATTR.guid">
            <summary>The globally unique identifier.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TLIBATTR.lcid">
            <summary>The locale identifier.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TLIBATTR.syskind">
            <summary>The target hardware platform.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TLIBATTR.wMajorVerNum">
            <summary>The major version number.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TLIBATTR.wMinorVerNum">
            <summary>The minor version number.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TLIBATTR.wLibFlags">
            <summary>The library flags.</summary>
        </member>
        <member name="T:Windows.Win32.System.Com.TYPEATTR">
            <summary>Contains attributes of a type.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ns-oaidl-typeattr">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEATTR.guid">
            <summary>The GUID of the type information.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEATTR.lcid">
            <summary>The locale of member names and documentation strings.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEATTR.dwReserved">
            <summary>Reserved.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEATTR.memidConstructor">
            <summary>The constructor ID, or MEMBERID_NIL if none.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEATTR.memidDestructor">
            <summary>The destructor ID, or MEMBERID_NIL if none.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEATTR.lpstrSchema">
            <summary>Reserved.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEATTR.cbSizeInstance">
            <summary>The size of an instance of this type.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEATTR.typekind">
            <summary>The kind of type.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEATTR.cFuncs">
            <summary>The number of functions.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEATTR.cVars">
            <summary>The number of variables or data members.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEATTR.cImplTypes">
            <summary>The number of implemented interfaces.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEATTR.cbSizeVft">
            <summary>The size of this type's VTBL.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEATTR.cbAlignment">
            <summary>The byte alignment for an instance of this type. A value of 0 indicates alignment on the 64K boundary; 1 indicates no special alignment. For other values, <i>n</i> indicates aligned on byte <i>n</i>.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEATTR.wTypeFlags">
            <summary>The type flags. See <a href="https://docs.microsoft.com/windows/desktop/api/oaidl/ne-oaidl-typeflags">TYPEFLAGS</a>.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEATTR.wMajorVerNum">
            <summary>The major version number.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEATTR.wMinorVerNum">
            <summary>The minor version number.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEATTR.tdescAlias">
            <summary>If <b>typekind</b> is TKIND_ALIAS, specifies the type for which this type is an alias.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEATTR.idldescType">
            <summary>The IDL attributes of the described type.</summary>
        </member>
        <member name="T:Windows.Win32.System.Com.TYPEDESC">
            <summary>Describes the type of a variable, the return type of a function, or the type of a function parameter.</summary>
            <remarks>If the variable is VT_SAFEARRAY or VT_PTR, the union portion of the TYPEDESC contains a pointer to a TYPEDESC that specifies the element type.</remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEDESC.vt">
            <summary>The variant type.</summary>
        </member>
        <member name="T:Windows.Win32.System.Com.TYPEKIND">
            <summary>Specifies a type.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ne-oaidl-typekind">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEKIND.TKIND_ENUM">
            <summary>A set of enumerators.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEKIND.TKIND_RECORD">
            <summary>A structure with no methods.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEKIND.TKIND_MODULE">
            <summary>A module that can only have static functions and data (for example, a DLL).</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEKIND.TKIND_INTERFACE">
            <summary>A type that has virtual and pure functions.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEKIND.TKIND_DISPATCH">
            <summary>A set of methods and properties that are accessible through <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-idispatch-invoke">IDispatch::Invoke</a>. By default, dual interfaces return TKIND_DISPATCH.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEKIND.TKIND_COCLASS">
            <summary>A set of implemented component object interfaces.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEKIND.TKIND_ALIAS">
            <summary>A type that is an alias for another type.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEKIND.TKIND_UNION">
            <summary>A union, all of whose members have an offset of zero.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.TYPEKIND.TKIND_MAX">
            <summary>End of enum marker.</summary>
        </member>
        <member name="T:Windows.Win32.System.Com.VARDESC">
            <summary>Describes a variable, constant, or data member.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ns-oaidl-vardesc">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.VARDESC.memid">
            <summary>The member ID.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARDESC.lpstrSchema">
            <summary>Reserved.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARDESC.elemdescVar">
            <summary>The variable type.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARDESC.wVarFlags">
            <summary>The variable flags. See <a href="https://docs.microsoft.com/windows/desktop/api/oaidl/ne-oaidl-varflags">VARFLAGS</a>.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARDESC.varkind">
            <summary>The variable type.</summary>
        </member>
        <member name="T:Windows.Win32.System.Com.VARFLAGS">
            <summary>Specifies variable flags.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ne-oaidl-varflags">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.VARFLAGS.VARFLAG_FREADONLY">
            <summary>Assignment to the variable should not be allowed.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARFLAGS.VARFLAG_FSOURCE">
            <summary>The variable returns an object that is a source of events.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARFLAGS.VARFLAG_FBINDABLE">
            <summary>The variable supports data binding.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARFLAGS.VARFLAG_FREQUESTEDIT">
            <summary>When set, any attempt to directly change the property results in a call to <b>IPropertyNotifySink::OnRequestEdit</b>. The implementation of <b>OnRequestEdit</b> determines if the change is accepted.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARFLAGS.VARFLAG_FDISPLAYBIND">
            <summary>The variable is displayed to the user as bindable. VARFLAG_FBINDABLE must also be set.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARFLAGS.VARFLAG_FDEFAULTBIND">
            <summary>The variable is the single property that best represents the object. Only one variable in type information can have this attribute.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARFLAGS.VARFLAG_FHIDDEN">
            <summary>The variable should not be displayed to the user in a browser, although it exists and is bindable.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARFLAGS.VARFLAG_FRESTRICTED">
            <summary>The variable should not be accessible from macro languages. This flag is intended for system-level variables or variables that you do not want type browsers to display.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARFLAGS.VARFLAG_FDEFAULTCOLLELEM">
            <summary>Permits an optimization in which the compiler looks for a member named "xyz" on the type of abc. If such a member is found and is flagged as an accessor function for an element of the default collection, then a call is generated to that member function. Permitted on members in dispinterfaces and interfaces; not permitted on modules.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARFLAGS.VARFLAG_FUIDEFAULT">
            <summary>The variable is the default display in the user interface.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARFLAGS.VARFLAG_FNONBROWSABLE">
            <summary>The variable appears in an object browser, but not in a properties browser.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARFLAGS.VARFLAG_FREPLACEABLE">
            <summary>Tags the interface as having default behaviors.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARFLAGS.VARFLAG_FIMMEDIATEBIND">
            <summary>The variable is mapped as individual bindable properties.</summary>
        </member>
        <member name="T:Windows.Win32.System.Com.VARKIND">
            <summary>Specifies the variable type.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ne-oaidl-varkind">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Com.VARKIND.VAR_PERINSTANCE">
            <summary>The variable is a field or member of the type. It exists at a fixed offset within each instance of the type.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARKIND.VAR_STATIC">
            <summary>There is only one instance of the variable.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARKIND.VAR_CONST">
            <summary>The VARDESC describes a symbolic constant. There is no memory associated with it.</summary>
        </member>
        <member name="F:Windows.Win32.System.Com.VARKIND.VAR_DISPATCH">
            <summary>The variable can only be accessed through <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-idispatch-invoke">IDispatch::Invoke</a>.</summary>
        </member>
        <member name="T:Windows.Win32.System.Ole.ARRAYDESC">
            <summary>Describes an array, its element type, and its dimension.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ns-oaidl-arraydesc">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Ole.ARRAYDESC.tdescElem">
            <summary>The element type.</summary>
        </member>
        <member name="F:Windows.Win32.System.Ole.ARRAYDESC.cDims">
            <summary>The dimension count.</summary>
        </member>
        <member name="F:Windows.Win32.System.Ole.ARRAYDESC.rgbounds">
            <summary>A variable-length array containing one element for each dimension.</summary>
        </member>
        <member name="M:Windows.Win32.System.Ole.ARRAYDESC.SizeOf(System.Int32)">
            <summary>Computes the amount of memory that must be allocated to store this struct, including the specified number of elements in the variable length inline array at the end.</summary>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.RecordInit(System.Void*)">
            <summary>Initializes a new instance of a record.</summary>
            <param name="pvNew">An instance of a record.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>The caller must allocate the memory of the record by its appropriate size using the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-irecordinfo-getsize">GetSize</a> method. <b>RecordInit</b> sets all contents of the record to 0 and the record should hold no resources.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-irecordinfo-recordinit#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.RecordClear(System.Void*)">
            <summary>Releases object references and other values of a record without deallocating the record.</summary>
            <param name="pvExisting">The record to be cleared.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks><b>RecordClear</b> releases memory blocks held by VT_PTR or VT_SAFEARRAY instance fields. The caller needs to free the instance fields memory, <b>RecordClear</b> will do nothing if there are no resources held.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.RecordCopy(System.Void*,System.Void*)">
            <summary>Copies an existing record into the passed in buffer.</summary>
            <param name="pvExisting">The current record instance.</param>
            <param name="pvNew">The destination where the record will be copied.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks><b>RecordCopy</b> will release the resources in the destination first. The caller is responsible for allocating sufficient memory in the destination by calling <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-irecordinfo-getsize">GetSize</a> or  <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-irecordinfo-recordcreate">RecordCreate</a>. If <b>RecordCopy</b> fails to copy any of the fields then all fields will be cleared, as though <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-irecordinfo-recordclear">RecordClear</a> had been called.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.GetGuid(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.GetGuid(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.GetGuid(System.Guid*)">
            <summary>Gets the GUID of the record type.</summary>
            <param name="pguid">The class GUID of the TypeInfo that describes the UDT.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-irecordinfo-getguid">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.GetName(Windows.Win32.SysFreeStringSafeHandle@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.GetName(Windows.Win32.Foundation.BSTR*)"/>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.GetName(Windows.Win32.Foundation.BSTR*)">
            <summary>Gets the name of the record type.</summary>
            <param name="pbstrName">The name.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>The caller must free the BSTR by calling <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oleauto/nf-oleauto-sysfreestring">SysFreeString</a>.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.GetSize(System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.GetSize(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.GetSize(System.UInt32*)">
            <summary>Gets the number of bytes of memory necessary to hold the record instance.</summary>
            <param name="pcbSize">The size of a record instance, in bytes.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-irecordinfo-getsize">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.GetTypeInfo(Windows.Win32.System.Com.ITypeInfo**)">
            <summary>Retrieves the type information that describes a UDT or safearray of UDTs.</summary>
            <param name="ppTypeInfo">The information type of the record.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks><b>AddRef</b> is called on the pointer <i>ppTypeInfo</i>.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.GetField(System.Void*,System.String,Windows.Win32.System.Variant.VARIANT@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.GetField(System.Void*,Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Variant.VARIANT*)"/>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.GetField(System.Void*,Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Variant.VARIANT*)">
            <summary>Returns a pointer to the VARIANT containing the value of a given field name.</summary>
            <param name="pvData">The instance of a record.</param>
            <param name="szFieldName">The field name.</param>
            <param name="pvarField">The VARIANT that you want to hold the value of the field name, <i>szFieldName</i>. On return, places a copy of the field's value in the variant.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>The VARIANT that you pass in contains a copy of the field's value upon return. If you modify the VARIANT then the underlying record field does not change. The caller allocates memory of the VARIANT. The method <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oleauto/nf-oleauto-variantclear">VariantClear</a> is called for <i>pvarField</i> before copying.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-irecordinfo-getfield#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.GetFieldNoCopy(System.Void*,System.String,Windows.Win32.System.Variant.VARIANT@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.GetFieldNoCopy(System.Void*,Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Variant.VARIANT*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.GetFieldNoCopy(System.Void*,Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Variant.VARIANT*,System.Void**)">
            <summary>Returns a pointer to the value of a given field name without copying the value and allocating resources.</summary>
            <param name="pvData">The instance of a record.</param>
            <param name="szFieldName">The name of the field.</param>
            <param name="pvarField">The VARIANT that will contain the UDT upon return.</param>
            <param name="ppvDataCArray">Receives the value of the field upon return.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>Upon return, the VARIANT you pass contains a direct pointer to the record's field, <i>ppvDataCArray</i>. If you modify the VARIANT, then the underlying record field will change. The caller allocates memory of the VARIANT, but does not own the memory so cannot free <i>pvarField</i>. This method calls <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oleauto/nf-oleauto-variantclear">VariantClear</a> for <i>pvarField</i> before filling in the requested field.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-irecordinfo-getfieldnocopy#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.PutField(System.UInt32,System.Void*,System.String,Windows.Win32.System.Variant.VARIANT@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.PutField(System.UInt32,System.Void*,Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Variant.VARIANT*)"/>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.PutField(System.UInt32,System.Void*,Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Variant.VARIANT*)">
            <summary>Puts a variant into a field.</summary>
            <param name="wFlags">
            <para>The only legal values for the wFlags parameter is INVOKE_PROPERTYPUT or INVOKE_PROPERTYPUTREF. If INVOKE_PROPERTYPUTREF is passed in then <b>PutField</b> just assigns the value of the variant that is passed in to the field using normal coercion rules. If INVOKE_PROPERTYPUT is passed in then specific rules apply. If the field is declared as a class that derives from <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-idispatch">IDispatch</a> and the field's value is NULL then an error will be returned. If the field's value is not NULL then the variant will be passed to the default property supported by the object referenced by the field. If the field is not declared as a class derived from <b>IDispatch</b> then an error will be returned. If the field is declared as a variant of type VT_Dispatch then the default value of the object is assigned to the field. Otherwise, the variant's value is assigned to the field.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-irecordinfo-putfield#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pvData">The pointer to an instance of the record.</param>
            <param name="szFieldName">The name of the field of the record.</param>
            <param name="pvarField">The pointer to the variant.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-irecordinfo-putfield">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.PutFieldNoCopy(System.UInt32,System.Void*,System.String,Windows.Win32.System.Variant.VARIANT@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.PutFieldNoCopy(System.UInt32,System.Void*,Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Variant.VARIANT*)"/>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.PutFieldNoCopy(System.UInt32,System.Void*,Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Variant.VARIANT*)">
            <summary>Passes ownership of the data to the assigned field by placing the actual data into the field.</summary>
            <param name="wFlags">The only legal values for the wFlags parameter is INVOKE_PROPERTYPUT or INVOKE_PROPERTYPUTREF.</param>
            <param name="pvData">An instance of the record described by <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-irecordinfo">IRecordInfo</a>.</param>
            <param name="szFieldName">The name of the field of the record.</param>
            <param name="pvarField">The variant to be put into the field.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-irecordinfo-putfieldnocopy">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.GetFieldNames(System.UInt32@,Windows.Win32.SysFreeStringSafeHandle@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.GetFieldNames(System.UInt32*,Windows.Win32.Foundation.BSTR*)"/>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.GetFieldNames(System.UInt32*,Windows.Win32.Foundation.BSTR*)">
            <summary>Gets the names of the fields of the record.</summary>
            <param name="pcNames">The number of names to return.</param>
            <param name="rgBstrNames">
            <para>The name of the array of type BSTR. If the <i>rgBstrNames</i> parameter is NULL, then <i>pcNames</i> is returned with the number of field names. It the <i>rgBstrNames</i> parameter is not NULL, then the string names contained in <i>rgBstrNames</i> are returned. If the number of names in <i>pcNames</i> and <i>rgBstrNames</i> are not equal then the lesser number of the two is the number of returned field names. The caller needs to free the BSTRs inside the array returned in <i>rgBstrNames</i>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-irecordinfo-getfieldnames#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>The caller should allocate memory for the array of BSTRs. If the array is larger than needed, set the unused portion to 0. On return, the caller will need to free each contained BSTR using <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oleauto/nf-oleauto-sysfreestring">SysFreeString</a>. In case of out of memory, <i>pcNames</i> points to error code.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-irecordinfo-getfieldnames#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.IsMatchingType(Windows.Win32.System.Ole.IRecordInfo*)">
            <summary>Determines whether the record that is passed in matches that of the current record information.</summary>
            <param name="pRecordInfo">The information of the record.</param>
            <returns>
            <para></para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-irecordinfo-ismatchingtype">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.RecordCreate">
            <summary>Allocates memory for a new record, initializes the instance and returns a pointer to the record.</summary>
            <returns>This method returns a pointer to the created record.</returns>
            <remarks>
            <para>The memory is set to zeros before it is returned. The records created must be freed by calling <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-irecordinfo-recorddestroy">RecordDestroy</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-irecordinfo-recordcreate#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.RecordCreateCopy(System.Void*,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.RecordCreateCopy(System.Void*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.RecordCreateCopy(System.Void*,System.Void**)">
            <summary>Creates a copy of an instance of a record to the specified location.</summary>
            <param name="pvSource">An instance of the record to be copied.</param>
            <param name="ppvDest">The new record with data copied from <i>pvSource</i>.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>The records created must be freed by calling <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-irecordinfo-recorddestroy">RecordDestroy</a>.</remarks>
        </member>
        <member name="M:Windows.Win32.System.Ole.IRecordInfo.RecordDestroy(System.Void*)">
            <summary>Releases the resources and deallocates the memory of the record.</summary>
            <param name="pvRecord">An instance of the record to be destroyed.</param>
            <returns>
            <para>This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para><a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-irecordinfo-recordclear">RecordClear</a> is called to release the resources held by the instance of a record without deallocating memory. <div class="alert"><b>Note</b>  This method can only be called on records allocated through <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-irecordinfo-recordcreate">RecordCreate</a> and <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nf-oaidl-irecordinfo-recordcreatecopy">RecordCreateCopy</a>. If you allocate the record yourself, you cannot call this method.</div> <div> </div></para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/nf-oaidl-irecordinfo-recorddestroy#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Ole.IRecordInfo.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{0000002f-0000-0000-c000-000000000046}</value>
        </member>
        <member name="T:Windows.Win32.System.Ole.PARAMDESC">
            <summary>Contains information needed for transferring a structure element, parameter, or function return value between processes.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ns-oaidl-paramdesc">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Ole.PARAMDESC.pparamdescex">
            <summary>The default value for the parameter, if PARAMFLAG_FHASDEFAULT is specified in <b>wParamFlags</b>.</summary>
        </member>
        <member name="F:Windows.Win32.System.Ole.PARAMDESC.wParamFlags">
            <summary>The parameter flags. See <a href="https://docs.microsoft.com/previous-versions/windows/desktop/automat/paramflags">PARAMFLAG Constants</a>.</summary>
        </member>
        <member name="T:Windows.Win32.System.Ole.PARAMDESCEX">
            <summary>Contains information about the default value of a parameter.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ns-oaidl-paramdescex">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Ole.PARAMDESCEX.cBytes">
            <summary>The size of the structure.</summary>
        </member>
        <member name="F:Windows.Win32.System.Ole.PARAMDESCEX.varDefaultValue">
            <summary>The default value of the parameter.</summary>
        </member>
        <member name="T:Windows.Win32.System.Variant.VARENUM">
            <summary>Specifies the variant types.</summary>
            <remarks>
            <para>The following table shows where these values can be used. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wtypes/ne-wtypes-varenum#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_EMPTY">
            <summary>Not specified.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_NULL">
            <summary>Null.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_I2">
            <summary>A 2-byte integer.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_I4">
            <summary>A 4-byte integer.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_R4">
            <summary>A 4-byte real.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_R8">
            <summary>An 8-byte real.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_CY">
            <summary>Currency.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_DATE">
            <summary>A date.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_BSTR">
            <summary>A string.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_DISPATCH">
            <summary>An <a href="https://docs.microsoft.com/previous-versions/windows/desktop/api/oaidl/nn-oaidl-idispatch">IDispatch</a> pointer.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_ERROR">
            <summary>An SCODE value.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_BOOL">
            <summary>A Boolean value. True is -1 and false is 0.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_VARIANT">
            <summary>A variant pointer.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_UNKNOWN">
            <summary>An <a href="https://docs.microsoft.com/windows/desktop/api/unknwn/nn-unknwn-iunknown">IUnknown</a> pointer.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_DECIMAL">
            <summary>A 16-byte fixed-pointer value.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_I1">
            <summary>A character.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_UI1">
            <summary>An unsigned character.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_UI2">
            <summary>An unsigned short.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_UI4">
            <summary>An unsigned long.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_I8">
            <summary>A 64-bit integer.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_UI8">
            <summary>A 64-bit unsigned integer.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_INT">
            <summary>An integer.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_UINT">
            <summary>An unsigned integer.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_VOID">
            <summary>A C-style void.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_HRESULT">
            <summary>An HRESULT value.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_PTR">
            <summary>A pointer type.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_SAFEARRAY">
            <summary>A safe array. Use VT_ARRAY in VARIANT.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_CARRAY">
            <summary>A C-style array.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_USERDEFINED">
            <summary>A user-defined type.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_LPSTR">
            <summary>A null-terminated string.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_LPWSTR">
            <summary>A wide null-terminated string.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_RECORD">
            <summary>A user-defined type.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_INT_PTR">
            <summary>A signed machine register size width.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_UINT_PTR">
            <summary>An unsigned machine register size width.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_FILETIME">
            <summary>A <a href="https://docs.microsoft.com/windows/desktop/api/minwinbase/ns-minwinbase-filetime">FILETIME</a> value.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_BLOB">
            <summary>Length-prefixed bytes.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_STREAM">
            <summary>The name of the stream follows.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_STORAGE">
            <summary>The name of the storage follows.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_STREAMED_OBJECT">
            <summary>The stream contains an object.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_STORED_OBJECT">
            <summary>The storage contains an object.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_BLOB_OBJECT">
            <summary>The blob contains an object.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_CF">
            <summary>A clipboard format.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_CLSID">
            <summary>A class ID.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_VERSIONED_STREAM">
            <summary>A stream with a GUID version.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_BSTR_BLOB">
            <summary>Reserved.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_VECTOR">
            <summary>A simple counted array.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_ARRAY">
            <summary>A SAFEARRAY pointer.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_BYREF">
            <summary>A void pointer for local use.</summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_RESERVED">
            <summary></summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_ILLEGAL">
            <summary></summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_ILLEGALMASKED">
            <summary></summary>
        </member>
        <member name="F:Windows.Win32.System.Variant.VARENUM.VT_TYPEMASK">
            <summary></summary>
        </member>
        <member name="T:Windows.Win32.System.Variant.VARIANT">
            <summary>VARIANTARG describes arguments passed within DISPPARAMS, and VARIANT to specify variant data that cannot be passed by reference.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ns-oaidl-variant">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="T:Windows.Win32.UI.Shell.APPBARDATA">
            <summary>Contains information about a system appbar message.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/shellapi/ns-shellapi-appbardata">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.UI.Shell.APPBARDATA.cbSize">
            <summary>
            <para>Type: <b>DWORD</b> The size of the structure, in bytes.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/shellapi/ns-shellapi-appbardata#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.Shell.APPBARDATA.hWnd">
            <summary>
            <para>Type: <b>HWND</b> The handle to the appbar window. Not all messages use this member. See the individual message page to see if you need to provide an <b>hWind</b> value.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/shellapi/ns-shellapi-appbardata#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.Shell.APPBARDATA.uCallbackMessage">
            <summary>
            <para>Type: <b>UINT</b> An application-defined message identifier. The application uses the specified identifier for notification messages that it sends to the appbar identified by the <b>hWnd</b> member. This member is used when sending the <a href="https://docs.microsoft.com/windows/desktop/shell/abm-new">ABM_NEW</a> message.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/shellapi/ns-shellapi-appbardata#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.Shell.APPBARDATA.uEdge">
            <summary>
            <para>Type: <b>UINT</b> A value that specifies an edge of the screen. This member is used when sending one of these messages: </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/shellapi/ns-shellapi-appbardata#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.Shell.APPBARDATA.rc">
            <summary>
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/windef/ns-windef-rect">RECT</a></b> A <a href="https://docs.microsoft.com/windows/desktop/api/windef/ns-windef-rect">RECT</a> structure whose use varies depending on the message:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/shellapi/ns-shellapi-appbardata#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.Shell.APPBARDATA.lParam">
            <summary>
            <para>Type: <b>LPARAM</b> A message-dependent value. This member is used with these messages: </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/shellapi/ns-shellapi-appbardata#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="M:Windows.Win32.UI.Shell.IDataTransferManagerInterop.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.UI.Shell.IDataTransferManagerInterop.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.UI.Shell.IDataTransferManagerInterop.GetForWindow(Windows.Win32.Foundation.HWND,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.UI.Shell.IDataTransferManagerInterop.GetForWindow(Windows.Win32.Foundation.HWND,System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.UI.Shell.IDataTransferManagerInterop.GetForWindow(Windows.Win32.Foundation.HWND,System.Guid*)">
            <summary>Gets the DataTransferManager instance for the specified window.</summary>
            <param name="appWindow">The window whose <a href="https://docs.microsoft.com/uwp/api/windows.applicationmodel.datatransfer.datatransfermanager">DataTransferManager</a> instance is to be retrieved.</param>
            <param name="riid">The requested interface ID of the <a href="https://docs.microsoft.com/uwp/api/windows.applicationmodel.datatransfer.datatransfermanager">DataTransferManager</a> instance.</param>
            <returns>If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</returns>
            <remarks>This method is equivalent to the <a href="https://docs.microsoft.com/uwp/api/windows.applicationmodel.datatransfer.datatransfermanager.getforcurrentview">DataTransferManager.GetForCurrentView</a> method, except that you specify a window from a multi-window Windows Store app.</remarks>
        </member>
        <member name="M:Windows.Win32.UI.Shell.IDataTransferManagerInterop.ShowShareUIForWindow(Windows.Win32.Foundation.HWND)">
            <summary>Displays the UI for sharing content for the specified window.</summary>
            <param name="appWindow">The window to show the share UI for.</param>
            <returns>If this method succeeds, it returns <b>S_OK</b>. Otherwise, it returns an <b>HRESULT</b> error code.</returns>
            <remarks>This method is equivalent to the <a href="https://docs.microsoft.com/uwp/api/windows.applicationmodel.datatransfer.datatransfermanager.showshareui">DataTransferManager.ShowShareUI</a> method, except that you specify a window from a multi-window Windows Store app.</remarks>
        </member>
        <member name="F:Windows.Win32.UI.Shell.IDataTransferManagerInterop.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{3a3dcd6c-3eab-43dc-bcde-45671ce800c8}</value>
        </member>
        <member name="T:Windows.Win32.UI.WindowsAndMessaging.CREATESTRUCTW">
            <summary>Defines the initialization parameters passed to the window procedure of an application. These members are identical to the parameters of the CreateWindowEx function. (Unicode)</summary>
            <remarks>
            <para>Because the <b>lpszClass</b> member can contain a pointer to a local (and thus inaccessible) atom, do not obtain the class name by using this member. Use the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getclassname">GetClassName</a> function instead. You should access the data represented by the <b>lpCreateParams</b> member using a pointer that has been declared using the <b>UNALIGNED</b> type, because the pointer may not be <b>DWORD</b> aligned. This is demonstrated in the following example:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-createstructw#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.CREATESTRUCTW.lpCreateParams">
            <summary>
            <para>Type: <b>LPVOID</b> Contains additional data which may be used to create the window. If the window is being created as a result of a call to the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-createwindowa">CreateWindow</a> or <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-createwindowexa">CreateWindowEx</a> function, this member contains the value of the <i>lpParam</i> parameter specified in the function call. If the window being created is a MDI client window, this member contains a pointer to a <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-clientcreatestruct">CLIENTCREATESTRUCT</a> structure. If the window being created is a MDI child window, this member contains a pointer to an <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-mdicreatestructa">MDICREATESTRUCT</a> structure. If the window is being created from a dialog template, this member is the address of a <b>SHORT</b> value that specifies the size, in bytes, of the window creation data. The value is immediately followed by the creation data. For more information, see the following Remarks section.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-createstructw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.CREATESTRUCTW.hInstance">
            <summary>
            <para>Type: <b>HINSTANCE</b> A handle to the module that owns the new window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-createstructw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.CREATESTRUCTW.hMenu">
            <summary>
            <para>Type: <b>HMENU</b> A handle to the menu to be used by the new window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-createstructw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.CREATESTRUCTW.hwndParent">
            <summary>
            <para>Type: <b>HWND</b> A handle to the parent window, if the window is a child window. If the window is owned, this member identifies the owner window. If the window is not a child or owned window, this member is <b>NULL</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-createstructw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.CREATESTRUCTW.cy">
            <summary>
            <para>Type: <b>int</b> The height of the new window, in pixels.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-createstructw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.CREATESTRUCTW.cx">
            <summary>
            <para>Type: <b>int</b> The width of the new window, in pixels.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-createstructw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.CREATESTRUCTW.y">
            <summary>
            <para>Type: <b>int</b> The y-coordinate of the upper left corner of the new window. If the new window is a child window, coordinates are relative to the parent window. Otherwise, the coordinates are relative to the screen origin.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-createstructw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.CREATESTRUCTW.x">
            <summary>
            <para>Type: <b>int</b> The x-coordinate of the upper left corner of the new window. If the new window is a child window, coordinates are relative to the parent window. Otherwise, the coordinates are relative to the screen origin.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-createstructw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.CREATESTRUCTW.lpszName">
            <summary>
            <para>Type: <b>LPCTSTR</b> The name of the new window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-createstructw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.CREATESTRUCTW.lpszClass">
            <summary>
            <para>Type: <b>LPCTSTR</b> A pointer to a null-terminated string or an atom that specifies the class name of the new window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-createstructw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.CREATESTRUCTW.dwExStyle">
            <summary>
            <para>Type: <b>DWORD</b> The extended window style for the new window. For a list of possible values, see  <a href="https://docs.microsoft.com/windows/desktop/winmsg/extended-window-styles">Extended Window Styles</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-createstructw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="T:Windows.Win32.UI.WindowsAndMessaging.MINMAXINFO">
            <summary>Contains information about a window's maximized size and position and its minimum and maximum tracking size.</summary>
            <remarks>For systems with multiple monitors, the <b>ptMaxSize</b> and <b>ptMaxPosition</b> members describe the maximized size and position of the window on the primary monitor, even if the window ultimately maximizes onto a secondary monitor. In that case, the window manager adjusts these values to compensate for differences between the primary monitor and the monitor that displays the window. Thus, if the user leaves <b>ptMaxSize</b> untouched, a window on a monitor larger than the primary monitor maximizes to the size of the larger monitor.</remarks>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.MINMAXINFO.ptReserved">
            <summary>
            <para>Type: <b><a href="https://docs.microsoft.com/windows/win32/api/windef/ns-windef-point">POINT</a></b> Reserved; do not use.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-minmaxinfo#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.MINMAXINFO.ptMaxSize">
            <summary>
            <para>Type: <b><a href="https://docs.microsoft.com/windows/win32/api/windef/ns-windef-point">POINT</a></b> The maximized width (<b>x</b> member) and the maximized height (<b>y</b> member) of the window. For top-level windows, this value is based on the width of the primary monitor.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-minmaxinfo#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.MINMAXINFO.ptMaxPosition">
            <summary>
            <para>Type: <b><a href="https://docs.microsoft.com/windows/win32/api/windef/ns-windef-point">POINT</a></b> The position of the left side of the maximized window (<b>x</b> member) and the position of the top of the maximized window (<b>y</b> member). For top-level windows, this value is based on the position of the primary monitor.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-minmaxinfo#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.MINMAXINFO.ptMinTrackSize">
            <summary>
            <para>Type: <b><a href="https://docs.microsoft.com/windows/win32/api/windef/ns-windef-point">POINT</a></b> The minimum tracking width (<b>x</b> member) and the minimum tracking height (<b>y</b> member) of the window. This value can be obtained programmatically from the system metrics <b>SM_CXMINTRACK</b> and <b>SM_CYMINTRACK</b> (see the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getsystemmetrics">GetSystemMetrics</a> function).</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-minmaxinfo#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.MINMAXINFO.ptMaxTrackSize">
            <summary>
            <para>Type: <b><a href="https://docs.microsoft.com/windows/win32/api/windef/ns-windef-point">POINT</a></b> The maximum tracking width (<b>x</b> member) and the maximum tracking height (<b>y</b> member) of the window. This value is based on the size of the virtual screen and can be obtained programmatically from the system metrics <b>SM_CXMAXTRACK</b> and <b>SM_CYMAXTRACK</b> (see the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getsystemmetrics">GetSystemMetrics</a> function).</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-minmaxinfo#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="T:Windows.Win32.UI.WindowsAndMessaging.MSG">
            <summary>Contains message information from a thread's message queue.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-msg">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.MSG.hwnd">
            <summary>
            <para>Type: <b>HWND</b> A handle to the window whose window procedure receives the message. This member is <b>NULL</b> when the message is a thread message.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-msg#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.MSG.message">
            <summary>
            <para>Type: <b>UINT</b> The message identifier. Applications can only use the low word; the high word is reserved by the system.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-msg#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.MSG.wParam">
            <summary>
            <para>Type: <b>WPARAM</b> Additional information about the message. The exact meaning depends on the value of the <b>message</b> member.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-msg#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.MSG.lParam">
            <summary>
            <para>Type: <b>LPARAM</b> Additional information about the message. The exact meaning depends on the value of the <b>message</b> member.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-msg#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.MSG.time">
            <summary>
            <para>Type: <b>DWORD</b> The time at which the message was posted.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-msg#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.MSG.pt">
            <summary>
            <para>Type: <b><a href="https://docs.microsoft.com/windows/win32/api/windef/ns-windef-point">POINT</a></b> The cursor position, in screen coordinates, when the message was posted.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-msg#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="T:Windows.Win32.UI.WindowsAndMessaging.NCCALCSIZE_PARAMS">
            <summary>Contains information that an application can use while processing the WM_NCCALCSIZE message to calculate the size, position, and valid contents of the client area of a window.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-nccalcsize_params">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.NCCALCSIZE_PARAMS.rgrc">
            <summary>
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/windef/ns-windef-rect">RECT</a>[3]</b> An array of rectangles. The meaning of the array of rectangles changes during the processing of the <a href="https://docs.microsoft.com/windows/desktop/winmsg/wm-nccalcsize">WM_NCCALCSIZE</a> message. When the window procedure receives the <a href="https://docs.microsoft.com/windows/desktop/winmsg/wm-nccalcsize">WM_NCCALCSIZE</a> message, the first rectangle contains the new coordinates of a window that has been moved or resized, that is, it is the proposed new window coordinates. The second contains the coordinates of the window before it was moved or resized. The third contains the coordinates of the window's client area before the window was moved or resized. If the window is a child window, the coordinates are relative to the client area of the parent window. If the window is a top-level window, the coordinates are relative to the screen origin. When the window procedure returns, the first rectangle contains the coordinates of the new client rectangle resulting from the move or resize.  The second rectangle contains the valid destination rectangle, and the third rectangle contains the valid source rectangle.  The last two rectangles are used in conjunction with the return value of the <a href="https://docs.microsoft.com/windows/desktop/winmsg/wm-nccalcsize">WM_NCCALCSIZE</a> message to determine the area of the window to be preserved.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-nccalcsize_params#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.NCCALCSIZE_PARAMS.lppos">
            <summary>
            <para>Type: <b>PWINDOWPOS</b> A pointer to a <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-windowpos">WINDOWPOS</a> structure that contains the size and position values specified in the operation that moved or resized the window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-nccalcsize_params#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="T:Windows.Win32.UI.WindowsAndMessaging.STYLESTRUCT">
            <summary>Contains the styles for a window.</summary>
            <remarks>
            <para>The styles in <b>styleOld</b> and <b>styleNew</b> can be either the window styles (<b>WS_*</b>) or the extended window styles (<b>WS_EX_*</b>), depending on the <i>wParam</i> of the message that includes <b>STYLESTRUCT</b>. The <b>styleOld</b> and <b>styleNew</b> members indicate the styles through their bit pattern. Note that several styles are equal to zero; to detect these styles, test for the negation of their inverse style. For example, to see if <b>WS_EX_LEFT</b> is set, you test for ~<b>WS_EX_RIGHT</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-stylestruct#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.STYLESTRUCT.styleOld">
            <summary>
            <para>Type: <b>DWORD</b> The previous styles for a window. For more information, see the Remarks.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-stylestruct#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.STYLESTRUCT.styleNew">
            <summary>
            <para>Type: <b>DWORD</b> The new styles for a window. For more information, see the Remarks.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-stylestruct#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="T:Windows.Win32.UI.WindowsAndMessaging.WINDOWPLACEMENT">
            <summary>Contains information about the placement of a window on the screen.</summary>
            <remarks>
            <para>If the window is a top-level window that does not have the <b>WS_EX_TOOLWINDOW</b> window style, then the coordinates represented by the following members are in workspace coordinates: <b>ptMinPosition</b>, <b>ptMaxPosition</b>, and <b>rcNormalPosition</b>. Otherwise, these members are in screen coordinates. Workspace coordinates differ from screen coordinates in that they take the locations and sizes of application toolbars (including the taskbar) into account. Workspace coordinate (0,0) is the upper-left corner of the workspace area, the area of the screen not being used by application toolbars. The coordinates used in a <b>WINDOWPLACEMENT</b> structure should be used only by the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getwindowplacement">GetWindowPlacement</a> and <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-setwindowplacement">SetWindowPlacement</a> functions. Passing workspace coordinates to functions which expect screen coordinates (such as <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-setwindowpos">SetWindowPos</a>) will result in the window appearing in the wrong location. For example, if the taskbar is at the top of the screen, saving window coordinates using <b>GetWindowPlacement</b> and restoring them using <b>SetWindowPos</b> causes the window to appear to "creep" up the screen.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-windowplacement#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WINDOWPLACEMENT.length">
            <summary>
            <para>Type: <b>UINT</b> The length of the structure, in bytes. Before calling the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getwindowplacement">GetWindowPlacement</a> or <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-setwindowplacement">SetWindowPlacement</a> functions, set this member to <c>sizeof(WINDOWPLACEMENT)</c>.</para>
            <para><a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getwindowplacement">GetWindowPlacement</a> and <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-setwindowplacement">SetWindowPlacement</a> fail if this member is not set correctly.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-windowplacement#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WINDOWPLACEMENT.flags">
            <summary>Type: <b>UINT</b></summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WINDOWPLACEMENT.ptMinPosition">
            <summary>
            <para>Type: <b><a href="https://docs.microsoft.com/windows/win32/api/windef/ns-windef-point">POINT</a></b> The coordinates of the window's upper-left corner when the window is minimized.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-windowplacement#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WINDOWPLACEMENT.ptMaxPosition">
            <summary>
            <para>Type: <b><a href="https://docs.microsoft.com/windows/win32/api/windef/ns-windef-point">POINT</a></b> The coordinates of the window's upper-left corner when the window is maximized.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-windowplacement#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WINDOWPLACEMENT.rcNormalPosition">
            <summary>
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/windef/ns-windef-rect">RECT</a></b> The window's coordinates when the window is in the restored position.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-windowplacement#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="T:Windows.Win32.UI.WindowsAndMessaging.WINDOWPOS">
            <summary>Contains information about the size and position of a window.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-windowpos">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WINDOWPOS.hwnd">
            <summary>
            <para>Type: <b>HWND</b> A handle to the window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-windowpos#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WINDOWPOS.hwndInsertAfter">
            <summary>
            <para>Type: <b>HWND</b> The position of the window in Z order (front-to-back position). This member can be a handle to the window behind which this window is placed, or can be one of the special values listed with the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-setwindowpos">SetWindowPos</a> function.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-windowpos#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WINDOWPOS.x">
            <summary>
            <para>Type: <b>int</b> The position of the left edge of the window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-windowpos#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WINDOWPOS.y">
            <summary>
            <para>Type: <b>int</b> The position of the top edge of the window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-windowpos#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WINDOWPOS.cx">
            <summary>
            <para>Type: <b>int</b> The window width, in pixels.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-windowpos#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WINDOWPOS.cy">
            <summary>
            <para>Type: <b>int</b> The window height, in pixels.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-windowpos#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WINDOWPOS.flags">
            <summary>Type: <b>UINT</b></summary>
        </member>
        <member name="T:Windows.Win32.UI.WindowsAndMessaging.WNDCLASSEXW">
            <summary>Contains window class information. (Unicode)</summary>
            <remarks>
            <para>> [!NOTE] > The winuser.h header defines WNDCLASSEX as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes).</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-wndclassexw#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WNDCLASSEXW.cbSize">
            <summary>
            <para>Type: <b>UINT</b> The size, in bytes, of this structure. Set this member to <c>sizeof(WNDCLASSEX)</c>. Be sure to set this member before calling the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getclassinfoexa">GetClassInfoEx</a> function.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-wndclassexw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WNDCLASSEXW.style">
            <summary>
            <para>Type: <b>UINT</b> The class style(s). This member can be any combination of the <a href="https://docs.microsoft.com/windows/win32/winmsg/window-class-styles">Class Styles</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-wndclassexw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WNDCLASSEXW.lpfnWndProc">
            <summary>
            <para>Type: <b>WNDPROC</b> A pointer to the window procedure. You must use the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-callwindowproca">CallWindowProc</a> function to call the window procedure. For more information, see <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/ms633573(v=vs.85)">WindowProc</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-wndclassexw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WNDCLASSEXW.cbClsExtra">
            <summary>
            <para>Type: <b>int</b> The number of extra bytes to allocate following the window-class structure. The system initializes the bytes to zero.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-wndclassexw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WNDCLASSEXW.cbWndExtra">
            <summary>
            <para>Type: <b>int</b> The number of extra bytes to allocate following the window instance. The system initializes the bytes to zero. If an application uses <b>WNDCLASSEX</b> to register a dialog box created by using the <b>CLASS</b> directive in the resource file, it must set this member to <b>DLGWINDOWEXTRA</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-wndclassexw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WNDCLASSEXW.hInstance">
            <summary>
            <para>Type: <b>HINSTANCE</b> A handle to the instance that contains the window procedure for the class.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-wndclassexw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WNDCLASSEXW.hIcon">
            <summary>
            <para>Type: <b>HICON</b> A handle to the class icon. This member must be a handle to an icon resource. If this member is <b>NULL</b>, the system provides a default icon.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-wndclassexw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WNDCLASSEXW.hCursor">
            <summary>
            <para>Type: <b>HCURSOR</b> A handle to the class cursor. This member must be a handle to a cursor resource. If this member is <b>NULL</b>, an application must explicitly set the cursor shape whenever the mouse moves into the application's window.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-wndclassexw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WNDCLASSEXW.hbrBackground">
            <summary>
            <para>Type: <b>HBRUSH</b> A handle to the class background brush. This member can be a handle to the brush to be used for painting the background, or it can be a color value. A color value must be one of the following standard system colors (the value 1 must be added to the chosen color). If a color value is given, you must convert it to one of the following <b>HBRUSH</b> types: </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-wndclassexw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WNDCLASSEXW.lpszMenuName">
            <summary>
            <para>Type: <b>LPCTSTR</b> Pointer to a null-terminated character string that specifies the resource name of the class menu, as the name appears in the resource file. If you use an integer to identify the menu, use the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-makeintresourcea">MAKEINTRESOURCE</a> macro. If this member is <b>NULL</b>, windows belonging to this class have no default menu.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-wndclassexw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WNDCLASSEXW.lpszClassName">
            <summary>
            <para>Type: <b>LPCTSTR</b> A pointer to a null-terminated string or is an atom. If this parameter is an atom, it must be a class atom created by a previous call to the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-registerclassa">RegisterClass</a> or <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-registerclassexa">RegisterClassEx</a> function. The atom must be in the low-order word of <b>lpszClassName</b>; the high-order word must be zero.</para>
            <para>If <b>lpszClassName</b> is a string, it specifies the window class name. The class name can be any name registered with <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-registerclassa">RegisterClass</a> or <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-registerclassexa">RegisterClassEx</a>, or any of the predefined control-class names. The maximum length for <b>lpszClassName</b> is 256. If <b>lpszClassName</b> is greater than the maximum length, the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-registerclassexa">RegisterClassEx</a> function will fail.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-wndclassexw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.WindowsAndMessaging.WNDCLASSEXW.hIconSm">
            <summary>
            <para>Type: <b>HICON</b> A handle to a small icon that is associated with the window class. If this member is <b>NULL</b>, the system searches the icon resource specified by the <b>hIcon</b> member for an icon of the appropriate size to use as the small icon.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-wndclassexw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="T:Windows.Win32.UI.Accessibility.HIGHCONTRASTW">
            <summary>Contains information about the high contrast accessibility feature. (Unicode)</summary>
            <remarks>
            <para>An application uses this structure when calling the[SystemParametersInfoW function](nf-winuser-systemparametersinfow.md) with the <b>SPI_GETHIGHCONTRAST</b> or <b>SPI_SETHIGHCONTRAST</b> value. When using <b>SPI_GETHIGHCONTRAST</b>, an application must specify the <b>cbSize</b> member of the <b>HIGHCONTRAST</b> structure; the <b>SystemParametersInfo</b> function fills the remaining members. An application must specify all structure members when using the <b>SPI_SETHIGHCONTRAST</b> value.</para>
            <para>> [!NOTE] > The winuser.h header defines HIGHCONTRAST as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes).</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-highcontrastw#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.UI.Accessibility.HIGHCONTRASTW.cbSize">
            <summary>
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">UINT</a></b> Specifies the size, in bytes, of this structure.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-highcontrastw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.Accessibility.HIGHCONTRASTW.dwFlags">
            <summary>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">DWORD</a></b></summary>
        </member>
        <member name="F:Windows.Win32.UI.Accessibility.HIGHCONTRASTW.lpszDefaultScheme">
            <summary>
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">LPTSTR</a></b> Points to a string that contains the name of the color scheme that will be set to the default scheme. The system allocates this buffer, free it with LocalFree.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-highcontrastw#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="T:Windows.Win32.UI.Controls.MARGINS">
            <summary>Returned by the GetThemeMargins function to define the margins of windows that have visual styles applied.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/uxtheme/ns-uxtheme-margins">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.UI.Controls.MARGINS.cxLeftWidth">
            <summary>
            <para>Type: <b>int</b> Width of the left border that retains its size.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/uxtheme/ns-uxtheme-margins#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.Controls.MARGINS.cxRightWidth">
            <summary>
            <para>Type: <b>int</b> Width of the right border that retains its size.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/uxtheme/ns-uxtheme-margins#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.Controls.MARGINS.cyTopHeight">
            <summary>
            <para>Type: <b>int</b> Height of the top border that retains its size.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/uxtheme/ns-uxtheme-margins#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.Controls.MARGINS.cyBottomHeight">
            <summary>
            <para>Type: <b>int</b> Height of the bottom border that retains its size.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/uxtheme/ns-uxtheme-margins#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="T:Windows.Win32.UI.HiDpi.MONITOR_DPI_TYPE">
            <summary>Identifies the dots per inch (dpi) setting for a monitor.</summary>
            <remarks>All of these settings are affected by the <a href="https://docs.microsoft.com/windows/desktop/api/shellscalingapi/ne-shellscalingapi-process_dpi_awareness">PROCESS_DPI_AWARENESS</a> of your application</remarks>
        </member>
        <member name="F:Windows.Win32.UI.HiDpi.MONITOR_DPI_TYPE.MDT_EFFECTIVE_DPI">
            <summary>The effective DPI. This value should be used when determining the correct scale factor for scaling UI elements. This incorporates the scale factor set by the user for this specific display.</summary>
        </member>
        <member name="F:Windows.Win32.UI.HiDpi.MONITOR_DPI_TYPE.MDT_ANGULAR_DPI">
            <summary>The angular DPI. This DPI ensures rendering at a compliant angular resolution on the screen. This does not include the scale factor set by the user for this specific display.</summary>
        </member>
        <member name="F:Windows.Win32.UI.HiDpi.MONITOR_DPI_TYPE.MDT_RAW_DPI">
            <summary>The raw DPI. This value is the linear DPI of the screen as measured on the screen itself. Use this value when you want to read the pixel density and not the recommended scaling setting. This does not include the scale factor set by the user for this specific display and is not guaranteed to be a supported DPI value.</summary>
        </member>
        <member name="F:Windows.Win32.UI.HiDpi.MONITOR_DPI_TYPE.MDT_DEFAULT">
            <summary>The default DPI setting for a monitor is MDT_EFFECTIVE_DPI.</summary>
        </member>
        <member name="T:Windows.Win32.UI.Input.KeyboardAndMouse.TRACKMOUSEEVENT">
            <summary>Used by the TrackMouseEvent function to track when the mouse pointer leaves a window or hovers over a window for a specified amount of time.</summary>
            <remarks>
            <para>The system default hover time-out is initially the menu drop-down time, which is 400 milliseconds. You can call <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-systemparametersinfoa">SystemParametersInfo</a> and use <b>SPI_GETMOUSEHOVERTIME</b> to retrieve the default hover time-out. The system default hover rectangle is the same as the double-click rectangle. You can call <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-systemparametersinfoa">SystemParametersInfo</a> and use <b>SPI_GETMOUSEHOVERWIDTH</b> and <b>SPI_GETMOUSEHOVERHEIGHT</b> to retrieve the size of the rectangle within which the mouse pointer has to stay for <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-trackmouseevent">TrackMouseEvent</a> to generate a <a href="https://docs.microsoft.com/windows/desktop/inputdev/wm-mousehover">WM_MOUSEHOVER</a> message.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-trackmouseevent#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.UI.Input.KeyboardAndMouse.TRACKMOUSEEVENT.cbSize">
            <summary>
            <para>Type: <b>DWORD</b> The size of the <b>TRACKMOUSEEVENT</b> structure, in bytes.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-trackmouseevent#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.Input.KeyboardAndMouse.TRACKMOUSEEVENT.dwFlags">
            <summary>Type: <b>DWORD</b></summary>
        </member>
        <member name="F:Windows.Win32.UI.Input.KeyboardAndMouse.TRACKMOUSEEVENT.hwndTrack">
            <summary>
            <para>Type: <b>HWND</b> A handle to the window to track.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-trackmouseevent#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.UI.Input.KeyboardAndMouse.TRACKMOUSEEVENT.dwHoverTime">
            <summary>
            <para>Type: <b>DWORD</b> The hover time-out (if <b>TME_HOVER</b> was specified in <b>dwFlags</b>), in milliseconds. Can be <b>HOVER_DEFAULT</b>, which means to use the system default hover time-out.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-trackmouseevent#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <!-- Badly formed XML comment ignored for member "T:Windows.Win32.Graphics.Gdi.BITMAPINFO" -->
        <member name="F:Windows.Win32.Graphics.Gdi.BITMAPINFO.bmiHeader">
            <summary>
            <para>A <a href="https://docs.microsoft.com/windows/win32/api/wingdi/ns-wingdi-bitmapinfoheader">BITMAPINFOHEADER</a> structure that contains information about the dimensions of color format. .</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wingdi/ns-wingdi-bitmapinfo#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.BITMAPINFO.bmiColors">
            <summary>
            <para>The <b>bmiColors</b> member contains one of the following: </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wingdi/ns-wingdi-bitmapinfo#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="M:Windows.Win32.Graphics.Gdi.BITMAPINFO.SizeOf(System.Int32)">
            <summary>Computes the amount of memory that must be allocated to store this struct, including the specified number of elements in the variable length inline array at the end.</summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Gdi.BITMAPINFOHEADER">
            <summary>The BITMAPINFOHEADER structure contains information about the dimensions and color format of a device-independent bitmap (DIB).</summary>
            <remarks>
            <para><h3><a id="Color_Tables"></a><a id="color_tables"></a><a id="COLOR_TABLES"></a>Color Tables</h3> The <b>BITMAPINFOHEADER</b> structure may be followed by an array of palette entries or color masks. The rules depend on the value of <b>biCompression</b>. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wingdi/ns-wingdi-bitmapinfoheader#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.BITMAPINFOHEADER.biSize">
            <summary>Specifies the number of bytes required by the structure. This value does not include the size of the color table or the size of the color masks, if they are appended to the end of structure. See Remarks.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.BITMAPINFOHEADER.biWidth">
            <summary>Specifies the width of the bitmap, in pixels. For information about calculating the stride of the bitmap, see Remarks.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.BITMAPINFOHEADER.biHeight">
            <summary>
            <para>Specifies the height of the bitmap, in pixels. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wingdi/ns-wingdi-bitmapinfoheader#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.BITMAPINFOHEADER.biPlanes">
            <summary>Specifies the number of planes for the target device. This value must be set to 1.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.BITMAPINFOHEADER.biBitCount">
            <summary>Specifies the number of bits per pixel (bpp). For uncompressed formats, this value is the average number of bits per pixel. For compressed formats, this value is the implied bit depth of the uncompressed image, after the image has been decoded.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.BITMAPINFOHEADER.biCompression">
            <summary>
            <para>For compressed video and YUV formats, this member is a FOURCC code, specified as a <b>DWORD</b> in little-endian order. For example, YUYV video has the FOURCC 'VYUY' or 0x56595559. For more information, see <a href="https://docs.microsoft.com/windows/desktop/DirectShow/fourcc-codes">FOURCC Codes</a>. For uncompressed RGB formats, the following values are possible: </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wingdi/ns-wingdi-bitmapinfoheader#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.BITMAPINFOHEADER.biSizeImage">
            <summary>Specifies the size, in bytes, of the image. This can be set to 0 for uncompressed RGB bitmaps.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.BITMAPINFOHEADER.biXPelsPerMeter">
            <summary>Specifies the horizontal resolution, in pixels per meter, of the target device for the bitmap.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.BITMAPINFOHEADER.biYPelsPerMeter">
            <summary>Specifies the vertical resolution, in pixels per meter, of the target device for the bitmap.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.BITMAPINFOHEADER.biClrUsed">
            <summary>Specifies the number of color indices in the color table that are actually used by the bitmap. See Remarks for more information.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.BITMAPINFOHEADER.biClrImportant">
            <summary>Specifies the number of color indices that are considered important for displaying the bitmap. If this value is zero, all colors are important.</summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Gdi.BLENDFUNCTION">
            <summary>The BLENDFUNCTION structure controls blending by specifying the blending functions for source and destination bitmaps.</summary>
            <remarks>
            <para>When the <b>AlphaFormat</b> member is AC_SRC_ALPHA, the source bitmap must be 32 bpp. If it is not, the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/nf-wingdi-alphablend">AlphaBlend</a> function will fail. When the <b>BlendOp</b> member is AC_SRC_OVER, the source bitmap is placed over the destination bitmap based on the alpha values of the source pixels. If the source bitmap has no per-pixel alpha value (that is, AC_SRC_ALPHA is not set), the <b>SourceConstantAlpha</b> value determines the blend of the source and destination bitmaps, as shown in the following table. Note that SCA is used for <b>SourceConstantAlpha</b> here. Also, SCA is divided by 255 because it has a value that ranges from 0 to 255. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wingdi/ns-wingdi-blendfunction#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.BLENDFUNCTION.BlendOp">
            <summary>The source blend operation. Currently, the only source and destination blend operation that has been defined is AC_SRC_OVER. For details, see the following Remarks section.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.BLENDFUNCTION.BlendFlags">
            <summary>Must be zero.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.BLENDFUNCTION.SourceConstantAlpha">
            <summary>Specifies an alpha transparency value to be used on the entire source bitmap. The <b>SourceConstantAlpha</b> value is combined with any per-pixel alpha values in the source bitmap. If you set <b>SourceConstantAlpha</b> to 0, it is assumed that your image is transparent. Set the <b>SourceConstantAlpha</b> value to 255 (opaque) when you only want to use per-pixel alpha values.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.BLENDFUNCTION.AlphaFormat">
            <summary>
            <para>This member controls the way the source and destination bitmaps are interpreted. <b>AlphaFormat</b> has the following value. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wingdi/ns-wingdi-blendfunction#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Gdi.MONITORINFO">
            <summary>The MONITORINFO structure contains information about a display monitor.The GetMonitorInfo function stores information in a MONITORINFO structure or a MONITORINFOEX structure.The MONITORINFO structure is a subset of the MONITORINFOEX structure.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-monitorinfo">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.MONITORINFO.cbSize">
            <summary>
            <para>The size of the structure, in bytes. Set this member to <c>sizeof ( MONITORINFO )</c> before calling the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getmonitorinfoa">GetMonitorInfo</a> function. Doing so lets the function determine the type of structure you are passing to it.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-monitorinfo#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.MONITORINFO.rcMonitor">
            <summary>A <a href="https://docs.microsoft.com/windows/desktop/api/windef/ns-windef-rect">RECT</a> structure that specifies the display monitor rectangle, expressed in virtual-screen coordinates. Note that if the monitor is not the primary display monitor, some of the rectangle's coordinates may be negative values.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.MONITORINFO.rcWork">
            <summary>A <a href="https://docs.microsoft.com/windows/desktop/api/windef/ns-windef-rect">RECT</a> structure that specifies the work area rectangle of the display monitor, expressed in virtual-screen coordinates. Note that if the monitor is not the primary display monitor, some of the rectangle's coordinates may be negative values.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.MONITORINFO.dwFlags">
            <summary>
            <para>A set of flags that represent attributes of the display monitor. The following flag is defined. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-monitorinfo#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Gdi.MONITORINFOEXW">
            <summary>The MONITORINFOEX structure contains information about a display monitor.The GetMonitorInfo function stores information into a MONITORINFOEX structure or a MONITORINFO structure.The MONITORINFOEX structure is a superset of the MONITORINFO structure. (Unicode)</summary>
            <remarks>
            <para>> [!NOTE] > The winuser.h header defines MONITORINFOEX as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes).</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-monitorinfoexw#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.MONITORINFOEXW.szDevice">
            <summary>A string that specifies the device name of the monitor being used.  Most applications have no use for a display monitor name, and so can save some bytes by using a <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-monitorinfo">MONITORINFO</a> structure.</summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Gdi.PAINTSTRUCT">
            <summary>The PAINTSTRUCT structure contains information for an application. This information can be used to paint the client area of a window owned by that application.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/ns-winuser-paintstruct">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.PAINTSTRUCT.hdc">
            <summary>A handle to the display DC to be used for painting.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.PAINTSTRUCT.fErase">
            <summary>Indicates whether the background must be erased. This value is nonzero if the application should erase the background. The application is responsible for erasing the background if a window class is created without a background brush. For more information, see the description of the <b>hbrBackground</b> member of the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/ns-winuser-wndclassa">WNDCLASS</a> structure.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.PAINTSTRUCT.rcPaint">
            <summary>A <a href="https://docs.microsoft.com/windows/desktop/api/windef/ns-windef-rect">RECT</a> structure that specifies the upper left and lower right corners of the rectangle in which the painting is requested, in device units relative to the upper-left corner of the client area.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.PAINTSTRUCT.fRestore">
            <summary>Reserved; used internally by the system.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.PAINTSTRUCT.fIncUpdate">
            <summary>Reserved; used internally by the system.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.PAINTSTRUCT.rgbReserved">
            <summary>Reserved; used internally by the system.</summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Gdi.RGBQUAD">
            <summary>The RGBQUAD structure describes a color consisting of relative intensities of red, green, and blue.</summary>
            <remarks>The <b>bmiColors</b> member of the <a href="https://docs.microsoft.com/windows/desktop/api/wingdi/ns-wingdi-bitmapinfo">BITMAPINFO</a> structure consists of an array of <b>RGBQUAD</b> structures.</remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.RGBQUAD.rgbBlue">
            <summary>The intensity of blue in the color.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.RGBQUAD.rgbGreen">
            <summary>The intensity of green in the color.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.RGBQUAD.rgbRed">
            <summary>The intensity of red in the color.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Gdi.RGBQUAD.rgbReserved">
            <summary>This member is reserved and must be zero.</summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE">
            <summary>Flags used by the [DwmGetWindowAttribute](/windows/desktop/api/dwmapi/nf-dwmapi-dwmgetwindowattribute) and [DwmSetWindowAttribute](/windows/desktop/api/dwmapi/nf-dwmapi-dwmsetwindowattribute) functions.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_NCRENDERING_ENABLED">
            <summary>Use with <a href="https://docs.microsoft.com/windows/desktop/api/dwmapi/nf-dwmapi-dwmgetwindowattribute">DwmGetWindowAttribute</a>. Discovers whether non-client rendering is enabled. The retrieved value is of type <b>BOOL</b>. <b>TRUE</b> if non-client rendering is enabled; otherwise, <b>FALSE</b>.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_NCRENDERING_POLICY">
            <summary>Use with <a href="https://docs.microsoft.com/windows/desktop/api/dwmapi/nf-dwmapi-dwmsetwindowattribute">DwmSetWindowAttribute</a>. Sets the non-client rendering policy. The <i>pvAttribute</i> parameter points to a value from the <a href="https://docs.microsoft.com/windows/desktop/api/dwmapi/ne-dwmapi-dwmncrenderingpolicy">DWMNCRENDERINGPOLICY</a> enumeration.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_TRANSITIONS_FORCEDISABLED">
            <summary>Use with <a href="https://docs.microsoft.com/windows/desktop/api/dwmapi/nf-dwmapi-dwmsetwindowattribute">DwmSetWindowAttribute</a>. Enables or forcibly disables DWM transitions. The <i>pvAttribute</i> parameter points to a value of type <b>BOOL</b>. <b>TRUE</b> to disable transitions, or <b>FALSE</b> to enable transitions.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_ALLOW_NCPAINT">
            <summary>Use with <a href="https://docs.microsoft.com/windows/desktop/api/dwmapi/nf-dwmapi-dwmsetwindowattribute">DwmSetWindowAttribute</a>. Enables content rendered in the non-client area to be visible on the frame drawn by DWM. The <i>pvAttribute</i> parameter points to a value of type <b>BOOL</b>. <b>TRUE</b> to enable content rendered in the non-client area to be visible on the frame; otherwise, <b>FALSE</b>.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_CAPTION_BUTTON_BOUNDS">
            <summary>Use with <a href="https://docs.microsoft.com/windows/desktop/api/dwmapi/nf-dwmapi-dwmgetwindowattribute">DwmGetWindowAttribute</a>. Retrieves the bounds of the caption button area in the window-relative space. The retrieved value is of type <a href="https://docs.microsoft.com/windows/desktop/api/windef/ns-windef-rect">RECT</a>. If the window is minimized or otherwise not visible to the user, then the value of the **RECT** retrieved is undefined. You should check whether the retrieved **RECT** contains a boundary that you can work with, and if it doesn't then you can conclude that the window is minimized or otherwise not visible.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_NONCLIENT_RTL_LAYOUT">
            <summary>Use with <a href="https://docs.microsoft.com/windows/desktop/api/dwmapi/nf-dwmapi-dwmsetwindowattribute">DwmSetWindowAttribute</a>. Specifies whether non-client content is right-to-left (RTL) mirrored. The <i>pvAttribute</i> parameter points to a value of type <b>BOOL</b>. <b>TRUE</b> if the non-client content is right-to-left (RTL) mirrored; otherwise, <b>FALSE</b>.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_FORCE_ICONIC_REPRESENTATION">
            <summary>Use with <a href="https://docs.microsoft.com/windows/desktop/api/dwmapi/nf-dwmapi-dwmsetwindowattribute">DwmSetWindowAttribute</a>. Forces the window to display an iconic thumbnail or peek representation (a static bitmap), even if a live or snapshot representation of the window is available. This value is normally set during a window's creation, and not changed throughout the window's lifetime. Some scenarios, however, might require the value to change over time. The <i>pvAttribute</i> parameter points to a value of type <b>BOOL</b>. <b>TRUE</b> to require a iconic thumbnail or peek representation; otherwise, <b>FALSE</b>.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_FLIP3D_POLICY">
            <summary>Use with <a href="https://docs.microsoft.com/windows/desktop/api/dwmapi/nf-dwmapi-dwmsetwindowattribute">DwmSetWindowAttribute</a>. Sets how Flip3D treats the window. The <i>pvAttribute</i> parameter points to a value from the <a href="https://docs.microsoft.com/windows/desktop/api/dwmapi/ne-dwmapi-dwmflip3dwindowpolicy">DWMFLIP3DWINDOWPOLICY</a> enumeration.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_EXTENDED_FRAME_BOUNDS">
            <summary>Use with <a href="https://docs.microsoft.com/windows/desktop/api/dwmapi/nf-dwmapi-dwmgetwindowattribute">DwmGetWindowAttribute</a>. Retrieves the extended frame bounds rectangle in screen space. The retrieved value is of type <a href="https://docs.microsoft.com/windows/desktop/api/windef/ns-windef-rect">RECT</a>.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_HAS_ICONIC_BITMAP">
            <summary>
            <para>Use with <a href="https://docs.microsoft.com/windows/desktop/api/dwmapi/nf-dwmapi-dwmsetwindowattribute">DwmSetWindowAttribute</a>. The window will provide a bitmap for use by DWM as an iconic thumbnail or peek representation (a static bitmap) for the window. <b>DWMWA_HAS_ICONIC_BITMAP</b> can be specified with <b>DWMWA_FORCE_ICONIC_REPRESENTATION</b>. <b>DWMWA_HAS_ICONIC_BITMAP</b> normally is set during a window's creation and not changed throughout the window's lifetime. Some scenarios, however, might require the value to change over time. The <i>pvAttribute</i> parameter points to a value of type <b>BOOL</b>.  <b>TRUE</b> to inform DWM that the window will provide an iconic thumbnail or peek representation; otherwise, <b>FALSE</b>. <b>Windows Vista and earlier: </b>This value is not supported.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_DISALLOW_PEEK">
            <summary>
            <para>Use with <a href="https://docs.microsoft.com/windows/desktop/api/dwmapi/nf-dwmapi-dwmsetwindowattribute">DwmSetWindowAttribute</a>. Do not show peek preview for the window. The peek view shows a full-sized preview of the window when the mouse hovers over the window's thumbnail in the taskbar. If this attribute is set, hovering the mouse pointer over the window's thumbnail dismisses peek (in case another window in the group has a peek preview showing). The <i>pvAttribute</i> parameter points to a value of type <b>BOOL</b>. <b>TRUE</b> to prevent peek functionality, or <b>FALSE</b> to allow it. <b>Windows Vista and earlier: </b>This value is not supported.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_EXCLUDED_FROM_PEEK">
            <summary>
            <para>Use with <a href="https://docs.microsoft.com/windows/desktop/api/dwmapi/nf-dwmapi-dwmsetwindowattribute">DwmSetWindowAttribute</a>. Prevents a window from fading to a glass sheet when peek is invoked. The <i>pvAttribute</i> parameter points to a value of type <b>BOOL</b>. <b>TRUE</b> to prevent the window from fading during another window's peek, or <b>FALSE</b> for normal behavior. <b>Windows Vista and earlier: </b>This value is not supported.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_CLOAK">
            <summary>
            <para>Use with <a href="https://docs.microsoft.com/windows/desktop/api/dwmapi/nf-dwmapi-dwmsetwindowattribute">DwmSetWindowAttribute</a>. Cloaks the window such that it is not visible to the user. The window is still composed by DWM. <b>Using with DirectComposition: </b>Use the DWMWA_CLOAK flag to cloak the layered child window when animating a representation of the window's content via a DirectComposition visual that has been associated with the layered child window. For more details on this usage case, see <a href="https://docs.microsoft.com/windows/desktop/directcomp/how-to--animate-the-bitmap-of-a-layered-child-window">How to animate the bitmap of a layered child window</a>. <b>Windows 7 and earlier: </b>This value is not supported.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_CLOAKED">
            <summary></summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_FREEZE_REPRESENTATION">
            <summary>
            <para>Use with <a href="https://docs.microsoft.com/windows/desktop/api/dwmapi/nf-dwmapi-dwmsetwindowattribute">DwmSetWindowAttribute</a>. Freeze the window's thumbnail image with its current visuals. Do no further live updates on the thumbnail image to match the window's contents. <b>Windows 7 and earlier: </b>This value is not supported.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_USE_HOSTBACKDROPBRUSH">
            <summary>
            <para>Use with [DwmSetWindowAttribute](/windows/win32/api/dwmapi/nf-dwmapi-dwmsetwindowattribute). Enables a non-UWP window to use host backdrop brushes. If this flag is set, then a Win32 app that calls [Windows::UI::Composition](/uwp/api/windows.ui.composition) APIs can build transparency effects using the host backdrop brush (see [Compositor.CreateHostBackdropBrush](/uwp/api/windows.ui.composition.compositor.createhostbackdropbrush)). The <i>pvAttribute</i> parameter points to a value of type <b>BOOL</b>. <b>TRUE</b> to enable host backdrop brushes for the window, or <b>FALSE</b> to disable it. This value is supported starting with Windows 11 Build 22000.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_USE_IMMERSIVE_DARK_MODE">
            <summary>
            <para>Use with [DwmSetWindowAttribute](/windows/win32/api/dwmapi/nf-dwmapi-dwmsetwindowattribute). Allows the window frame for this window to be drawn in dark mode colors when the dark mode system setting is enabled. For compatibility reasons, all windows default to light mode regardless of the system setting. The <i>pvAttribute</i> parameter points to a value of type **BOOL**. <b>TRUE</b> to honor dark mode for the window, <b>FALSE</b> to always use light mode. This value is supported starting with Windows 11 Build 22000.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_WINDOW_CORNER_PREFERENCE">
            <summary>
            <para>Use with [DwmSetWindowAttribute](/windows/win32/api/dwmapi/nf-dwmapi-dwmsetwindowattribute). Specifies the rounded corner preference for a window. The <i>pvAttribute</i> parameter points to a value of type [DWM_WINDOW_CORNER_PREFERENCE](ne-dwmapi-dwm_window_corner_preference.md). This value is supported starting with Windows 11 Build 22000.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_BORDER_COLOR">
            <summary>
            <para>Use with [DwmSetWindowAttribute](/windows/win32/api/dwmapi/nf-dwmapi-dwmsetwindowattribute). Specifies the color of the window border. The <i>pvAttribute</i> parameter points to a value of type [COLORREF](/windows/win32/gdi/colorref). The app is responsible for changing the border color according to state changes, such as a change in window activation. This value is supported starting with Windows 11 Build 22000.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_CAPTION_COLOR">
            <summary>
            <para>Use with [DwmSetWindowAttribute](/windows/win32/api/dwmapi/nf-dwmapi-dwmsetwindowattribute). Specifies the color of the caption. The <i>pvAttribute</i> parameter points to a value of type [COLORREF](/windows/win32/gdi/colorref). This value is supported starting with Windows 11 Build 22000.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_TEXT_COLOR">
            <summary>
            <para>Use with [DwmSetWindowAttribute](/windows/win32/api/dwmapi/nf-dwmapi-dwmsetwindowattribute). Specifies the color of the caption text. The <i>pvAttribute</i> parameter points to a value of type [COLORREF](/windows/win32/gdi/colorref). This value is supported starting with Windows 11 Build 22000.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_VISIBLE_FRAME_BORDER_THICKNESS">
            <summary>
            <para>Use with [DwmGetWindowAttribute](/windows/win32/api/dwmapi/nf-dwmapi-dwmgetwindowattribute). Retrieves the width of the outer border that the DWM would draw around this window. The value can vary depending on the DPI of the window. The <i>pvAttribute</i> parameter points to a value of type **UINT**. This value is supported starting with Windows 11 Build 22000.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_SYSTEMBACKDROP_TYPE">
            <summary>
            <para>Use with [DwmGetWindowAttribute](/windows/win32/api/dwmapi/nf-dwmapi-dwmgetwindowattribute) or [DwmSetWindowAttribute](/windows/win32/api/dwmapi/nf-dwmapi-dwmsetwindowattribute). Retrieves or specifies the system-drawn backdrop material of a window, including behind the non-client area. The *pvAttribute* parameter points to a value of type [DWM_SYSTEMBACKDROP_TYPE](ne-dwmapi-dwm_systembackdrop_type.md). This value is supported starting with Windows 11 Build 22621.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWMWINDOWATTRIBUTE.DWMWA_LAST">
            <summary>The maximum recognized <b>DWMWINDOWATTRIBUTE</b> value, used for validation purposes.</summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Dwm.DWM_WINDOW_CORNER_PREFERENCE">
            <summary>The DWM_WINDOW_CORNER_PREFERENCE enumeration (dwmapi.h) specifies the rounded corner preference for a window.</summary>
            <remarks></remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWM_WINDOW_CORNER_PREFERENCE.DWMWCP_DEFAULT">
            <summary>Let the system decide when to round window corners.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWM_WINDOW_CORNER_PREFERENCE.DWMWCP_DONOTROUND">
            <summary>Never round window corners.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWM_WINDOW_CORNER_PREFERENCE.DWMWCP_ROUND">
            <summary>Round the corners, if appropriate.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Dwm.DWM_WINDOW_CORNER_PREFERENCE.DWMWCP_ROUNDSMALL">
            <summary>Round the corners if appropriate, with a small radius.</summary>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmap.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmap.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmap.GetSize(System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmap.GetSize(System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmap.GetPixelFormat(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmap.GetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmap.GetResolution(System.Double@,System.Double@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmap.GetResolution(System.Double*,System.Double*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmap.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect@,System.UInt32,System.Span{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmap.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,System.UInt32,System.Byte*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmap.Lock(Windows.Win32.Graphics.Imaging.WICRect@,System.UInt32,Windows.Win32.Graphics.Imaging.IWICBitmapLock**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmap.Lock(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,Windows.Win32.Graphics.Imaging.IWICBitmapLock**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmap.Lock(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,Windows.Win32.Graphics.Imaging.IWICBitmapLock**)">
            <summary>Provides access to a rectangular area of the bitmap.</summary>
            <param name="prcLock">
            <para>Type: <b>const <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ns-wincodec-wicrect">WICRect</a>*</b> The rectangle to be accessed.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmap-lock#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="flags">
            <para>Type: <b>DWORD</b> The access mode you wish to obtain for the lock. This is a bitwise combination of <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmaplockflags">WICBitmapLockFlags</a> for read, write, or read and write access. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmap-lock#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppILock">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmaplock">IWICBitmapLock</a>**</b> A pointer that receives the locked memory location.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmap-lock#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>Locks are exclusive for writing but can be shared for reading. You cannot call <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapsource-copypixels">CopyPixels</a> while the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmap">IWICBitmap</a> is locked for writing. Doing so will return an error, since locks are exclusive.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmap.SetPalette(Windows.Win32.Graphics.Imaging.IWICPalette*)">
            <summary>Provides access for palette modifications.</summary>
            <param name="pIPalette">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicpalette">IWICPalette</a>*</b> The palette to use for conversion.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmap-setpalette#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/wincodec/nf-wincodec-iwicbitmap-setpalette">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmap.SetResolution(System.Double,System.Double)">
            <summary>Changes the physical resolution of the image.</summary>
            <param name="dpiX">
            <para>Type: <b>double</b> The horizontal resolution.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmap-setresolution#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="dpiY">
            <para>Type: <b>double</b> The vertical resolution.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmap-setresolution#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 has no effect on the actual pixels or samples stored in the bitmap. Instead the interpretation of the sampling rate is modified. This means that a 96 DPI image which is 96 pixels wide is one inch. If the physical resolution is modified to 48 DPI, then the bitmap is considered to be 2 inches wide but has the same number of pixels. If the resolution is less than <b>REAL_EPSILON</b> (1.192092896e-07F) the error code <b>WINCODEC_ERR_INVALIDPARAMETER</b> is returned.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmap-setresolution#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICBitmap.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{00000121-a8f2-4877-ba0a-fd2b6645fb94}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.GetSize(System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.GetSize(System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.GetPixelFormat(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.GetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.GetResolution(System.Double@,System.Double@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.GetResolution(System.Double*,System.Double*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect@,System.UInt32,System.Span{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,System.UInt32,System.Byte*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.Initialize(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,Windows.Win32.Graphics.Imaging.WICRect@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.Initialize(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,Windows.Win32.Graphics.Imaging.WICRect*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.Initialize(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,Windows.Win32.Graphics.Imaging.WICRect*)">
            <summary>Initializes the bitmap clipper with the provided parameters.</summary>
            <param name="pISource">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a>*</b> he input bitmap source.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapclipper-initialize#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="prc">
            <para>Type: <b>const <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ns-wincodec-wicrect">WICRect</a>*</b> The rectangle of the bitmap source to clip.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapclipper-initialize#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/wincodec/nf-wincodec-iwicbitmapclipper-initialize">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{e4fbcf03-223d-4e81-9333-d635556dd1b5}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetComponentType(Windows.Win32.Graphics.Imaging.WICComponentType@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetComponentType(Windows.Win32.Graphics.Imaging.WICComponentType*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetCLSID(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetCLSID(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetSigningStatus(System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetSigningStatus(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetAuthor(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetAuthor(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetVendorGUID(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetVendorGUID(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetVersion(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetSpecVersion(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetSpecVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetFriendlyName(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetFriendlyName(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetContainerFormat(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetContainerFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetContainerFormat(System.Guid*)">
            <summary>Retrieves the container GUID associated with the codec.</summary>
            <param name="pguidContainerFormat">
            <para>Type: <b>GUID*</b> Receives the container GUID.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapcodecinfo-getcontainerformat#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/wincodec/nf-wincodec-iwicbitmapcodecinfo-getcontainerformat">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetPixelFormats(System.ReadOnlySpan{System.Guid},System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetPixelFormats(System.UInt32,System.Guid*,System.UInt32*)"/>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetPixelFormats(System.UInt32,System.Guid*,System.UInt32*)" -->
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetColorManagementVersion(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetColorManagementVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetColorManagementVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)" -->
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetDeviceManufacturer(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetDeviceManufacturer(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetDeviceManufacturer(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)" -->
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetDeviceModels(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetDeviceModels(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetDeviceModels(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)" -->
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetMimeTypes(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetMimeTypes(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetMimeTypes(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)" -->
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetFileExtensions(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetFileExtensions(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.GetFileExtensions(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)" -->
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.DoesSupportAnimation(Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.DoesSupportAnimation(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.DoesSupportAnimation(Windows.Win32.Foundation.BOOL*)">
            <summary>Retrieves a value indicating whether the codec supports animation.</summary>
            <param name="pfSupportAnimation">
            <para>Type: <b>BOOL*</b> Receives <b>TRUE</b> if the codec supports images with timing information; otherwise, <b>FALSE</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapcodecinfo-doessupportanimation#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/wincodec/nf-wincodec-iwicbitmapcodecinfo-doessupportanimation">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.DoesSupportChromakey(Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.DoesSupportChromakey(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.DoesSupportChromakey(Windows.Win32.Foundation.BOOL*)">
            <summary>Retrieves a value indicating whether the codec supports chromakeys.</summary>
            <param name="pfSupportChromakey">
            <para>Type: <b>BOOL*</b> Receives <b>TRUE</b> if the codec supports chromakeys; otherwise, <b>FALSE</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapcodecinfo-doessupportchromakey#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/wincodec/nf-wincodec-iwicbitmapcodecinfo-doessupportchromakey">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.DoesSupportLossless(Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.DoesSupportLossless(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.DoesSupportLossless(Windows.Win32.Foundation.BOOL*)">
            <summary>Retrieves a value indicating whether the codec supports lossless formats.</summary>
            <param name="pfSupportLossless">
            <para>Type: <b>BOOL*</b> Receives <b>TRUE</b> if the codec supports lossless formats; otherwise, <b>FALSE</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapcodecinfo-doessupportlossless#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/wincodec/nf-wincodec-iwicbitmapcodecinfo-doessupportlossless">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.DoesSupportMultiframe(Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.DoesSupportMultiframe(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.DoesSupportMultiframe(Windows.Win32.Foundation.BOOL*)">
            <summary>Retrieves a value indicating whether the codec supports multi frame images.</summary>
            <param name="pfSupportMultiframe">
            <para>Type: <b>BOOL*</b> Receives <b>TRUE</b> if the codec supports multi frame images; otherwise, <b>FALSE</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapcodecinfo-doessupportmultiframe#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/wincodec/nf-wincodec-iwicbitmapcodecinfo-doessupportmultiframe">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.MatchesMimeType(System.String,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.MatchesMimeType(Windows.Win32.Foundation.PCWSTR,Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.MatchesMimeType(Windows.Win32.Foundation.PCWSTR,Windows.Win32.Foundation.BOOL*)">
            <summary>Retrieves a value indicating whether the given mime type matches the mime type of the codec.</summary>
            <param name="wzMimeType">
            <para>Type: <b>LPCWSTR</b> The mime type to compare.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapcodecinfo-matchesmimetype#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pfMatches">
            <para>Type: <b>BOOL*</b> Receives <b>TRUE</b> if the mime types match; otherwise, <b>FALSE</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapcodecinfo-matchesmimetype#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>HRESULT</b> This method can return one of these values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para><div class="alert"><b>Note</b>  The Windows provided codecs do not implement this method and return E_NOTIMPL.</div> <div> </div></para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapcodecinfo-matchesmimetype#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{e87a44c4-b76e-4c47-8b09-298eb12a2714}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.QueryCapability(Windows.Win32.System.Com.IStream*,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.QueryCapability(Windows.Win32.System.Com.IStream*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.QueryCapability(Windows.Win32.System.Com.IStream*,System.UInt32*)">
            <summary>Retrieves the capabilities of the decoder based on the specified stream.</summary>
            <param name="pIStream">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istream">IStream</a>*</b> The stream to retrieve the decoder capabilities from.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-querycapability#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pdwCapability">
            <para>Type: <b>DWORD*</b> The <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmapdecodercapabilities">WICBitmapDecoderCapabilities</a> of the decoder.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-querycapability#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>Custom decoder implementations should save the current position of the specified <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istream">IStream</a>, read whatever information is necessary in order to determine which capabilities it can provide for the supplied stream, and restore the stream position.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.Initialize(Windows.Win32.System.Com.IStream*,Windows.Win32.Graphics.Imaging.WICDecodeOptions)">
            <summary>Initializes the decoder with the provided stream.</summary>
            <param name="pIStream">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istream">IStream</a>*</b> The stream to use for initialization. The stream contains the encoded pixels which are decoded each time the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapsource-copypixels">CopyPixels</a> method on the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapframedecode">IWICBitmapFrameDecode</a> interface (see <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapdecoder-getframe">GetFrame</a>) is invoked.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-initialize#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="cacheOptions">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicdecodeoptions">WICDecodeOptions</a></b> The <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicdecodeoptions">WICDecodeOptions</a> to use for initialization.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-initialize#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/wincodec/nf-wincodec-iwicbitmapdecoder-initialize">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.GetContainerFormat(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.GetContainerFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.GetContainerFormat(System.Guid*)">
            <summary>Retrieves the image's container format.</summary>
            <param name="pguidContainerFormat">
            <para>Type: <b>GUID*</b> A pointer that receives the image's container format GUID.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-getcontainerformat#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/wincodec/nf-wincodec-iwicbitmapdecoder-getcontainerformat">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.GetDecoderInfo(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo**)">
            <summary>Retrieves an IWICBitmapDecoderInfo for the image.</summary>
            <param name="ppIDecoderInfo">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapdecoderinfo">IWICBitmapDecoderInfo</a>**</b> A pointer that receives a pointer to an <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapdecoderinfo">IWICBitmapDecoderInfo</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-getdecoderinfo#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/wincodec/nf-wincodec-iwicbitmapdecoder-getdecoderinfo">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.CopyPalette(Windows.Win32.Graphics.Imaging.IWICPalette*)">
            <summary>Copies the decoder's IWICPalette .</summary>
            <param name="pIPalette">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicpalette">IWICPalette</a>*</b> An<a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicpalette">IWICPalette</a> to which the decoder's global palette is to be copied. Use <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicimagingfactory-createpalette">CreatePalette</a> to create the destination palette before calling <b>CopyPalette</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-copypalette#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><b>CopyPalette</b> returns a global palette (a palette that applies to all the frames in the image) if there is one; otherwise, it returns WINCODEC_ERR_PALETTEUNAVAILABLE. If an image doesn't have a global palette, it may still have a frame-level palette, which can be retrieved using <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapsource-copypalette">IWICBitmapFrameDecode::CopyPalette</a>.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.GetMetadataQueryReader(Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader**)">
            <summary>Retrieves the metadata query reader from the decoder.</summary>
            <param name="ppIMetadataQueryReader">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicmetadataqueryreader">IWICMetadataQueryReader</a>**</b> Receives a pointer to the decoder's <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicmetadataqueryreader">IWICMetadataQueryReader</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-getmetadataqueryreader#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>If an image format does not support container-level metadata, this will return <a href="https://docs.microsoft.com/windows/desktop/wic/-wic-codec-error-codes">WINCODEC_ERR_UNSUPPORTEDOPERATION</a>. The only Windows provided image format that supports container-level metadata is GIF. Instead, use <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframedecode-getmetadataqueryreader">IWICBitmapFrameDecode::GetMetadataQueryReader</a>.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.GetPreview(Windows.Win32.Graphics.Imaging.IWICBitmapSource**)">
            <summary>Retrieves a preview image, if supported.</summary>
            <param name="ppIBitmapSource">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a>**</b> Receives a pointer to the preview bitmap if supported.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-getpreview#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>Not all formats support previews. Only the native Microsoft Windows Digital Photo (WDP) codec support previews.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.GetColorContexts(System.UInt32,Windows.Win32.Graphics.Imaging.IWICColorContext**,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.GetColorContexts(System.UInt32,Windows.Win32.Graphics.Imaging.IWICColorContext**,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.GetColorContexts(System.UInt32,Windows.Win32.Graphics.Imaging.IWICColorContext**,System.UInt32*)">
            <summary>Retrieves the IWICColorContext objects of the image.</summary>
            <param name="cCount">
            <para>Type: <b>UINT</b> The number of color contexts to retrieve. This value must be the size of, or smaller than, the size available to <i>ppIColorContexts</i>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-getcolorcontexts#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppIColorContexts">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccolorcontext">IWICColorContext</a>**</b> A pointer that receives a pointer to the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccolorcontext">IWICColorContext</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-getcolorcontexts#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pcActualCount">
            <para>Type: <b>UINT*</b> A pointer that receives the number of color contexts contained in the image.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-getcolorcontexts#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/wincodec/nf-wincodec-iwicbitmapdecoder-getcolorcontexts">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.GetThumbnail(Windows.Win32.Graphics.Imaging.IWICBitmapSource**)">
            <summary>Retrieves a bitmap thumbnail of the image, if one exists</summary>
            <param name="ppIThumbnail">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a>**</b> Receives a pointer to the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a> of the thumbnail.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-getthumbnail#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 returned thumbnail can be of any size, so the caller should scale the thumbnail to the desired size. The only Windows provided image formats that support thumbnails are JPEG, TIFF, and JPEG-XR. If the thumbnail is not available, this will return <a href="https://docs.microsoft.com/windows/desktop/wic/-wic-codec-error-codes">WINCODEC_ERR_CODECNOTHUMBNAIL</a>.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.GetFrameCount(System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.GetFrameCount(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.GetFrameCount(System.UInt32*)">
            <summary>Retrieves the total number of frames in the image.</summary>
            <param name="pCount">
            <para>Type: <b>UINT*</b> A pointer that receives the total number of frames in the image.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-getframecount#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/wincodec/nf-wincodec-iwicbitmapdecoder-getframecount">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.GetFrame(System.UInt32,Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode**)">
            <summary>Retrieves the specified frame of the image.</summary>
            <param name="index">
            <para>Type: <b>UINT</b> The particular frame to retrieve.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-getframe#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppIBitmapFrame">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapframedecode">IWICBitmapFrameDecode</a>**</b> A pointer that receives a pointer to the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapframedecode">IWICBitmapFrameDecode</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoder-getframe#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/wincodec/nf-wincodec-iwicbitmapdecoder-getframe">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{9edde9e7-8dee-47ea-99df-e6faf2ed44bf}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetComponentType(Windows.Win32.Graphics.Imaging.WICComponentType@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetComponentType(Windows.Win32.Graphics.Imaging.WICComponentType*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetCLSID(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetCLSID(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetSigningStatus(System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetSigningStatus(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetAuthor(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetAuthor(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetVendorGUID(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetVendorGUID(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetVersion(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetSpecVersion(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetSpecVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetFriendlyName(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetFriendlyName(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetContainerFormat(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetContainerFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetPixelFormats(System.ReadOnlySpan{System.Guid},System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetPixelFormats(System.UInt32,System.Guid*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetColorManagementVersion(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetColorManagementVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetDeviceManufacturer(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetDeviceManufacturer(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetDeviceModels(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetDeviceModels(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetMimeTypes(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetMimeTypes(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetFileExtensions(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetFileExtensions(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.DoesSupportAnimation(Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.DoesSupportAnimation(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.DoesSupportChromakey(Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.DoesSupportChromakey(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.DoesSupportLossless(Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.DoesSupportLossless(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.DoesSupportMultiframe(Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.DoesSupportMultiframe(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.MatchesMimeType(System.String,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.MatchesMimeType(Windows.Win32.Foundation.PCWSTR,Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetPatterns(System.UInt32,Windows.Win32.Graphics.Imaging.WICBitmapPattern*,System.UInt32*,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetPatterns(System.UInt32,Windows.Win32.Graphics.Imaging.WICBitmapPattern*,System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.GetPatterns(System.UInt32,Windows.Win32.Graphics.Imaging.WICBitmapPattern*,System.UInt32*,System.UInt32*)">
            <summary>Retrieves the file pattern signatures supported by the decoder.</summary>
            <param name="cbSizePatterns">
            <para>Type: <b>UINT</b> The array size of the <i>pPatterns</i> array.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoderinfo-getpatterns#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pPatterns">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ns-wincodec-wicbitmappattern">WICBitmapPattern</a>*</b> Receives a list of <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ns-wincodec-wicbitmappattern">WICBitmapPattern</a> objects supported by the decoder.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoderinfo-getpatterns#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pcPatterns">
            <para>Type: <b>UINT*</b> Receives the number of patterns the decoder supports.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoderinfo-getpatterns#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pcbPatternsActual">
            <para>Type: <b>UINT*</b> Receives the actual buffer size needed to retrieve all pattern signatures supported by the decoder.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoderinfo-getpatterns#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 retrieve all pattern signatures, this method should first be called with <i>pPatterns</i> set to <c>NULL</c> to retrieve the actual buffer size needed through <i>pcbPatternsActual</i>. Once the needed buffer size is known, allocate a buffer of the needed size and call <b>GetPatterns</b> again with the allocated buffer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoderinfo-getpatterns#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.MatchesPattern(Windows.Win32.System.Com.IStream*,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.MatchesPattern(Windows.Win32.System.Com.IStream*,Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.MatchesPattern(Windows.Win32.System.Com.IStream*,Windows.Win32.Foundation.BOOL*)">
            <summary>Retrieves a value that indicates whether the codec recognizes the pattern within a specified stream.</summary>
            <param name="pIStream">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istream">IStream</a>*</b> The stream to pattern match within.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoderinfo-matchespattern#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pfMatches">
            <para>Type: <b>BOOL*</b> A pointer that receives <b>TRUE</b> if the patterns match; otherwise, <b>FALSE</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoderinfo-matchespattern#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/wincodec/nf-wincodec-iwicbitmapdecoderinfo-matchespattern">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.CreateInstance(Windows.Win32.Graphics.Imaging.IWICBitmapDecoder**)">
            <summary>Creates a new IWICBitmapDecoder instance.</summary>
            <param name="ppIBitmapDecoder">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapdecoder">IWICBitmapDecoder</a>**</b> A pointer that receives a pointer to a new instance of the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapdecoder">IWICBitmapDecoder</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapdecoderinfo-createinstance#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/wincodec/nf-wincodec-iwicbitmapdecoderinfo-createinstance">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{d8cd007f-d08f-4191-9bfc-236ea7f0e4b5}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoder.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoder.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoder.Initialize(Windows.Win32.System.Com.IStream*,Windows.Win32.Graphics.Imaging.WICBitmapEncoderCacheOption)">
            <summary>Initializes the encoder with an IStream which tells the encoder where to encode the bits.</summary>
            <param name="pIStream">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istream">IStream</a>*</b> The output stream.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-initialize#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="cacheOption">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmapencodercacheoption">WICBitmapEncoderCacheOption</a></b> The <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmapencodercacheoption">WICBitmapEncoderCacheOption</a> used on initialization.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-initialize#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/wincodec/nf-wincodec-iwicbitmapencoder-initialize">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoder.GetContainerFormat(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoder.GetContainerFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoder.GetContainerFormat(System.Guid*)">
            <summary>Retrieves the encoder's container format.</summary>
            <param name="pguidContainerFormat">
            <para>Type: <b>GUID*</b> A pointer that receives the encoder's container format GUID.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-getcontainerformat#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/wincodec/nf-wincodec-iwicbitmapencoder-getcontainerformat">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoder.GetEncoderInfo(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo**)">
            <summary>Retrieves an IWICBitmapEncoderInfo for the encoder.</summary>
            <param name="ppIEncoderInfo">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapencoderinfo">IWICBitmapEncoderInfo</a>**</b> A pointer that receives a pointer to an <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapencoderinfo">IWICBitmapEncoderInfo</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-getencoderinfo#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/wincodec/nf-wincodec-iwicbitmapencoder-getencoderinfo">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoder.SetColorContexts(System.UInt32,Windows.Win32.Graphics.Imaging.IWICColorContext**)">
            <summary>Sets the IWICColorContext objects for the encoder.</summary>
            <param name="cCount">
            <para>Type: <b>UINT</b> The number of <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccolorcontext">IWICColorContext</a> to set.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-setcolorcontexts#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppIColorContext">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccolorcontext">IWICColorContext</a>**</b> A pointer an <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccolorcontext">IWICColorContext</a> pointer containing the color contexts to set for the encoder.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-setcolorcontexts#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/wincodec/nf-wincodec-iwicbitmapencoder-setcolorcontexts">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoder.SetPalette(Windows.Win32.Graphics.Imaging.IWICPalette*)">
            <summary>Sets the global palette for the image.</summary>
            <param name="pIPalette">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicpalette">IWICPalette</a>*</b> The <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicpalette">IWICPalette</a> to use as the global palette.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-setpalette#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>HRESULT</b> Returns S_OK if successful, or an error value otherwise.</para>
            <para>Returns WINCODEC_ERR_UNSUPPORTEDOPERATION if the feature is not supported by the encoder.</para>
            </returns>
            <remarks>Only GIF images support an optional global palette, and you must set the global palette before adding any frames to the image. You only need to set the palette for indexed pixel formats.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoder.SetThumbnail(Windows.Win32.Graphics.Imaging.IWICBitmapSource*)">
            <summary>Sets the global thumbnail for the image.</summary>
            <param name="pIThumbnail">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a>*</b> The <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a> to set as the global thumbnail.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-setthumbnail#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>HRESULT</b> Returns S_OK if successful, or an error value otherwise.</para>
            <para>Returns WINCODEC_ERR_UNSUPPORTEDOPERATION if the feature is not supported by the encoder.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-setthumbnail">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoder.SetPreview(Windows.Win32.Graphics.Imaging.IWICBitmapSource*)">
            <summary>Sets the global preview for the image.</summary>
            <param name="pIPreview">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a>*</b> The <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a> to use as the global preview.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-setpreview#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>HRESULT</b> Returns S_OK if successful, or an error value otherwise.</para>
            <para>Returns WINCODEC_ERR_UNSUPPORTEDOPERATION if the feature is not supported by the encoder.</para>
            </returns>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-setpreview">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoder.CreateNewFrame(Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode**,Windows.Win32.System.Com.StructuredStorage.IPropertyBag2**)">
            <summary>Creates a new IWICBitmapFrameEncode instance.</summary>
            <param name="ppIFrameEncode">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapframeencode">IWICBitmapFrameEncode</a>**</b> A pointer that receives a pointer to the new instance of an <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapframeencode">IWICBitmapFrameEncode</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-createnewframe#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppIEncoderOptions">
            <para>Type: <b><a href="https://docs.microsoft.com/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa768192(v=vs.85)">IPropertyBag2</a>**</b> Optional. Receives the named properties to use for subsequent frame initialization. See Remarks.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-createnewframe#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 parameter <i>ppIEncoderOptions</i> can be used to receive an <a href="https://docs.microsoft.com/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa768192(v=vs.85)">IPropertyBag2</a> that can then be used to specify encoder options. This is done by passing a pointer to a <b>NULL</b> IPropertyBag2 pointer in <i>ppIEncoderOptions</i>. The returned IPropertyBag2 is initialized with all encoder options that are available for the given format, at their default values. To specify non-default encoding behavior, set the needed encoder options on the IPropertyBag2 and pass it to <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-initialize">IWICBitmapFrameEncode::Initialize</a>. <div class="alert"><b>Note</b>  Do not pass in a pointer to an initialized <a href="https://docs.microsoft.com/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa768192(v=vs.85)">IPropertyBag2</a>. The pointer will be overwritten, and the original IPropertyBag2 will not be freed.</div> <div> </div> Otherwise, you can pass <b>NULL</b> in <i>ppIEncoderOptions</i> if you do not intend to specify encoder options. See <a href="https://docs.microsoft.com/windows/desktop/wic/-wic-creating-encoder">Encoding Overview</a> for an example of how to set encoder options. For formats that support encoding multiple frames (for example, TIFF, JPEG-XR), you can work on only one frame at a time. This means that you must call <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-commit">IWICBitmapFrameEncode::Commit</a> before you call <b>CreateNewFrame</b> again.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-createnewframe#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoder.Commit">
            <summary>Commits all changes for the image and closes the stream.</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>To finalize an image, both the frame <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-commit">Commit</a> and the encoder <b>Commit</b> must be called. However, only call the encoder  <b>Commit</b> method after all frames have been committed. After the encoder has been committed, it can't be re-initialized or reused with another stream. A new encoder interface must be created, for example, with <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicimagingfactory-createencoder">IWICImagingFactory::CreateEncoder</a>.</para>
            <para>For the encoder <b>Commit</b> to succeed, you must at a minimum call  <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapdecoder-initialize">IWICBitmapEncoder::Initialize</a> and either <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-writesource">IWICBitmapFrameEncode::WriteSource</a> or <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-writepixels">IWICBitmapFrameEncode::WritePixels</a>.</para>
            <para><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-writesource">IWICBitmapFrameEncode::WriteSource</a> specifies all parameters needed to encode the image data. <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-writepixels">IWICBitmapFrameEncode::WritePixels</a> requires that you also call <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-setsize">IWICBitmapFrameEncode::SetSize</a>, <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-setpixelformat">IWICBitmapFrameEncode::SetPixelFormat</a>, and <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-setpalette">IWICBitmapFrameEncode::SetPalette</a> (if the pixel format is indexed).</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-commit#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoder.GetMetadataQueryWriter(Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter**)">
            <summary>Retrieves a metadata query writer for the encoder.</summary>
            <param name="ppIMetadataQueryWriter">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicmetadataquerywriter">IWICMetadataQueryWriter</a>**</b> When this method returns, contains a pointer to the encoder's metadata query writer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoder-getmetadataquerywriter#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/wincodec/nf-wincodec-iwicbitmapencoder-getmetadataquerywriter">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICBitmapEncoder.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{00000103-a8f2-4877-ba0a-fd2b6645fb94}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetComponentType(Windows.Win32.Graphics.Imaging.WICComponentType@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetComponentType(Windows.Win32.Graphics.Imaging.WICComponentType*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetCLSID(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetCLSID(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetSigningStatus(System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetSigningStatus(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetAuthor(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetAuthor(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetVendorGUID(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetVendorGUID(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetVersion(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetSpecVersion(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetSpecVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetFriendlyName(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetFriendlyName(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetContainerFormat(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetContainerFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetPixelFormats(System.ReadOnlySpan{System.Guid},System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetPixelFormats(System.UInt32,System.Guid*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetColorManagementVersion(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetColorManagementVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetDeviceManufacturer(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetDeviceManufacturer(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetDeviceModels(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetDeviceModels(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetMimeTypes(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetMimeTypes(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetFileExtensions(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.GetFileExtensions(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.DoesSupportAnimation(Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.DoesSupportAnimation(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.DoesSupportChromakey(Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.DoesSupportChromakey(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.DoesSupportLossless(Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.DoesSupportLossless(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.DoesSupportMultiframe(Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.DoesSupportMultiframe(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.MatchesMimeType(System.String,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.MatchesMimeType(Windows.Win32.Foundation.PCWSTR,Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.CreateInstance(Windows.Win32.Graphics.Imaging.IWICBitmapEncoder**)">
            <summary>Creates a new IWICBitmapEncoder instance.</summary>
            <param name="ppIBitmapEncoder">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapencoder">IWICBitmapEncoder</a>**</b> A pointer that receives a pointer to a new <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapencoder">IWICBitmapEncoder</a> instance.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapencoderinfo-createinstance#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/wincodec/nf-wincodec-iwicbitmapencoderinfo-createinstance">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{94c9b4ee-a09f-4f92-8a1e-4a9bce7e76fb}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.GetSize(System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.GetSize(System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.GetPixelFormat(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.GetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.GetResolution(System.Double@,System.Double@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.GetResolution(System.Double*,System.Double*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect@,System.UInt32,System.Span{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,System.UInt32,System.Byte*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.Initialize(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,Windows.Win32.Graphics.Imaging.WICBitmapTransformOptions)">
            <summary>Initializes the bitmap flip rotator with the provided parameters.</summary>
            <param name="pISource">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a>*</b> The input bitmap source.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapfliprotator-initialize#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="options">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmaptransformoptions">WICBitmapTransformOptions</a></b> The <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmaptransformoptions">WICBitmapTransformOptions</a> to flip or rotate the image.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapfliprotator-initialize#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/wincodec/nf-wincodec-iwicbitmapfliprotator-initialize">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{5009834f-2d6a-41ce-9e1b-17c5aff7a782}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.GetSize(System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.GetSize(System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.GetPixelFormat(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.GetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.GetResolution(System.Double@,System.Double@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.GetResolution(System.Double*,System.Double*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect@,System.UInt32,System.Span{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,System.UInt32,System.Byte*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.GetMetadataQueryReader(Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader**)">
            <summary>Retrieves a metadata query reader for the frame.</summary>
            <param name="ppIMetadataQueryReader">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicmetadataqueryreader">IWICMetadataQueryReader</a>**</b> When this method returns, contains a pointer to the frame's metadata query reader.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframedecode-getmetadataqueryreader#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>For image formats with one frame (JPG, PNG, JPEG-XR), the frame-level query reader of the first frame is used to access all image metadata, and the decoder-level query reader isn’t used. For formats with more than one frame (GIF, TIFF), the frame-level query reader for a given frame is used to access metadata specific to that frame, and in the case of GIF a decoder-level metadata reader will be present. If the decoder doesn’t support metadata (BMP, ICO), this will return <a href="https://docs.microsoft.com/windows/desktop/wic/-wic-codec-error-codes">WINCODEC_ERR_UNSUPPORTEDOPERATION</a>.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.GetColorContexts(System.UInt32,Windows.Win32.Graphics.Imaging.IWICColorContext**,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.GetColorContexts(System.UInt32,Windows.Win32.Graphics.Imaging.IWICColorContext**,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.GetColorContexts(System.UInt32,Windows.Win32.Graphics.Imaging.IWICColorContext**,System.UInt32*)">
            <summary>Retrieves the IWICColorContext associated with the image frame.</summary>
            <param name="cCount">
            <para>Type: <b>UINT</b> The number of color contexts to retrieve. This value must be the size of, or smaller than, the size available to <i>ppIColorContexts</i>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframedecode-getcolorcontexts#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppIColorContexts">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccolorcontext">IWICColorContext</a>**</b> A pointer that receives a pointer to the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccolorcontext">IWICColorContext</a> objects.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframedecode-getcolorcontexts#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pcActualCount">
            <para>Type: <b>UINT*</b> A pointer that receives the number of color contexts contained in the image frame.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframedecode-getcolorcontexts#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>If NULL is passed for <i>ppIColorContexts</i>, and 0 is passed for <i>cCount</i>, this method will return the total number of color contexts in the image in <i>pcActualCount</i>.</para>
            <para>The <i>ppIColorContexts</i> array must be filled with valid data: each <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccolorcontext">IWICColorContext*</a> in the array must have been created using <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicimagingfactory-createcolorcontext">IWICImagingFactory::CreateColorContext</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframedecode-getcolorcontexts#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.GetThumbnail(Windows.Win32.Graphics.Imaging.IWICBitmapSource**)">
            <summary>Retrieves a small preview of the frame, if supported by the codec.</summary>
            <param name="ppIThumbnail">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a>**</b> A pointer that receives a pointer to the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a> of the thumbnail.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframedecode-getthumbnail#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>Not all formats support thumbnails. Joint Photographic Experts Group (JPEG), Tagged Image File Format (TIFF), and Microsoft Windows Digital Photo (WDP) support thumbnails. <h3><a id="Note_to_Implementers"></a><a id="note_to_implementers"></a><a id="NOTE_TO_IMPLEMENTERS"></a>Note to Implementers</h3> If the codec does not support thumbnails, return WINCODEC_ERROR_CODECNOTHUMBNAIL rather than E_NOTIMPL.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframedecode-getthumbnail#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{3b16811b-6a43-4ec9-a813-3d930c13b940}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.Initialize(Windows.Win32.System.Com.StructuredStorage.IPropertyBag2*)">
            <summary>Initializes the frame encoder using the given properties.</summary>
            <param name="pIEncoderOptions">
            <para>Type: <b><a href="https://docs.microsoft.com/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa768192(v=vs.85)">IPropertyBag2</a>*</b> The set of properties to use for <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapframeencode">IWICBitmapFrameEncode</a> initialization.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-initialize#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>If you don't want any encoding options, pass <b>NULL</b> for <i>pIEncoderOptions</i>. Otherwise, pass the <a href="https://docs.microsoft.com/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa768192(v=vs.85)">IPropertyBag2</a> that was provided by <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapencoder-createnewframe">IWICBitmapEncoder::CreateNewFrame</a> with updated values.</para>
            <para>For a complete list of encoding options supported by the Windows-provided codecs, see <a href="https://docs.microsoft.com/windows/desktop/wic/native-wic-codecs">Native WIC Codecs</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-initialize#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.SetSize(System.UInt32,System.UInt32)">
            <summary>Sets the output image dimensions for the frame.</summary>
            <param name="uiWidth">
            <para>Type: <b>UINT</b> The width of the output image.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-setsize#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="uiHeight">
            <para>Type: <b>UINT</b> The height of the output image.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-setsize#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/wincodec/nf-wincodec-iwicbitmapframeencode-setsize">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.SetResolution(System.Double,System.Double)">
            <summary>Sets the physical resolution of the output image.</summary>
            <param name="dpiX">
            <para>Type: <b>double</b> The horizontal resolution value.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-setresolution#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="dpiY">
            <para>Type: <b>double</b> The vertical resolution value.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-setresolution#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>Windows Imaging Component (WIC) doesn't perform any special processing as a result of DPI resolution values. For example, data returned from <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapsource-copypixels">IWICBitmapSource::CopyPixels</a> isn't scaled by the DPI. The app must handle DPI resolution.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.SetPixelFormat(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.SetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.SetPixelFormat(System.Guid*)">
            <summary>Requests that the encoder use the specified pixel format.</summary>
            <param name="pPixelFormat">
            <para>Type: <b>WICPixelFormatGUID*</b> On input, the requested pixel format GUID. On output, the closest pixel format GUID supported by the encoder; this may be different than the requested format. For a list of pixel format GUIDs, see <a href="https://docs.microsoft.com/windows/desktop/wic/-wic-codec-native-pixel-formats">Native Pixel Formats</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-setpixelformat#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>HRESULT</b> Possible return values include the following. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>The encoder might not support the requested pixel format. If not, <b>SetPixelFormat</b> returns the closest match in the memory block that <i>pPixelFormat</i> points to. If the returned pixel format doesn't match the requested format, you must use an <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicformatconverter">IWICFormatConverter</a> object to convert the pixel data.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.SetColorContexts(System.UInt32,Windows.Win32.Graphics.Imaging.IWICColorContext**)">
            <summary>Sets a given number IWICColorContext profiles to the frame.</summary>
            <param name="cCount">
            <para>Type: <b>UINT</b> The number of <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccolorcontext">IWICColorContext</a> profiles to set.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-setcolorcontexts#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppIColorContext">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccolorcontext">IWICColorContext</a>**</b> A pointer to an <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccolorcontext">IWICColorContext</a> pointer containing the color contexts profiles to set to the frame.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-setcolorcontexts#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></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-setcolorcontexts#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.SetPalette(Windows.Win32.Graphics.Imaging.IWICPalette*)">
            <summary>Sets the IWICPalette for indexed pixel formats.</summary>
            <param name="pIPalette">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicpalette">IWICPalette</a>*</b> The <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicpalette">IWICPalette</a> to use for indexed pixel formats. The encoder may change the palette to reflect the pixel formats the encoder supports.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-setpalette#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 doesn't fail if called on a frame whose pixel format is set to a non-indexed pixel format. If the target pixel format is a non-indexed format, the palette will be ignored. If you already called <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapencoder-setpalette">IWICBitmapEncoder::SetPalette</a> to set a global palette, this method overrides that palette for the current frame. The palette must be specified before your first call to <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicplanarbitmapframeencode-writepixels">WritePixels</a>/<a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-writesource">WriteSource</a>. Doing so will cause <b>WriteSource</b> to use the specified palette when converting the source image to the encoder pixel format. If no palette is specified, a palette will be generated on the first call to <b>WriteSource</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-setpalette#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.SetThumbnail(Windows.Win32.Graphics.Imaging.IWICBitmapSource*)">
            <summary>Sets the frame thumbnail if supported by the codec.</summary>
            <param name="pIThumbnail">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a>*</b> The bitmap source to use as the thumbnail.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-setthumbnail#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>HRESULT</b> Returns S_OK if successful, or an error value otherwise.</para>
            <para>Returns WINCODEC_ERR_UNSUPPORTEDOPERATION if the feature is not supported by the encoder.</para>
            </returns>
            <remarks>
            <para>We recommend that you call <b>SetThumbnail</b> before calling <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-writepixels">WritePixels</a> or <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-writesource">WriteSource</a>. The thumbnail won't be added to the encoded file if <b>SetThumbnail</b> is called after a call to <b>WritePixels</b> or <b>WriteSource</b>.</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-setthumbnail#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.WritePixels(System.UInt32,System.UInt32,System.ReadOnlySpan{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.WritePixels(System.UInt32,System.UInt32,System.UInt32,System.Byte*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.WritePixels(System.UInt32,System.UInt32,System.UInt32,System.Byte*)">
            <summary>Copies scan-line data from a caller-supplied buffer to the IWICBitmapFrameEncode object.</summary>
            <param name="lineCount">
            <para>Type: <b>UINT</b> The number of lines to encode.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-writepixels#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="cbStride">
            <para>Type: <b>UINT</b> The stride of the image pixels.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-writepixels#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="cbBufferSize">
            <para>Type: <b>UINT</b> The size of the pixel buffer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-writepixels#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pbPixels">
            <para>Type: <b>BYTE*</b> A pointer to the pixel buffer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-writepixels#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>HRESULT</b> Possible return values include the following. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>Successive <b>WritePixels</b> calls are assumed to be sequential scan-line access in the output image.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.WriteSource(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,Windows.Win32.Graphics.Imaging.WICRect@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.WriteSource(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,Windows.Win32.Graphics.Imaging.WICRect*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.WriteSource(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,Windows.Win32.Graphics.Imaging.WICRect*)">
            <summary>Encodes a bitmap source.</summary>
            <param name="pIBitmapSource">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a>*</b> The bitmap source to encode.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-writesource#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="prc">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ns-wincodec-wicrect">WICRect</a>*</b> The size rectangle of the bitmap source.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-writesource#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>If <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-setsize">SetSize</a> is not called prior to calling <b>WriteSource</b>, the size given in <i>prc</i> is used if not <b>NULL</b>. Otherwise, the size of the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a> given in <i>pIBitmapSource</i> is used. If <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-setpixelformat">SetPixelFormat</a> is not called prior to calling <b>WriteSource</b>, the pixel format of the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a> given in <i>pIBitmapSource</i> is used. If <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-setresolution">SetResolution</a> is not called prior to calling <b>WriteSource</b>, the pixel format of <i>pIBitmapSource</i> is used. If <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-setpalette">SetPalette</a> is not called prior to calling <b>WriteSource</b>, the target pixel format is indexed, and the pixel format of <i>pIBitmapSource</i> matches the encoder frame's pixel format, then the <i>pIBitmapSource</i> pixel format is used. When encoding a GIF image, if the global palette is set and the frame level palette is not set directly by the user or by a custom independent software vendor (ISV) GIF codec, <b>WriteSource</b> will use the global palette to encode the frame even when <i>pIBitmapSource</i> has a frame level palette. Starting with  Windows Vista, repeated <b>WriteSource</b> calls can be made as long as the total accumulated source rect height is the same as set through <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-setsize">SetSize</a>. Starting with Windows 8.1, the source rect must be at least the dimensions set through <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-setsize">SetSize</a>. If the source rect width exceeds the <b>SetSize</b> width, extra pixels on the right side are ignored. If the source rect height exceeds the remaining unfilled height, extra scan lines on the bottom are ignored.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-writesource#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.Commit">
            <summary>Commits the frame to the image.</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>After the frame <b>Commit</b> has been called, you can't use or reinitialize the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapframeencode">IWICBitmapFrameEncode</a> object and any objects created from it.</para>
            <para>To finalize the image, both the frame <b>Commit</b> and the encoder <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapencoder-commit">Commit</a> must be called. However, only call the encoder  <b>Commit</b> method after all frames have been committed.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-commit#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.GetMetadataQueryWriter(Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter**)">
            <summary>Gets the metadata query writer for the encoder frame.</summary>
            <param name="ppIMetadataQueryWriter">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicmetadataquerywriter">IWICMetadataQueryWriter</a>**</b> When this method returns, contains a pointer to metadata query writer for the encoder frame.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapframeencode-getmetadataquerywriter#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>If you are setting metadata on the frame, you must do this before you use <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-writepixels">IWICBitmapFrameEncode::WritePixels</a> or <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapframeencode-writesource">IWICBitmapFrameEncode::WriteSource</a> to write any image pixels to the frame</remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{00000105-a8f2-4877-ba0a-fd2b6645fb94}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapLock.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapLock.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapLock.GetSize(System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapLock.GetSize(System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapLock.GetSize(System.UInt32*,System.UInt32*)">
            <summary>Retrieves the width and height, in pixels, of the locked rectangle.</summary>
            <param name="puiWidth">
            <para>Type: <b>UINT*</b> A pointer that receives the width of the locked rectangle.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmaplock-getsize#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="puiHeight">
            <para>Type: <b>UINT*</b> A pointer that receives the height of the locked rectangle.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmaplock-getsize#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/wincodec/nf-wincodec-iwicbitmaplock-getsize">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapLock.GetStride(System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapLock.GetStride(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapLock.GetStride(System.UInt32*)">
            <summary>Provides access to the stride value for the memory.</summary>
            <param name="pcbStride">Type: <b>UINT*</b></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>Note the stride value is specific to the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmaplock">IWICBitmapLock</a>, not the bitmap. For example, two consecutive locks on the same rectangle of a bitmap may return different pointers and stride values, depending on internal implementation.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmaplock-getstride#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapLock.GetDataPointer(System.UInt32@,System.Byte**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapLock.GetDataPointer(System.UInt32*,System.Byte**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapLock.GetDataPointer(System.UInt32*,System.Byte**)">
            <summary>Gets the pointer to the top left pixel in the locked rectangle.</summary>
            <param name="pcbBufferSize">
            <para>Type: <b>UINT*</b> A pointer that receives the size of the buffer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmaplock-getdatapointer#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppbData">
            <para>Type: <b>BYTE**</b> A pointer that receives a pointer to the top left pixel in the locked rectangle.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmaplock-getdatapointer#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 pointer provided by this method should not be used outside of the lifetime of the lock itself. <b>GetDataPointer</b> is not available in multi-threaded apartment applications.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmaplock-getdatapointer#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapLock.GetPixelFormat(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapLock.GetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapLock.GetPixelFormat(System.Guid*)">
            <summary>Gets the pixel format of for the locked area of pixels. This can be used to compute the number of bytes-per-pixel in the locked area.</summary>
            <param name="pPixelFormat">
            <para>Type: <b>WICPixelFormatGUID*</b> A pointer that receives the pixel format GUID of the locked area.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmaplock-getpixelformat#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/wincodec/nf-wincodec-iwicbitmaplock-getpixelformat">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICBitmapLock.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{00000123-a8f2-4877-ba0a-fd2b6645fb94}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapScaler.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapScaler.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapScaler.GetSize(System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapScaler.GetSize(System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapScaler.GetPixelFormat(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapScaler.GetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapScaler.GetResolution(System.Double@,System.Double@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapScaler.GetResolution(System.Double*,System.Double*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapScaler.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect@,System.UInt32,System.Span{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapScaler.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,System.UInt32,System.Byte*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapScaler.Initialize(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,System.UInt32,System.UInt32,Windows.Win32.Graphics.Imaging.WICBitmapInterpolationMode)">
            <summary>Initializes the bitmap scaler with the provided parameters.</summary>
            <param name="pISource">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a>*</b> The input bitmap source.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapscaler-initialize#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="uiWidth">
            <para>Type: <b>UINT</b> The destination width.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapscaler-initialize#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="uiHeight">
            <para>Type: <b>UINT</b> The destination height.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapscaler-initialize#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="mode">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmapinterpolationmode">WICBitmapInterpolationMode</a></b> The <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmapinterpolationmode">WICBitmapInterpolationMode</a> to use when scaling.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapscaler-initialize#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><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapscaler">IWICBitmapScaler</a> can't be initialized multiple times. For example, when scaling every frame in a multi-frame image, a new <b>IWICBitmapScaler</b> must be created and initialized for each frame.</remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICBitmapScaler.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{00000302-a8f2-4877-ba0a-fd2b6645fb94}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.GetSize(System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.GetSize(System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.GetSize(System.UInt32*,System.UInt32*)">
            <summary>Retrieves the pixel width and height of the bitmap.</summary>
            <param name="puiWidth">
            <para>Type: <b>UINT*</b> A pointer that receives the pixel width of the bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-getsize#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="puiHeight">
            <para>Type: <b>UINT*</b> A pointer that receives the pixel height of the bitmap</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-getsize#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/wincodec/nf-wincodec-iwicbitmapsource-getsize">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.GetPixelFormat(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.GetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.GetPixelFormat(System.Guid*)">
            <summary>Retrieves the pixel format of the bitmap source..</summary>
            <param name="pPixelFormat">
            <para>Type: <b>WICPixelFormatGUID*</b> Receives the pixel format GUID the bitmap is stored in. For a list of available pixel formats, see the <a href="https://docs.microsoft.com/windows/desktop/wic/-wic-codec-native-pixel-formats">Native Pixel Formats</a> topic.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-getpixelformat#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 pixel format returned by this method is not necessarily the pixel format the image is stored as. The codec may perform a format conversion from the storage pixel format to an output pixel format.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-getpixelformat#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.GetResolution(System.Double@,System.Double@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.GetResolution(System.Double*,System.Double*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.GetResolution(System.Double*,System.Double*)">
            <summary>Retrieves the sampling rate between pixels and physical world measurements.</summary>
            <param name="pDpiX">
            <para>Type: <b>double*</b> A pointer that receives the x-axis dpi resolution.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-getresolution#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pDpiY">
            <para>Type: <b>double*</b> A pointer that receives the y-axis dpi resolution.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-getresolution#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>Some formats, such as GIF and ICO, do not have full DPI support. For GIF, this method calculates the DPI values from the aspect ratio, using a base DPI of (96.0, 96.0). The ICO format does not support DPI at all, and the method always returns (96.0,96.0) for ICO images.</para>
            <para>Additionally, WIC itself does not transform images based on the DPI values in an image. It is up to the caller to transform an image based on the resolution returned.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-getresolution#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.CopyPalette(Windows.Win32.Graphics.Imaging.IWICPalette*)">
            <summary>Retrieves the color table for indexed pixel formats.</summary>
            <param name="pIPalette">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicpalette">IWICPalette</a>*</b> An <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicpalette">IWICPalette</a>. A palette can be created using the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicimagingfactory-createpalette">CreatePalette</a> method.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-copypalette#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>HRESULT</b> Returns one of the following values. </para>
            <para>This doc was truncated.</para>
            </returns>
            <remarks>
            <para>If the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a> is an <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapframedecode">IWICBitmapFrameDecode</a>, the function may return the image's global palette if a frame-level palette is not available. The global palette may also be retrieved using the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmapdecoder-copypalette">CopyPalette</a> method.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-copypalette#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect@,System.UInt32,System.Span{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,System.UInt32,System.Byte*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,System.UInt32,System.Byte*)">
            <summary>Instructs the object to produce pixels.</summary>
            <param name="prc">
            <para>Type: <b>const <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ns-wincodec-wicrect">WICRect</a>*</b> The rectangle to copy. A <b>NULL</b> value specifies the entire bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-copypixels#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="cbStride">
            <para>Type: <b>UINT</b> The stride of the bitmap</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-copypixels#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="cbBufferSize">
            <para>Type: <b>UINT</b> The size of the buffer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-copypixels#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pbBuffer">
            <para>Type: <b>BYTE*</b> A pointer to the buffer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-copypixels#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><b>CopyPixels</b> is one of the two main image processing routines (the other being <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicbitmap-lock">Lock</a>) triggering the actual processing. It instructs the object to produce pixels according to its algorithm - this may involve decoding a portion of a JPEG stored on disk, copying a block of memory, or even analytically computing a complex gradient. The algorithm is completely dependent on the object implementing the interface.</para>
            <para>The caller can restrict the operation to a rectangle of interest (ROI) using the prc parameter. The ROI sub-rectangle must be fully contained in the bounds of the bitmap. Specifying a <b>NULL</b> ROI implies that the whole bitmap should be returned.</para>
            <para>The caller controls the memory management and must provide an output buffer (<i>pbBuffer</i>) for the results of the copy along with the buffer's bounds (<i>cbBufferSize</i>). The cbStride parameter defines the count of bytes between two vertically adjacent pixels in the output buffer. The caller must ensure that there is sufficient buffer to complete the call based on the width, height and pixel format of the bitmap and the sub-rectangle provided to the copy method.</para>
            <para>If the caller needs to perform numerous copies of an expensive <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a> such as a JPEG, it is recommended to create an in-memory <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmap">IWICBitmap</a> first.</para>
            <para><h3><a id="Codec_Developer_Remarks"></a><a id="codec_developer_remarks"></a><a id="CODEC_DEVELOPER_REMARKS"></a>Codec Developer Remarks</h3> The callee must only write to the first (prc-&gt;Width*bitsperpixel+7)/8 bytes of each line of the output buffer (in this case, a line is a consecutive string of <i>cbStride</i> bytes).</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicbitmapsource-copypixels#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICBitmapSource.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{00000120-a8f2-4877-ba0a-fd2b6645fb94}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorContext.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorContext.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorContext.InitializeFromFilename(System.String)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorContext.InitializeFromFilename(Windows.Win32.Foundation.PCWSTR)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorContext.InitializeFromFilename(Windows.Win32.Foundation.PCWSTR)">
            <summary>Initializes the color context from the given file.</summary>
            <param name="wzFilename">
            <para>Type: <b>LPCWSTR</b> The name of the file.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccolorcontext-initializefromfilename#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>Once a color context has been initialized, it can't be re-initialized.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorContext.InitializeFromMemory(System.ReadOnlySpan{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorContext.InitializeFromMemory(System.Byte*,System.UInt32)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorContext.InitializeFromMemory(System.Byte*,System.UInt32)">
            <summary>Initializes the color context from a memory block.</summary>
            <param name="pbBuffer">
            <para>Type: <b>const BYTE*</b> The buffer used to initialize the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccolorcontext">IWICColorContext</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccolorcontext-initializefrommemory#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="cbBufferSize">
            <para>Type: <b>UINT</b> The size of the <i>pbBuffer</i> buffer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccolorcontext-initializefrommemory#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>Once a color context has been initialized, it can't be re-initialized.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorContext.InitializeFromExifColorSpace(System.UInt32)">
            <summary>Initializes the color context using an Exchangeable Image File (EXIF) color space.</summary>
            <param name="value">
            <para>Type: <b>UINT</b> The value of the EXIF color space. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccolorcontext-initializefromexifcolorspace#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>Once a color context has been initialized, it can't be re-initialized.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorContext.GetType(Windows.Win32.Graphics.Imaging.WICColorContextType@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorContext.GetType(Windows.Win32.Graphics.Imaging.WICColorContextType*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorContext.GetType(Windows.Win32.Graphics.Imaging.WICColorContextType*)">
            <summary>Retrieves the color context type. (IWICColorContext.GetType)</summary>
            <param name="pType">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wiccolorcontexttype">WICColorContextType</a>*</b> A pointer that receives the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wiccolorcontexttype">WICColorContextType</a> of the color context.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccolorcontext-gettype#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/wincodec/nf-wincodec-iwiccolorcontext-gettype">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorContext.GetProfileBytes(System.ReadOnlySpan{System.Byte},System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorContext.GetProfileBytes(System.UInt32,System.Byte*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorContext.GetProfileBytes(System.UInt32,System.Byte*,System.UInt32*)">
            <summary>Retrieves the color context profile.</summary>
            <param name="cbBuffer">
            <para>Type: <b>UINT</b> The size of the <i>pbBuffer</i> buffer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccolorcontext-getprofilebytes#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pbBuffer">
            <para>Type: <b>BYTE*</b> A pointer that receives the color context profile.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccolorcontext-getprofilebytes#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pcbActual">
            <para>Type: <b>UINT*</b> A pointer that receives the actual buffer size needed to retrieve the entire color context profile.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccolorcontext-getprofilebytes#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>Only use this method if the context type is <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wiccolorcontexttype">WICColorContextProfile</a>.</para>
            <para>Calling this method with <i>pbBuffer</i> set to <b>NULL</b> will cause it to return the required buffer size in <i>pcbActual</i>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccolorcontext-getprofilebytes#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorContext.GetExifColorSpace(System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorContext.GetExifColorSpace(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorContext.GetExifColorSpace(System.UInt32*)">
            <summary>Retrieves the Exchangeable Image File (EXIF) color space color context.</summary>
            <param name="pValue">
            <para>Type: <b>UINT*</b> A pointer that receives the EXIF color space color context. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccolorcontext-getexifcolorspace#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>This method should only be used when <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwiccolorcontext-gettype">IWICColorContext::GetType</a> indicates <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wiccolorcontexttype">WICColorContextExifColorSpace</a>.</remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICColorContext.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{3c613a02-34b2-44ea-9a7c-45aea9c6fd6d}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorTransform.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorTransform.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorTransform.GetSize(System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorTransform.GetSize(System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorTransform.GetPixelFormat(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorTransform.GetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorTransform.GetResolution(System.Double@,System.Double@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorTransform.GetResolution(System.Double*,System.Double*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorTransform.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect@,System.UInt32,System.Span{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorTransform.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,System.UInt32,System.Byte*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorTransform.Initialize(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,Windows.Win32.Graphics.Imaging.IWICColorContext*,Windows.Win32.Graphics.Imaging.IWICColorContext*,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorTransform.Initialize(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,Windows.Win32.Graphics.Imaging.IWICColorContext*,Windows.Win32.Graphics.Imaging.IWICColorContext*,System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICColorTransform.Initialize(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,Windows.Win32.Graphics.Imaging.IWICColorContext*,Windows.Win32.Graphics.Imaging.IWICColorContext*,System.Guid*)">
            <summary>Initializes an IWICColorTransform with a IWICBitmapSource and transforms it from one IWICColorContext to another.</summary>
            <param name="pIBitmapSource">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a>*</b> The bitmap source used to initialize the color transform.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccolortransform-initialize#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pIContextSource">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccolorcontext">IWICColorContext</a>*</b> The color context source.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccolortransform-initialize#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pIContextDest">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccolorcontext">IWICColorContext</a>*</b> The color context destination.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccolortransform-initialize#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pixelFmtDest">
            <para>Type: <b>REFWICPixelFormatGUID</b> The GUID of the desired pixel format. This parameter is limited to a subset of the native WIC pixel formats, see Remarks for a list.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccolortransform-initialize#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 currently supported formats for the <i>pIContextSource</i>  and <i>pixelFmtDest</i> parameters are:</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccolortransform-initialize#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICColorTransform.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{b66f034f-d0e2-40ab-b436-6de39e321a94}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetComponentType(Windows.Win32.Graphics.Imaging.WICComponentType@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetComponentType(Windows.Win32.Graphics.Imaging.WICComponentType*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetComponentType(Windows.Win32.Graphics.Imaging.WICComponentType*)">
            <summary>Retrieves the component's WICComponentType.</summary>
            <param name="pType">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wiccomponenttype">WICComponentType</a>*</b> A pointer that receives the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wiccomponenttype">WICComponentType</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getcomponenttype#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/wincodec/nf-wincodec-iwiccomponentinfo-getcomponenttype">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetCLSID(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetCLSID(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetCLSID(System.Guid*)">
            <summary>Retrieves the component's class identifier (CLSID)</summary>
            <param name="pclsid">
            <para>Type: <b>CLSID*</b> A pointer that receives the component's CLSID.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getclsid#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/wincodec/nf-wincodec-iwiccomponentinfo-getclsid">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetSigningStatus(System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetSigningStatus(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetSigningStatus(System.UInt32*)">
            <summary>Retrieves the signing status of the component.</summary>
            <param name="pStatus">
            <para>Type: <b>DWORD*</b> A pointer that receives the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wiccomponentsigning">WICComponentSigning</a> status of the component.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getsigningstatus#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>Signing is unused by WIC. Therefore, all components WICComponentSigned. This function can be used to determine whether a component has no binary component or has been added to the disabled components list in the registry.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getsigningstatus#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetAuthor(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetAuthor(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetAuthor(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)">
            <summary>Retrieves the name of component's author.</summary>
            <param name="cchAuthor">
            <para>Type: <b>UINT</b> The size of the <i>wzAuthor</i> buffer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getauthor#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="wzAuthor">
            <para>Type: <b>WCHAR*</b> A pointer that receives the name of the component's author. The locale of the string depends on the value that the codec wrote to the registry at install time. For built-in components, these strings are always in English.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getauthor#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pcchActual">
            <para>Type: <b>UINT*</b> A pointer that receives the actual length of the component's authors name. The author name is optional; if an author name is not specified by the component, the length returned is 0.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getauthor#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>If <i>cchAuthor</i> is 0 and <i>wzAuthor</i> is <b>NULL</b>, the required buffer size is returned in <i>pccchActual</i>.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetVendorGUID(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetVendorGUID(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetVendorGUID(System.Guid*)">
            <summary>Retrieves the vendor GUID.</summary>
            <param name="pguidVendor">
            <para>Type: <b>GUID*</b> A pointer that receives the component's vendor GUID.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getvendorguid#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/wincodec/nf-wincodec-iwiccomponentinfo-getvendorguid">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetVersion(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)">
            <summary>Retrieves the component's version.</summary>
            <param name="cchVersion">
            <para>Type: <b>UINT</b> The size of the <i>wzVersion</i> buffer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getversion#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="wzVersion">
            <para>Type: <b>WCHAR*</b> A pointer that receives a culture invariant string of the component's version.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getversion#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pcchActual">
            <para>Type: <b>UINT*</b> A pointer that receives the actual length of the component's version. The version is optional; if a value is not specified by the component, the length returned is 0.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getversion#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>All built-in components return "1.0.0.0", except for pixel formats, which do not have a version. If <i>cchAuthor</i> is 0 and <i>wzAuthor</i> is <b>NULL</b>, the required buffer size is returned in <i>pccchActual</i>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getversion#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetSpecVersion(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetSpecVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetSpecVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)">
            <summary>Retrieves the component's specification version.</summary>
            <param name="cchSpecVersion">
            <para>Type: <b>UINT</b> The size of the <i>wzSpecVersion</i> buffer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getspecversion#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="wzSpecVersion">
            <para>Type: <b>WCHAR*</b> When this method returns, contain a culture invariant string of the component's specification version. The version form is NN.NN.NN.NN.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getspecversion#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pcchActual">
            <para>Type: <b>UINT*</b> A pointer that receives the actual length of the component's specification version. The specification version is optional; if a value is not specified by the component, the length returned is 0.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getspecversion#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>All built-in components return "1.0.0.0", except for pixel formats, which do not have a spec version. If <i>cchAuthor</i> is 0 and <i>wzAuthor</i> is <b>NULL</b>, the required buffer size is returned in <i>pccchActual</i>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getspecversion#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetFriendlyName(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetFriendlyName(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.GetFriendlyName(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)">
            <summary>Retrieves the component's friendly name, which is a human-readable display name for the component.</summary>
            <param name="cchFriendlyName">
            <para>Type: <b>UINT</b> The size of the <i>wzFriendlyName</i> buffer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getfriendlyname#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="wzFriendlyName">
            <para>Type: <b>WCHAR*</b> A pointer that receives the friendly name of the component. The locale of the string depends on the value that the codec wrote to the registry at install time. For built-in components, these strings are always in English.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getfriendlyname#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pcchActual">
            <para>Type: <b>UINT*</b> A pointer that receives the actual length of the component's friendly name.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwiccomponentinfo-getfriendlyname#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>If <i>cchFriendlyName</i> is 0 and <i>wzFriendlyName</i> is <b>NULL</b>, the required buffer size is returned in <i>pccchActual</i>.</remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICComponentInfo.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{23bc3f0a-698b-4357-886b-f24d50671334}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICFastMetadataEncoder.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICFastMetadataEncoder.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICFastMetadataEncoder.Commit">
            <summary>Finalizes metadata changes to the image stream.</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>If the commit fails and returns <b>WINCODEC_ERR_STREAMNOTAVAILABLE</b>, ensure that the image decoder was loaded using the <b>WICDecodeMetadataCacheOnDemand</b> option. A fast metadata encoder is not supported when the decoder is created using the <b>WICDecodeMetadataCacheOnLoad</b> option. If the commit fails for any reason, you will need to re-encode the image to ensure the new metadata is added to the image.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicfastmetadataencoder-commit#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICFastMetadataEncoder.GetMetadataQueryWriter(Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter**)">
            <summary>Retrieves a metadata query writer for fast metadata encoding.</summary>
            <param name="ppIMetadataQueryWriter">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicmetadataquerywriter">IWICMetadataQueryWriter</a>**</b> When this method returns, contains a pointer to the fast metadata encoder's metadata query writer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicfastmetadataencoder-getmetadataquerywriter#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/wincodec/nf-wincodec-iwicfastmetadataencoder-getmetadataquerywriter">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICFastMetadataEncoder.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{b84e2c09-78c9-4ac4-8bd3-524ae1663a2f}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.GetSize(System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.GetSize(System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.GetPixelFormat(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.GetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.GetResolution(System.Double@,System.Double@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.GetResolution(System.Double*,System.Double*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect@,System.UInt32,System.Span{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,System.UInt32,System.Byte*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.Initialize(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,System.Guid@,Windows.Win32.Graphics.Imaging.WICBitmapDitherType,Windows.Win32.Graphics.Imaging.IWICPalette*,System.Double,Windows.Win32.Graphics.Imaging.WICBitmapPaletteType)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.Initialize(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,System.Guid*,Windows.Win32.Graphics.Imaging.WICBitmapDitherType,Windows.Win32.Graphics.Imaging.IWICPalette*,System.Double,Windows.Win32.Graphics.Imaging.WICBitmapPaletteType)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.Initialize(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,System.Guid*,Windows.Win32.Graphics.Imaging.WICBitmapDitherType,Windows.Win32.Graphics.Imaging.IWICPalette*,System.Double,Windows.Win32.Graphics.Imaging.WICBitmapPaletteType)">
            <summary>Initializes the format converter.</summary>
            <param name="pISource">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a>*</b> The input bitmap to convert</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicformatconverter-initialize#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="dstFormat">
            <para>Type: <b>REFWICPixelFormatGUID</b> The destination pixel format GUID.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicformatconverter-initialize#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="dither">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmapdithertype">WICBitmapDitherType</a></b> The <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmapdithertype">WICBitmapDitherType</a> used for conversion.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicformatconverter-initialize#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pIPalette">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicpalette">IWICPalette</a>*</b> The palette to use for conversion.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicformatconverter-initialize#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="alphaThresholdPercent">
            <para>Type: <b>double</b> The alpha threshold to use for conversion.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicformatconverter-initialize#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="paletteTranslate">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmappalettetype">WICBitmapPaletteType</a></b> The palette translation type to use for conversion.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicformatconverter-initialize#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>If you do not have a predefined palette, you must first create one. Use <a href="https://docs.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicpalette-initializefrombitmap">InitializeFromBitmap</a> to create the palette object, then pass it in along with your other parameters.</para>
            <para><i>dither</i>, <i>pIPalette</i>, <i>alphaThresholdPercent</i>, and <i>paletteTranslate</i> are used to mitigate color loss when converting to a reduced bit-depth format. For conversions that do not need these settings, the following parameters values should be used: <i>dither</i> set to <b>WICBitmapDitherTypeNone</b>, <i>pIPalette</i> set to <b>NULL</b>, <i>alphaThresholdPercent</i> set to <b>0.0f</b>, and <i>paletteTranslate</i> set to <b>WICBitmapPaletteTypeCustom</b>.</para>
            <para>The basic algorithm involved when using an ordered dither requires a fixed palette, found in the <a href="https://docs.microsoft.com/windows/win32/api/wincodec/ne-wincodec-wicbitmappalettetype">WICBitmapPaletteType</a> enumeration, in a specific order. Often, the actual palette provided for the output may have a different ordering or some slight variation in the actual colors. This is the case when using the Microsoft Windows palette which has slight differences among versions of Windows.To provide for this, a palette and a palette translation are given to the format converter. The <i>pIPalette</i> is the actual destination palette to be used and the <i>paletteTranslate</i> is a fixed palette. Once the conversion is complete, the colors are mapped from the fixed palette to the actual colors in <i>pIPalette</i> using a nearest color matching algorithm. If colors in <i>pIPalette</i> do not closely match those in <i>paletteTranslate</i>, the mapping may produce undesirable results. <b>WICBitmapDitherTypeOrdered4x4</b> can be useful in format conversions from 8-bit formats to 5- or 6-bit formats as there is no way to accurately convert color data. <b>WICBitmapDitherTypeErrorDiffusion</b> selects the error diffusion algorithm and may be used with any palette. If an arbitrary palette is provided, <b>WICBitmapPaletteCustom</b> should be passed in as the <i>paletteTranslate</i>. Error diffusion often provides superior results compared to the ordered dithering algorithms especially when combined with the optimized palette generation functionality on the <a href="https://docs.microsoft.com/windows/win32/api/wincodec/nn-wincodec-iwicpalette">IWICPalette</a>. When converting a bitmap which has an alpha channel, such as a Portable Network Graphics (PNG), to 8bpp, the alpha channel is normally ignored. Any pixels which were transparent in the original bitmap show up as black in the final output because both transparent and black have pixel values of zero in the respective formats. Some 8bpp content can contains an alpha color; for instance, the Graphics Interchange Format (GIF) format allows for a single palette entry to be used as a transparent color. For this type of content, <i>alphaThresholdPercent</i>  specifies what percentage of transparency should map to the transparent color. Because the alpha value is directly proportional to the opacity (not transparency) of a pixel, the <i>alphaThresholdPercent</i> indicates what level of opacity is mapped to the fully transparent color. For instance, 9.8% implies that any pixel with an alpha value of less than 25 will be mapped to the transparent color. A value of 100% maps all pixels which are not fully opaque to the transparent color. Note that the palette should provide a transparent color. If it does not, the 'transparent' color will be the one closest to zero - often black.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicformatconverter-initialize#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.CanConvert(System.Guid@,System.Guid@,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.CanConvert(System.Guid*,System.Guid*,Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.CanConvert(System.Guid*,System.Guid*,Windows.Win32.Foundation.BOOL*)">
            <summary>Determines if the source pixel format can be converted to the destination pixel format.</summary>
            <param name="srcPixelFormat">
            <para>Type: <b>REFWICPixelFormatGUID</b> The source pixel format.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicformatconverter-canconvert#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="dstPixelFormat">
            <para>Type: <b>REFWICPixelFormatGUID</b> The destination pixel format.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicformatconverter-canconvert#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pfCanConvert">
            <para>Type: <b>BOOL*</b> A pointer that receives a value indicating whether the source pixel format can be converted to the destination pixel format.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicformatconverter-canconvert#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/wincodec/nf-wincodec-iwicformatconverter-canconvert">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICFormatConverter.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{00000301-a8f2-4877-ba0a-fd2b6645fb94}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateDecoderFromFilename(System.String,System.Nullable{System.Guid},Windows.Win32.Foundation.GENERIC_ACCESS_RIGHTS,Windows.Win32.Graphics.Imaging.WICDecodeOptions)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateDecoderFromFilename(Windows.Win32.Foundation.PCWSTR,System.Guid*,Windows.Win32.Foundation.GENERIC_ACCESS_RIGHTS,Windows.Win32.Graphics.Imaging.WICDecodeOptions)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateDecoderFromFilename(Windows.Win32.Foundation.PCWSTR,System.Guid*,Windows.Win32.Foundation.GENERIC_ACCESS_RIGHTS,Windows.Win32.Graphics.Imaging.WICDecodeOptions)">
            <summary>Creates a new instance of the IWICBitmapDecoder class based on the given file.</summary>
            <param name="wzFilename">
            <para>Type: <b>LPCWSTR</b> A pointer to a null-terminated string that specifies the name of an object to create or open.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createdecoderfromfilename#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pguidVendor">
            <para>Type: <b>const GUID*</b> The GUID for the preferred decoder vendor. Use <b>NULL</b> if no preferred vendor.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createdecoderfromfilename#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="dwDesiredAccess">
            <para>Type: <b>DWORD</b> The access to the object, which can be read, write, or both.</para>
            <para></para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createdecoderfromfilename#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="metadataOptions">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicdecodeoptions">WICDecodeOptions</a></b> The <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicdecodeoptions">WICDecodeOptions</a> to use when creating the decoder.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createdecoderfromfilename#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/wincodec/nf-wincodec-iwicimagingfactory-createdecoderfromfilename">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateDecoderFromStream(Windows.Win32.System.Com.IStream*,System.Guid@,Windows.Win32.Graphics.Imaging.WICDecodeOptions)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateDecoderFromStream(Windows.Win32.System.Com.IStream*,System.Guid*,Windows.Win32.Graphics.Imaging.WICDecodeOptions)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateDecoderFromStream(Windows.Win32.System.Com.IStream*,System.Guid*,Windows.Win32.Graphics.Imaging.WICDecodeOptions)">
            <summary>Creates a new instance of the IWICBitmapDecoder class based on the given IStream.</summary>
            <param name="pIStream">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istream">IStream</a>*</b> The stream to create the decoder from.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createdecoderfromstream#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pguidVendor">
            <para>Type: <b>const GUID*</b> The GUID for the preferred decoder vendor. Use <b>NULL</b> if no preferred vendor.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createdecoderfromstream#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="metadataOptions">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicdecodeoptions">WICDecodeOptions</a></b> The <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicdecodeoptions">WICDecodeOptions</a> to use when creating the decoder.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createdecoderfromstream#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/wincodec/nf-wincodec-iwicimagingfactory-createdecoderfromstream">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateDecoderFromFileHandle(System.UIntPtr,System.Guid@,Windows.Win32.Graphics.Imaging.WICDecodeOptions)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateDecoderFromFileHandle(System.UIntPtr,System.Guid*,Windows.Win32.Graphics.Imaging.WICDecodeOptions)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateDecoderFromFileHandle(System.UIntPtr,System.Guid*,Windows.Win32.Graphics.Imaging.WICDecodeOptions)">
            <summary>Creates a new instance of the IWICBitmapDecoder based on the given file handle.</summary>
            <param name="hFile">
            <para>Type: <b>ULONG_PTR</b> The file handle to create the decoder from.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createdecoderfromfilehandle#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pguidVendor">
            <para>Type: <b>const GUID*</b> The GUID for the preferred decoder vendor. Use <b>NULL</b> if no preferred vendor.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createdecoderfromfilehandle#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="metadataOptions">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicdecodeoptions">WICDecodeOptions</a></b> The <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicdecodeoptions">WICDecodeOptions</a> to use when creating the decoder.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createdecoderfromfilehandle#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 a decoder is created using this method, the file handle must remain alive during the lifetime of the decoder.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateComponentInfo(System.Guid@,Windows.Win32.Graphics.Imaging.IWICComponentInfo**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateComponentInfo(System.Guid*,Windows.Win32.Graphics.Imaging.IWICComponentInfo**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateComponentInfo(System.Guid*,Windows.Win32.Graphics.Imaging.IWICComponentInfo**)">
            <summary>Creates a new instance of the IWICComponentInfo class for the given component class identifier (CLSID).</summary>
            <param name="clsidComponent">
            <para>Type: <b>REFCLSID</b> The CLSID for the desired component.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createcomponentinfo#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppIInfo">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccomponentinfo">IWICComponentInfo</a>**</b> A pointer that receives a pointer to a new <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccomponentinfo">IWICComponentInfo</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createcomponentinfo#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/wincodec/nf-wincodec-iwicimagingfactory-createcomponentinfo">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateDecoder(System.Guid@,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateDecoder(System.Guid*,System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateDecoder(System.Guid*,System.Guid*)">
            <summary>Creates a new instance of IWICBitmapDecoder.</summary>
            <param name="guidContainerFormat">
            <para>Type: <b>REFGUID</b> The GUID for the desired container format. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createdecoder#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pguidVendor">
            <para>Type: <b>const GUID*</b> The GUID for the preferred encoder vendor. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createdecoder#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>Other values may be available for both <i>guidContainerFormat</i> and <i>pguidVendor</i> depending on the installed WIC-enabled encoders. The values listed are those that are natively supported by the operating system.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createdecoder#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateEncoder(System.Guid@,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateEncoder(System.Guid*,System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateEncoder(System.Guid*,System.Guid*)">
            <summary>Creates a new instance of the IWICBitmapEncoder class.</summary>
            <param name="guidContainerFormat">
            <para>Type: <b>REFGUID</b> The GUID for the desired container format. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createencoder#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pguidVendor">
            <para>Type: <b>const GUID*</b> The GUID for the preferred encoder vendor. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createencoder#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>Other values may be available for both <i>guidContainerFormat</i> and <i>pguidVendor</i> depending on the installed WIC-enabled encoders. The values listed are those that are natively supported by the operating system.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createencoder#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreatePalette(Windows.Win32.Graphics.Imaging.IWICPalette**)">
            <summary>Creates a new instance of the IWICPalette class.</summary>
            <param name="ppIPalette">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicpalette">IWICPalette</a>**</b> A pointer that receives a pointer to a new <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicpalette">IWICPalette</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createpalette#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/wincodec/nf-wincodec-iwicimagingfactory-createpalette">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateFormatConverter(Windows.Win32.Graphics.Imaging.IWICFormatConverter**)">
            <summary>Creates a new instance of the IWICFormatConverter class.</summary>
            <param name="ppIFormatConverter">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicformatconverter">IWICFormatConverter</a>**</b> A pointer that receives a pointer to a new <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicformatconverter">IWICFormatConverter</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createformatconverter#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/wincodec/nf-wincodec-iwicimagingfactory-createformatconverter">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateBitmapScaler(Windows.Win32.Graphics.Imaging.IWICBitmapScaler**)">
            <summary>Creates a new instance of an IWICBitmapScaler.</summary>
            <param name="ppIBitmapScaler">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapscaler">IWICBitmapScaler</a>**</b> A pointer that receives a pointer to a new <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapscaler">IWICBitmapScaler</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapscaler#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/wincodec/nf-wincodec-iwicimagingfactory-createbitmapscaler">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateBitmapClipper(Windows.Win32.Graphics.Imaging.IWICBitmapClipper**)">
            <summary>Creates a new instance of an IWICBitmapClipper object.</summary>
            <param name="ppIBitmapClipper">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapclipper">IWICBitmapClipper</a>**</b> A pointer that receives a pointer to a new <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapclipper">IWICBitmapClipper</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapclipper#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/wincodec/nf-wincodec-iwicimagingfactory-createbitmapclipper">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateBitmapFlipRotator(Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator**)">
            <summary>Creates a new instance of an IWICBitmapFlipRotator object.</summary>
            <param name="ppIBitmapFlipRotator">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapfliprotator">IWICBitmapFlipRotator</a>**</b> A pointer that receives a pointer to a new <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapfliprotator">IWICBitmapFlipRotator</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfliprotator#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/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfliprotator">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateStream(Windows.Win32.Graphics.Imaging.IWICStream**)">
            <summary>Creates a new instance of the IWICStream class.</summary>
            <param name="ppIWICStream">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicstream">IWICStream</a>**</b> A pointer that receives a pointer to a new <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicstream">IWICStream</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createstream#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/wincodec/nf-wincodec-iwicimagingfactory-createstream">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateColorContext(Windows.Win32.Graphics.Imaging.IWICColorContext**)">
            <summary>Creates a new instance of the IWICColorContext class.</summary>
            <param name="ppIWICColorContext">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccolorcontext">IWICColorContext</a>**</b> A pointer that receives a pointer to a new <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccolorcontext">IWICColorContext</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createcolorcontext#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/wincodec/nf-wincodec-iwicimagingfactory-createcolorcontext">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateColorTransformer(Windows.Win32.Graphics.Imaging.IWICColorTransform**)">
            <summary>Creates a new instance of the IWICColorTransform class.</summary>
            <param name="ppIWICColorTransform">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccolortransform">IWICColorTransform</a>**</b> A pointer that receives a pointer to a new <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwiccolortransform">IWICColorTransform</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createcolortransformer#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/wincodec/nf-wincodec-iwicimagingfactory-createcolortransformer">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateBitmap(System.UInt32,System.UInt32,System.Guid@,Windows.Win32.Graphics.Imaging.WICBitmapCreateCacheOption,Windows.Win32.Graphics.Imaging.IWICBitmap**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateBitmap(System.UInt32,System.UInt32,System.Guid*,Windows.Win32.Graphics.Imaging.WICBitmapCreateCacheOption,Windows.Win32.Graphics.Imaging.IWICBitmap**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateBitmap(System.UInt32,System.UInt32,System.Guid*,Windows.Win32.Graphics.Imaging.WICBitmapCreateCacheOption,Windows.Win32.Graphics.Imaging.IWICBitmap**)">
            <summary>Creates an IWICBitmap object.</summary>
            <param name="uiWidth">
            <para>Type: <b>UINT</b> The width of the new bitmap .</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmap#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="uiHeight">
            <para>Type: <b>UINT</b> The height of the new bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmap#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pixelFormat">
            <para>Type: <b>REFWICPixelFormatGUID</b> The pixel format of the new bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmap#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="option">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmapcreatecacheoption">WICBitmapCreateCacheOption</a></b> The cache creation options of the new bitmap. This can be one of the values in the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmapcreatecacheoption">WICBitmapCreateCacheOption</a> enumeration. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmap#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppIBitmap">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmap">IWICBitmap</a>**</b> A pointer that receives a pointer to the new bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmap#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/wincodec/nf-wincodec-iwicimagingfactory-createbitmap">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateBitmapFromSource(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,Windows.Win32.Graphics.Imaging.WICBitmapCreateCacheOption,Windows.Win32.Graphics.Imaging.IWICBitmap**)">
            <summary>Creates a IWICBitmap from a IWICBitmapSource.</summary>
            <param name="pIBitmapSource">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a>*</b> The <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a> to create the bitmap from.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromsource#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="option">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmapcreatecacheoption">WICBitmapCreateCacheOption</a></b> The cache options of the new bitmap.  This can be one of the values in the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmapcreatecacheoption">WICBitmapCreateCacheOption</a> enumeration. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromsource#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppIBitmap">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmap">IWICBitmap</a>**</b> A pointer that receives a pointer to the new bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromsource#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/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromsource">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateBitmapFromSourceRect(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,System.UInt32,System.UInt32,System.UInt32,System.UInt32,Windows.Win32.Graphics.Imaging.IWICBitmap**)">
            <summary>Creates an IWICBitmap from a specified rectangle of an IWICBitmapSource.</summary>
            <param name="pIBitmapSource">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a>*</b> The <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a> to create the bitmap from.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromsourcerect#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="x">
            <para>Type: <b>UINT</b> The horizontal coordinate of the upper-left corner of the rectangle.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromsourcerect#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="y">
            <para>Type: <b>UINT</b> The vertical coordinate of the upper-left corner of the rectangle.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromsourcerect#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="width">
            <para>Type: <b>UINT</b> The width of the rectangle and the new bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromsourcerect#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="height">
            <para>Type: <b>UINT</b> The height of the rectangle and the new bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromsourcerect#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppIBitmap">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmap">IWICBitmap</a>**</b> A pointer that receives a pointer to the new bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromsourcerect#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>Providing a rectangle that is larger than the source will produce undefined results. This method always creates a separate copy of the source image, similar to the cache option <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmapcreatecacheoption">WICBitmapCacheOnLoad</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromsourcerect#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateBitmapFromMemory(System.UInt32,System.UInt32,System.Guid@,System.UInt32,System.ReadOnlySpan{System.Byte},Windows.Win32.Graphics.Imaging.IWICBitmap**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateBitmapFromMemory(System.UInt32,System.UInt32,System.Guid*,System.UInt32,System.UInt32,System.Byte*,Windows.Win32.Graphics.Imaging.IWICBitmap**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateBitmapFromMemory(System.UInt32,System.UInt32,System.Guid*,System.UInt32,System.UInt32,System.Byte*,Windows.Win32.Graphics.Imaging.IWICBitmap**)">
            <summary>Creates an IWICBitmap from a memory block.</summary>
            <param name="uiWidth">
            <para>Type: <b>UINT</b> The width of the new bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfrommemory#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="uiHeight">
            <para>Type: <b>UINT</b> The height of the new bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfrommemory#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pixelFormat">
            <para>Type: <b>REFWICPixelFormatGUID</b> The pixel format of the new bitmap.  For valid pixel formats, see <a href="https://docs.microsoft.com/windows/desktop/wic/-wic-codec-native-pixel-formats">Native Pixel Formats</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfrommemory#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="cbStride">
            <para>Type: <b>UINT</b> The number of bytes between successive scanlines in <i>pbBuffer</i>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfrommemory#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="cbBufferSize">
            <para>Type: <b>UINT</b> The size of <i>pbBuffer</i>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfrommemory#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pbBuffer">
            <para>Type: <b>BYTE*</b> The buffer used to create the bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfrommemory#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppIBitmap">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmap">IWICBitmap</a>**</b> A pointer that receives a pointer to the new bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfrommemory#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 size of the <a href="https://docs.microsoft.com/windows/desktop/wic/-wic-imp-iwicbitmapdecoder">IWICBitmap</a> to be created must be smaller than or equal to the size of the image in <i>pbBuffer</i>. The stride of the destination bitmap will equal the <i>stride</i> of the source data, regardless of the width and height specified. The <i>pixelFormat</i> parameter defines the pixel format for both the input data and the output bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfrommemory#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateBitmapFromHBITMAP(System.Runtime.InteropServices.SafeHandle,System.Runtime.InteropServices.SafeHandle,Windows.Win32.Graphics.Imaging.WICBitmapAlphaChannelOption,Windows.Win32.Graphics.Imaging.IWICBitmap**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateBitmapFromHBITMAP(Windows.Win32.Graphics.Gdi.HBITMAP,Windows.Win32.Graphics.Gdi.HPALETTE,Windows.Win32.Graphics.Imaging.WICBitmapAlphaChannelOption,Windows.Win32.Graphics.Imaging.IWICBitmap**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateBitmapFromHBITMAP(Windows.Win32.Graphics.Gdi.HBITMAP,Windows.Win32.Graphics.Gdi.HPALETTE,Windows.Win32.Graphics.Imaging.WICBitmapAlphaChannelOption,Windows.Win32.Graphics.Imaging.IWICBitmap**)">
            <summary>Creates an IWICBitmap from a bitmap handle.</summary>
            <param name="hBitmap">
            <para>Type: <b>HBITMAP</b> A bitmap handle to create the bitmap from.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromhbitmap#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="hPalette">
            <para>Type: <b>HPALETTE</b> A palette handle used to create the bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromhbitmap#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="options">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmapalphachanneloption">WICBitmapAlphaChannelOption</a></b> The alpha channel options to create the bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromhbitmap#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppIBitmap">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmap">IWICBitmap</a>**</b> A pointer that receives a pointer to the new bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromhbitmap#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>For a non-palletized bitmap, set NULL for the <i>hPalette</i> parameter.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateBitmapFromHICON(System.Runtime.InteropServices.SafeHandle,Windows.Win32.Graphics.Imaging.IWICBitmap**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateBitmapFromHICON(Windows.Win32.UI.WindowsAndMessaging.HICON,Windows.Win32.Graphics.Imaging.IWICBitmap**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateBitmapFromHICON(Windows.Win32.UI.WindowsAndMessaging.HICON,Windows.Win32.Graphics.Imaging.IWICBitmap**)">
            <summary>Creates an IWICBitmap from an icon handle.</summary>
            <param name="hIcon">
            <para>Type: <b>HICON</b> The icon handle to create the new bitmap from.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromhicon#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppIBitmap">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmap">IWICBitmap</a>**</b> A pointer that receives a pointer to the new bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromhicon#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/wincodec/nf-wincodec-iwicimagingfactory-createbitmapfromhicon">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateComponentEnumerator(System.UInt32,System.UInt32,Windows.Win32.System.Com.IEnumUnknown**)">
            <summary>Creates an IEnumUnknown object of the specified component types.</summary>
            <param name="componentTypes">
            <para>Type: <b>DWORD</b> The types of <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wiccomponenttype">WICComponentType</a> to enumerate.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createcomponentenumerator#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="options">
            <para>Type: <b>DWORD</b> The <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wiccomponentenumerateoptions">WICComponentEnumerateOptions</a> used to enumerate the given component types.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createcomponentenumerator#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppIEnumUnknown">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-ienumunknown">IEnumUnknown</a>**</b> A pointer that receives a pointer to a new component enumerator.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createcomponentenumerator#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>Component types must be enumerated separately. Combinations of component types and <b>WICAllComponents</b> are unsupported.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateFastMetadataEncoderFromDecoder(Windows.Win32.Graphics.Imaging.IWICBitmapDecoder*,Windows.Win32.Graphics.Imaging.IWICFastMetadataEncoder**)">
            <summary>Creates a new instance of the fast metadata encoder based on the given IWICBitmapDecoder.</summary>
            <param name="pIDecoder">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapdecoder">IWICBitmapDecoder</a>*</b> The decoder to create the fast metadata encoder from.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createfastmetadataencoderfromdecoder#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppIFastEncoder">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicfastmetadataencoder">IWICFastMetadataEncoder</a>**</b> When this method returns, contains a pointer to the new <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicfastmetadataencoder">IWICFastMetadataEncoder</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createfastmetadataencoderfromdecoder#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 Windows provided codecs do not support fast metadata encoding at the decoder level, and only support fast metadata encoding at the frame level. To create a fast metadata encoder from a frame, see <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicimagingfactory-createfastmetadataencoderfromframedecode">CreateFastMetadataEncoderFromFrameDecode</a>.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateFastMetadataEncoderFromFrameDecode(Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode*,Windows.Win32.Graphics.Imaging.IWICFastMetadataEncoder**)">
            <summary>Creates a new instance of the fast metadata encoder based on the given image frame.</summary>
            <param name="pIFrameDecoder">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapframedecode">IWICBitmapFrameDecode</a>*</b> The <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapframedecode">IWICBitmapFrameDecode</a> to create the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicfastmetadataencoder">IWICFastMetadataEncoder</a> from.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createfastmetadataencoderfromframedecode#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppIFastEncoder">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicfastmetadataencoder">IWICFastMetadataEncoder</a>**</b> When this method returns, contains a pointer to a new fast metadata encoder.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createfastmetadataencoderfromframedecode#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>For a list of support metadata formats for fast metadata encoding, see <a href="https://docs.microsoft.com/windows/desktop/wic/-wic-about-metadata">WIC Metadata Overview</a>.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateQueryWriter(System.Guid@,System.Guid@,Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateQueryWriter(System.Guid*,System.Guid*,Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateQueryWriter(System.Guid*,System.Guid*,Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter**)">
            <summary>Creates a new instance of a query writer.</summary>
            <param name="guidMetadataFormat">
            <para>Type: <b>REFGUID</b> The GUID for the desired metadata format.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createquerywriter#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pguidVendor">
            <para>Type: <b>const GUID*</b> The GUID for the preferred metadata writer vendor. Use <b>NULL</b> if no preferred vendor.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createquerywriter#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppIQueryWriter">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicmetadataquerywriter">IWICMetadataQueryWriter</a>**</b> When this method returns, contains a pointer to a new <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicmetadataquerywriter">IWICMetadataQueryWriter</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createquerywriter#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/wincodec/nf-wincodec-iwicimagingfactory-createquerywriter">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateQueryWriterFromReader(Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader*,System.Guid@,Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateQueryWriterFromReader(Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader*,System.Guid*,Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.CreateQueryWriterFromReader(Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader*,System.Guid*,Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter**)">
            <summary>Creates a new instance of a query writer based on the given query reader. The query writer will be pre-populated with metadata from the query reader.</summary>
            <param name="pIQueryReader">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicmetadataqueryreader">IWICMetadataQueryReader</a>*</b> The <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicmetadataqueryreader">IWICMetadataQueryReader</a> to create the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicmetadataquerywriter">IWICMetadataQueryWriter</a> from.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createquerywriterfromreader#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pguidVendor">
            <para>Type: <b>const GUID*</b> The GUID for the preferred metadata writer vendor. Use <b>NULL</b> if no preferred vendor.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createquerywriterfromreader#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ppIQueryWriter">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicmetadataquerywriter">IWICMetadataQueryWriter</a>**</b> When this method returns, contains a pointer to a new metadata writer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicimagingfactory-createquerywriterfromreader#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/wincodec/nf-wincodec-iwicimagingfactory-createquerywriterfromreader">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICImagingFactory.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{ec5ec8a9-c395-4314-9c77-54d7a935ff70}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.GetContainerFormat(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.GetContainerFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.GetContainerFormat(System.Guid*)">
            <summary>Gets the metadata query readers container format.</summary>
            <param name="pguidContainerFormat">
            <para>Type: <b>GUID*</b> Pointer that receives the cointainer format GUID.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicmetadataqueryreader-getcontainerformat#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/wincodec/nf-wincodec-iwicmetadataqueryreader-getcontainerformat">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.GetLocation(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.GetLocation(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.GetLocation(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)">
            <summary>Retrieves the current path relative to the root metadata block.</summary>
            <param name="cchMaxLength">
            <para>Type: <b>UINT</b> The length of the <i>wzNamespace</i> buffer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicmetadataqueryreader-getlocation#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="wzNamespace">
            <para>Type: <b>WCHAR*</b> Pointer that receives the current namespace location.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicmetadataqueryreader-getlocation#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pcchActualLength">
            <para>Type: <b>UINT*</b> The actual buffer length that was needed to retrieve the current namespace location.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicmetadataqueryreader-getlocation#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>If you pass <b>NULL</b> to <i>wzNamespace</i>, <b>GetLocation</b> ignores <i>cchMaxLength</i> and returns the required buffer length to store the path in the variable that <i>pcchActualLength</i> points to.</para>
            <para>If the query reader is relative to the top of the metadata hierarchy, it will return a single-char string. If the query reader is relative to a nested metadata block, this method will return the path to the current query reader.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicmetadataqueryreader-getlocation#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.GetMetadataByName(System.String,Windows.Win32.System.Com.StructuredStorage.PROPVARIANT@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.GetMetadataByName(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.StructuredStorage.PROPVARIANT*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.GetMetadataByName(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.StructuredStorage.PROPVARIANT*)">
            <summary>Retrieves the metadata block or item identified by a metadata query expression.</summary>
            <param name="wzName">
            <para>Type: <b>LPCWSTR</b> The query expression to the requested metadata block or item.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicmetadataqueryreader-getmetadatabyname#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pvarValue">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/propidl/ns-propidl-propvariant">PROPVARIANT</a>*</b> When this method returns, contains the metadata block or item requested.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicmetadataqueryreader-getmetadatabyname#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><b>GetMetadataByName</b> uses metadata query expressions to access embedded metadata. For more information on the metadata query language, see the <a href="https://docs.microsoft.com/windows/desktop/wic/-wic-codec-metadataquerylanguage">Metadata Query Language Overview</a>. If multiple blocks or items exist that are expressed by the same query expression, the first metadata block or item found will be returned.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicmetadataqueryreader-getmetadatabyname#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.GetEnumerator(Windows.Win32.System.Com.IEnumString**)">
            <summary>Gets an enumerator of all metadata items at the current relative location within the metadata hierarchy.</summary>
            <param name="ppIEnumString">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-ienumstring">IEnumString</a>**</b> A pointer to a variable that receives a pointer to the <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-ienumstring">IEnumString</a> interface for the enumerator that contains query strings that can be used in the current <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicmetadataqueryreader">IWICMetadataQueryReader</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicmetadataqueryreader-getenumerator#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 retrieved enumerator only contains query strings for the metadata blocks and items in the current level of the hierarchy.</remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{30989668-e1c9-4597-b395-458eedb808df}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.GetContainerFormat(System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.GetContainerFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.GetLocation(System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.GetLocation(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.GetMetadataByName(System.String,Windows.Win32.System.Com.StructuredStorage.PROPVARIANT@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.GetMetadataByName(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.StructuredStorage.PROPVARIANT*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.SetMetadataByName(System.String,Windows.Win32.System.Com.StructuredStorage.PROPVARIANT@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.SetMetadataByName(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.StructuredStorage.PROPVARIANT*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.SetMetadataByName(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.StructuredStorage.PROPVARIANT*)">
            <summary>Sets a metadata item to a specific location.</summary>
            <param name="wzName">
            <para>Type: <b>LPCWSTR</b> The name of the metadata item.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicmetadataquerywriter-setmetadatabyname#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pvarValue">
            <para>Type: <b>const <a href="https://docs.microsoft.com/windows/desktop/api/propidl/ns-propidl-propvariant">PROPVARIANT</a>*</b> The metadata to set.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicmetadataquerywriter-setmetadatabyname#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><b>SetMetadataByName</b> uses metadata query expressions to remove metadata. For more information on the metadata query language, see the <a href="https://docs.microsoft.com/windows/desktop/wic/-wic-codec-metadataquerylanguage">Metadata Query Language Overview</a>. If the value set is a nested metadata block then use variant type <c>VT_UNKNOWN</c> and <i>pvarValue</i> pointing to the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicmetadataquerywriter">IWICMetadataQueryWriter</a> of the new metadata block. The ordering of metadata items is at the discretion of the query writer since relative locations are not specified.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicmetadataquerywriter-setmetadatabyname#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.RemoveMetadataByName(System.String)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.RemoveMetadataByName(Windows.Win32.Foundation.PCWSTR)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.RemoveMetadataByName(Windows.Win32.Foundation.PCWSTR)">
            <summary>Removes a metadata item from a specific location using a metadata query expression.</summary>
            <param name="wzName">
            <para>Type: <b>LPCWSTR</b> The name of the metadata item to remove.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicmetadataquerywriter-removemetadatabyname#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><b>RemoveMetadataByName</b> uses metadata query expressions to remove metadata. For more information on the metadata query language, see the <a href="https://docs.microsoft.com/windows/desktop/wic/-wic-codec-metadataquerylanguage">Metadata Query Language Overview</a>. If the metadata item is a metadata block, it is removed from the metadata hierarchy.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicmetadataquerywriter-removemetadatabyname#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{a721791a-0def-4d06-bd91-2118bf1db10b}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICPalette.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICPalette.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICPalette.InitializePredefined(Windows.Win32.Graphics.Imaging.WICBitmapPaletteType,Windows.Win32.Foundation.BOOL)">
            <summary>Initializes the palette to one of the pre-defined palettes specified by WICBitmapPaletteType and optionally adds a transparent color.</summary>
            <param name="ePaletteType">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmappalettetype">WICBitmapPaletteType</a></b> The desired pre-defined palette type.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicpalette-initializepredefined#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="fAddTransparentColor">
            <para>Type: <b>BOOL</b> The optional transparent color to add to the palette. If no transparent color is needed, use 0. When initializing to a grayscale or black and white palette, set this parameter to <b>FALSE</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicpalette-initializepredefined#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>If a transparent color is added to a palette, the palette is no longer predefined and is returned as <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmappalettetype">WICBitmapPaletteTypeCustom</a>. For palettes with less than 256 entries, the transparent entry is added to the end of the palette (that is, a 16-color palette becomes a 17-color palette). For palettes with 256 colors, the transparent palette entry will replace the last entry in the pre-defined palette.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICPalette.InitializeCustom(System.ReadOnlySpan{System.UInt32})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICPalette.InitializeCustom(System.UInt32*,System.UInt32)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICPalette.InitializeCustom(System.UInt32*,System.UInt32)">
            <summary>Initializes a palette to the custom color entries provided.</summary>
            <param name="pColors">
            <para>Type: <b>WICColor*</b> Pointer to the color array.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicpalette-initializecustom#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="cCount">
            <para>Type: <b>UINT</b> The number of colors in <i>pColors</i>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicpalette-initializecustom#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>If a transparent color is required, provide it as part of the custom entries. To add a transparent value to the palette, its alpha value must be 0 (0x00RRGGBB).</para>
            <para>The entry count is limited to 256.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicpalette-initializecustom#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICPalette.InitializeFromBitmap(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,System.UInt32,Windows.Win32.Foundation.BOOL)">
            <summary>Initializes a palette using a computed optimized values based on the reference bitmap.</summary>
            <param name="pISurface">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapsource">IWICBitmapSource</a>*</b> Pointer to the source bitmap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicpalette-initializefrombitmap#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="cCount">
            <para>Type: <b>UINT</b> The number of colors to initialize the palette with.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicpalette-initializefrombitmap#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="fAddTransparentColor">
            <para>Type: <b>BOOL</b> A value to indicate whether to add a transparent color.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicpalette-initializefrombitmap#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 resulting palette contains the specified number of colors which best represent the colors present in the bitmap. The algorithm operates on the opaque RGB color value of each pixel in the reference bitmap and hence ignores any alpha values. If a transparent color is required, set the fAddTransparentColor parameter to <b>TRUE</b> and one fewer optimized color will be computed, reducing the <i>colorCount</i>, and a fully transparent color entry will be added.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICPalette.InitializeFromPalette(Windows.Win32.Graphics.Imaging.IWICPalette*)">
            <summary>Initialize the palette based on a given palette.</summary>
            <param name="pIPalette">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicpalette">IWICPalette</a>*</b> Pointer to the source palette.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicpalette-initializefrompalette#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/wincodec/nf-wincodec-iwicpalette-initializefrompalette">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICPalette.GetType(Windows.Win32.Graphics.Imaging.WICBitmapPaletteType@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICPalette.GetType(Windows.Win32.Graphics.Imaging.WICBitmapPaletteType*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICPalette.GetType(Windows.Win32.Graphics.Imaging.WICBitmapPaletteType*)">
            <summary>Retrieves the WICBitmapPaletteType that describes the palette.</summary>
            <param name="pePaletteType">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/wincodec/ne-wincodec-wicbitmappalettetype">WICBitmapPaletteType</a>*</b> Pointer that receives the palette type of the bimtap.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicpalette-gettype#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><b>WICBitmapPaletteCustom</b> is used for palettes initialized from both <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicpalette-initializecustom">InitializeCustom</a> and <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicpalette-initializefrombitmap">InitializeFromBitmap</a>. There is no distinction is made between optimized and custom palettes.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICPalette.GetColorCount(System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICPalette.GetColorCount(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICPalette.GetColorCount(System.UInt32*)">
            <summary>Retrieves the number of colors in the color table.</summary>
            <param name="pcCount">
            <para>Type: <b>UINT*</b> Pointer that receives the number of colors in the color table.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicpalette-getcolorcount#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/wincodec/nf-wincodec-iwicpalette-getcolorcount">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICPalette.GetColors(System.Span{System.UInt32},System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICPalette.GetColors(System.UInt32,System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICPalette.GetColors(System.UInt32,System.UInt32*,System.UInt32*)">
            <summary>Fills out the supplied color array with the colors from the internal color table. The color array should be sized according to the return results from GetColorCount.</summary>
            <param name="cCount">
            <para>Type: <b>UINT</b> The size of the <i>pColors</i> array.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicpalette-getcolors#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pColors">
            <para>Type: <b>WICColor*</b> Pointer that receives the colors of the palette.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicpalette-getcolors#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="pcActualColors">
            <para>Type: <b>UINT*</b> The actual size needed to obtain the palette colors.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicpalette-getcolors#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/wincodec/nf-wincodec-iwicpalette-getcolors">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICPalette.IsBlackWhite(Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICPalette.IsBlackWhite(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICPalette.IsBlackWhite(Windows.Win32.Foundation.BOOL*)">
            <summary>Retrieves a value that describes whether the palette is black and white.</summary>
            <param name="pfIsBlackWhite">
            <para>Type: <b>BOOL*</b> A pointer to a variable  that receives a boolean value that indicates whether the palette is black and white. <b>TRUE</b> indicates that the palette is black and white; otherwise, <b>FALSE</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicpalette-isblackwhite#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>A palette is considered to be black and white only if it contains exactly two entries, one full black (0xFF000000) and one full white (0xFFFFFFF).</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICPalette.IsGrayscale(Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICPalette.IsGrayscale(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICPalette.IsGrayscale(Windows.Win32.Foundation.BOOL*)">
            <summary>Retrieves a value that describes whether a palette is grayscale.</summary>
            <param name="pfIsGrayscale">
            <para>Type: <b>BOOL*</b> A pointer to a variable that receives a boolean value that indicates whether the palette is grayscale. <b>TRUE</b> indicates that the palette is grayscale; otherwise <b>FALSE</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicpalette-isgrayscale#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>A palette is considered grayscale only if, for every entry, the alpha value is 0xFF and the red, green and blue values match.</remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICPalette.HasAlpha(Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICPalette.HasAlpha(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <!-- Badly formed XML comment ignored for member "M:Windows.Win32.Graphics.Imaging.IWICPalette.HasAlpha(Windows.Win32.Foundation.BOOL*)" -->
        <member name="F:Windows.Win32.Graphics.Imaging.IWICPalette.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{00000040-a8f2-4877-ba0a-fd2b6645fb94}</value>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICStream.QueryInterface(System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICStream.QueryInterface(System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICStream.Stat(Windows.Win32.System.Com.STATSTG@,System.UInt32)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICStream.Stat(Windows.Win32.System.Com.STATSTG*,System.UInt32)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICStream.InitializeFromIStream(Windows.Win32.System.Com.IStream*)">
            <summary>Initializes a stream from another stream. Access rights are inherited from the underlying stream.</summary>
            <param name="pIStream">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istream">IStream</a>*</b> The initialize stream.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicstream-initializefromistream#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/wincodec/nf-wincodec-iwicstream-initializefromistream">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICStream.InitializeFromFilename(System.String,System.UInt32)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICStream.InitializeFromFilename(Windows.Win32.Foundation.PCWSTR,System.UInt32)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICStream.InitializeFromFilename(Windows.Win32.Foundation.PCWSTR,System.UInt32)">
            <summary>Initializes a stream from a particular file.</summary>
            <param name="wzFileName">
            <para>Type: <b>LPCWSTR</b> The file used to initialize the stream.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicstream-initializefromfilename#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="dwDesiredAccess">
            <para>Type: <b>DWORD</b> The desired file access mode. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicstream-initializefromfilename#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 <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicstream">IWICStream</a> interface methods do not enable you to provide a file sharing option. To create a shared file stream for an image, use the <a href="https://docs.microsoft.com/windows/desktop/api/shlwapi/nf-shlwapi-shcreatestreamonfileex">SHCreateStreamOnFileEx</a> function. This stream can then be used to create an <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicbitmapdecoder">IWICBitmapDecoder</a> using the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicimagingfactory-createdecoderfromstream">CreateDecoderFromStream</a> method.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicstream-initializefromfilename#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICStream.InitializeFromMemory(System.ReadOnlySpan{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICStream.InitializeFromMemory(System.Byte*,System.UInt32)"/>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICStream.InitializeFromMemory(System.Byte*,System.UInt32)">
            <summary>Initializes a stream to treat a block of memory as a stream. The stream cannot grow beyond the buffer size.</summary>
            <param name="pbBuffer">
            <para>Type: <b>BYTE*</b> Pointer to the buffer used to initialize the stream.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicstream-initializefrommemory#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="cbBufferSize">
            <para>Type: <b>DWORD</b> The size of buffer.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicstream-initializefrommemory#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 should be avoided whenever possible. The caller is responsible for ensuring the memory block is valid for the lifetime of the stream when using <b>InitializeFromMemory</b>.  A workaround for this behavior is to create an <a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istream">IStream</a> and use <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nf-wincodec-iwicstream-initializefromistream">InitializeFromIStream</a> to create the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicstream">IWICStream</a>. If you require a growable memory stream, use <a href="https://docs.microsoft.com/windows/desktop/api/combaseapi/nf-combaseapi-createstreamonhglobal">CreateStreamOnHGlobal</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicstream-initializefrommemory#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Graphics.Imaging.IWICStream.InitializeFromIStreamRegion(Windows.Win32.System.Com.IStream*,System.UInt64,System.UInt64)">
            <summary>Initializes the stream as a substream of another stream.</summary>
            <param name="pIStream">
            <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/objidl/nn-objidl-istream">IStream</a>*</b> Pointer to the input stream.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicstream-initializefromistreamregion#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ulOffset">
            <para>Type: <b>ULARGE_INTEGER</b> The stream offset used to create the new stream.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicstream-initializefromistreamregion#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="ulMaxSize">
            <para>Type: <b>ULARGE_INTEGER</b> The maximum size of the stream.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/nf-wincodec-iwicstream-initializefromistreamregion#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 stream functions with its own stream position, independent of the underlying stream but restricted to a region.  All seek positions are relative to the sub region.  It is allowed, though not recommended, to have multiple writable sub streams overlapping the same range.</remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.IWICStream.IID_Guid">
            <summary>The IID guid for this interface.</summary>
            <value>{135ff860-22b7-4ddf-b0f6-218f4f299a43}</value>
        </member>
        <member name="T:Windows.Win32.Graphics.Imaging.WICBitmapAlphaChannelOption">
            <summary>Specifies the desired alpha channel usage.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ne-wincodec-wicbitmapalphachanneloption">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapAlphaChannelOption.WICBitmapUseAlpha">
            <summary>Use alpha channel.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapAlphaChannelOption.WICBitmapUsePremultipliedAlpha">
            <summary>Use a pre-multiplied alpha channel.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapAlphaChannelOption.WICBitmapIgnoreAlpha">
            <summary>Ignore alpha channel.</summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Imaging.WICBitmapCreateCacheOption">
            <summary>Specifies the desired cache usage.</summary>
            <remarks>The <b>CreateBitmap</b> of the <a href="https://docs.microsoft.com/windows/desktop/api/wincodec/nn-wincodec-iwicimagingfactory">IWICImagingFactory</a> interface does not support WICBitmapNoCache when the <i>pixelFormat</i> is a native pixel format provided by Windows Imaging Component (WIC).</remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapCreateCacheOption.WICBitmapNoCache">
            <summary>Do not cache the bitmap.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapCreateCacheOption.WICBitmapCacheOnDemand">
            <summary>Cache the bitmap when needed.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapCreateCacheOption.WICBitmapCacheOnLoad">
            <summary>Cache the bitmap at initialization.</summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Imaging.WICBitmapDitherType">
            <summary>Specifies the type of dither algorithm to apply when converting between image formats.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ne-wincodec-wicbitmapdithertype">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapDitherType.WICBitmapDitherTypeNone">
            <summary>A solid color algorithm without dither.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapDitherType.WICBitmapDitherTypeSolid">
            <summary>A solid color algorithm without dither.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapDitherType.WICBitmapDitherTypeOrdered4x4">
            <summary>A 4x4 ordered dither algorithm.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapDitherType.WICBitmapDitherTypeOrdered8x8">
            <summary>An 8x8 ordered dither algorithm.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapDitherType.WICBitmapDitherTypeOrdered16x16">
            <summary>A 16x16 ordered dither algorithm.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapDitherType.WICBitmapDitherTypeSpiral4x4">
            <summary>A 4x4 spiral dither algorithm.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapDitherType.WICBitmapDitherTypeSpiral8x8">
            <summary>An 8x8 spiral dither algorithm.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapDitherType.WICBitmapDitherTypeDualSpiral4x4">
            <summary>A 4x4 dual spiral dither algorithm.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapDitherType.WICBitmapDitherTypeDualSpiral8x8">
            <summary>An 8x8 dual spiral dither algorithm.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapDitherType.WICBitmapDitherTypeErrorDiffusion">
            <summary>An error diffusion algorithm.</summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Imaging.WICBitmapEncoderCacheOption">
            <summary>Specifies the cache options available for an encoder.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ne-wincodec-wicbitmapencodercacheoption">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapEncoderCacheOption.WICBitmapEncoderCacheInMemory">
            <summary>The encoder is cached in memory. This option is not supported.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapEncoderCacheOption.WICBitmapEncoderCacheTempFile">
            <summary>The encoder is cached to a temporary file. This option is not supported.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapEncoderCacheOption.WICBitmapEncoderNoCache">
            <summary>The encoder is not cached.</summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Imaging.WICBitmapInterpolationMode">
            <summary>Specifies the sampling or filtering mode to use when scaling an image.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ne-wincodec-wicbitmapinterpolationmode">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapInterpolationMode.WICBitmapInterpolationModeNearestNeighbor">
            <summary>
            <para>A nearest neighbor interpolation algorithm. Also known as nearest pixel or point interpolation.</para>
            <para>The output pixel is assigned the value of the pixel that the point falls within. No other pixels are considered.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ne-wincodec-wicbitmapinterpolationmode#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapInterpolationMode.WICBitmapInterpolationModeLinear">
            <summary>
            <para>A bilinear interpolation algorithm.</para>
            <para>The output pixel values are computed as a weighted average of the nearest four pixels in a 2x2 grid.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ne-wincodec-wicbitmapinterpolationmode#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapInterpolationMode.WICBitmapInterpolationModeCubic">
            <summary>
            <para>A bicubic interpolation algorithm.</para>
            <para>Destination pixel values are computed as a weighted average of the nearest sixteen pixels in a 4x4 grid.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ne-wincodec-wicbitmapinterpolationmode#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapInterpolationMode.WICBitmapInterpolationModeFant">
            <summary>
            <para>A Fant resampling algorithm.</para>
            <para>Destination pixel values are computed as a weighted average of the all the pixels that map to the new pixel.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ne-wincodec-wicbitmapinterpolationmode#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapInterpolationMode.WICBitmapInterpolationModeHighQualityCubic">
            <summary>
            <para>A high quality bicubic interpolation algorithm. Destination pixel values are computed using a much denser sampling kernel than regular cubic. The kernel is resized in response to the scale factor, making it suitable for downscaling by factors greater than 2. <div class="alert"><b>Note</b>  This value is supported beginning with Windows 10.</div> <div> </div></para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ne-wincodec-wicbitmapinterpolationmode#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Imaging.WICBitmapPaletteType">
            <summary>Specifies the type of palette used for an indexed image format.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ne-wincodec-wicbitmappalettetype">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPaletteType.WICBitmapPaletteTypeCustom">
            <summary>An arbitrary custom palette provided by caller.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPaletteType.WICBitmapPaletteTypeMedianCut">
            <summary>An optimal palette generated using a median-cut algorithm. Derived from the colors in an image.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPaletteType.WICBitmapPaletteTypeFixedBW">
            <summary>A black and white palette.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPaletteType.WICBitmapPaletteTypeFixedHalftone8">
            <summary>A palette that has its 8-color on-off primaries and the 16 system colors added. With duplicates removed, 16 colors are available.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPaletteType.WICBitmapPaletteTypeFixedHalftone27">
            <summary>A palette that has 3 intensity levels of each primary: 27-color on-off primaries and the 16 system colors added. With duplicates removed, 35 colors are available.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPaletteType.WICBitmapPaletteTypeFixedHalftone64">
            <summary>A palette that has 4 intensity levels of each primary: 64-color on-off primaries and the 16 system colors added. With duplicates removed, 72 colors are available.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPaletteType.WICBitmapPaletteTypeFixedHalftone125">
            <summary>A palette that has 5 intensity levels of each primary: 125-color on-off primaries and the 16 system colors added. With duplicates removed, 133 colors are available.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPaletteType.WICBitmapPaletteTypeFixedHalftone216">
            <summary>A palette that has 6 intensity levels of each primary: 216-color on-off primaries and the 16 system colors added. With duplicates removed, 224 colors are available. This is the same as <b>WICBitmapPaletteFixedHalftoneWeb</b>.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPaletteType.WICBitmapPaletteTypeFixedWebPalette">
            <summary>A palette that has 6 intensity levels of each primary: 216-color on-off primaries and the 16 system colors added. With duplicates removed, 224 colors are available. This is the same as <b>WICBitmapPaletteTypeFixedHalftone216</b>.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPaletteType.WICBitmapPaletteTypeFixedHalftone252">
            <summary>A palette that has its 252-color on-off primaries and the 16 system colors added. With duplicates removed, 256 colors are available.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPaletteType.WICBitmapPaletteTypeFixedHalftone256">
            <summary>A palette that has its 256-color on-off primaries and the 16 system colors added. With duplicates removed, 256 colors are available.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPaletteType.WICBitmapPaletteTypeFixedGray4">
            <summary>A palette that has 4 shades of gray.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPaletteType.WICBitmapPaletteTypeFixedGray16">
            <summary>A palette that has 16 shades of gray.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPaletteType.WICBitmapPaletteTypeFixedGray256">
            <summary>A palette that has 256 shades of gray.</summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Imaging.WICBitmapPattern">
            <summary>Contains members that identify a pattern within an image file which can be used to identify a particular format.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ns-wincodec-wicbitmappattern">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPattern.Position">
            <summary>
            <para>Type: <b>ULARGE_INTEGER</b> The offset the pattern is located in the file.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ns-wincodec-wicbitmappattern#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPattern.Length">
            <summary>
            <para>Type: <b>ULONG</b> The pattern length.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ns-wincodec-wicbitmappattern#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPattern.Pattern">
            <summary>
            <para>Type: <b>BYTE*</b> The actual pattern.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ns-wincodec-wicbitmappattern#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPattern.Mask">
            <summary>
            <para>Type: <b>BYTE*</b> The pattern mask.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ns-wincodec-wicbitmappattern#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapPattern.EndOfStream">
            <summary>
            <para>Type: <b>BOOL</b> The end of the stream.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ns-wincodec-wicbitmappattern#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Imaging.WICBitmapTransformOptions">
            <summary>Specifies the flip and rotation transforms.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ne-wincodec-wicbitmaptransformoptions">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapTransformOptions.WICBitmapTransformRotate0">
            <summary>A rotation of 0 degrees.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapTransformOptions.WICBitmapTransformRotate90">
            <summary>A clockwise rotation of 90 degrees.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapTransformOptions.WICBitmapTransformRotate180">
            <summary>A clockwise rotation of 180 degrees.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapTransformOptions.WICBitmapTransformRotate270">
            <summary>A clockwise rotation of 270 degrees.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapTransformOptions.WICBitmapTransformFlipHorizontal">
            <summary>A horizontal flip. Pixels are flipped around the vertical y-axis.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICBitmapTransformOptions.WICBitmapTransformFlipVertical">
            <summary>A vertical flip. Pixels are flipped around the horizontal x-axis.</summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Imaging.WICColorContextType">
            <summary>Specifies the color context types.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ne-wincodec-wiccolorcontexttype">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICColorContextType.WICColorContextUninitialized">
            <summary>An uninitialized color context.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICColorContextType.WICColorContextProfile">
            <summary>A color context that is a full ICC color profile.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICColorContextType.WICColorContextExifColorSpace">
            <summary>A color context that is one of a number of set color spaces (sRGB, AdobeRGB) that are defined in the EXIF specification.</summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Imaging.WICComponentType">
            <summary>Specifies the type of Windows Imaging Component (WIC) component.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ne-wincodec-wiccomponenttype">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICComponentType.WICDecoder">
            <summary>A WIC decoder.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICComponentType.WICEncoder">
            <summary>A WIC encoder.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICComponentType.WICPixelFormatConverter">
            <summary>A WIC pixel converter.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICComponentType.WICMetadataReader">
            <summary>A WIC metadata reader.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICComponentType.WICMetadataWriter">
            <summary>A WIC metadata writer.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICComponentType.WICPixelFormat">
            <summary>A WIC pixel format.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICComponentType.WICAllComponents">
            <summary>All WIC components.</summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Imaging.WICDecodeOptions">
            <summary>Specifies decode options.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ne-wincodec-wicdecodeoptions">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICDecodeOptions.WICDecodeMetadataCacheOnDemand">
            <summary>Cache metadata when needed.</summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICDecodeOptions.WICDecodeMetadataCacheOnLoad">
            <summary>Cache metadata when decoder is loaded.</summary>
        </member>
        <member name="T:Windows.Win32.Graphics.Imaging.WICRect">
            <summary>Represents a rectangle for Windows Imaging Component (WIC) API.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ns-wincodec-wicrect">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICRect.X">
            <summary>
            <para>Type: <b>INT</b> The horizontal coordinate of the rectangle.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ns-wincodec-wicrect#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICRect.Y">
            <summary>
            <para>Type: <b>INT</b> The vertical coordinate of the rectangle.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ns-wincodec-wicrect#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICRect.Width">
            <summary>
            <para>Type: <b>INT</b> The width of the rectangle.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ns-wincodec-wicrect#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="F:Windows.Win32.Graphics.Imaging.WICRect.Height">
            <summary>
            <para>Type: <b>INT</b> The height of the rectangle.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/wincodec/ns-wincodec-wicrect#members">Read more on docs.microsoft.com</see>.</para>
            </summary>
        </member>
        <member name="P:Windows.Win32.Foundation.BSTR.Length">
            <summary>
            Gets the length of the BSTR in characters.
            </summary>
        </member>
        <member name="T:Windows.Win32.Foundation.COLORREF">
            <summary>The COLORREF value is used to specify an RGB color.</summary>
            <remarks>
            <para>When specifying an explicit [RGB](/windows/desktop/api/Wingdi/nf-wingdi-rgb) color, the **COLORREF** value has the following hexadecimal form: `0x00bbggrr` The low-order byte contains a value for the relative intensity of red; the second byte contains a value for green; and the third byte contains a value for blue. The high-order byte must be zero. The maximum value for a single byte is 0xFF. To create a **COLORREF** color value, use the [RGB](/windows/desktop/api/Wingdi/nf-wingdi-rgb) macro. To extract the individual values for the red, green, and blue components of a color value, use the [**GetRValue**](/windows/desktop/api/Wingdi/nf-wingdi-getrvalue), [GetGValue](/windows/desktop/api/Wingdi/nf-wingdi-getgvalue), and [GetBValue](/windows/desktop/api/Wingdi/nf-wingdi-getbvalue) macros, respectively.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/gdi/colorref#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="T:Windows.Win32.Foundation.DECIMAL">
            <summary>The DECIMAL structure represents a decimal data type that provides a sign and scale for a number.</summary>
            <remarks></remarks>
        </member>
        <member name="F:Windows.Win32.Foundation.DECIMAL.wReserved">
            <summary>Reserved.</summary>
        </member>
        <member name="F:Windows.Win32.Foundation.DECIMAL.Hi32">
            <summary>The high 32 bits of the number.</summary>
        </member>
        <member name="T:Windows.Win32.Foundation.HRESULT">
            <remarks>
            <para>The **HRESULT** data type is the same as the [SCODE](scode.md) data type. An **HRESULT** value consists of the following fields: - A 1-bit code indicating severity, where zero represents success and 1 represents failure. - A 4-bit reserved value. - An 11-bit code indicating responsibility for the error or warning, also known as a facility code. - A 16-bit code describing the error or warning. Most MAPI interface methods and functions return **HRESULT** values to provide detailed cause formation. **HRESULT** values are also used widely in OLE interface methods. OLE provides several macros for converting between **HRESULT** values and **SCODE** values, another common data type for error handling. > [!NOTE] > In 64-bit MAPI, **HRESULT** is still a 32-bit value. For information about the OLE use of **HRESULT** values, see the  *OLE Programmer's Reference*. For more information about the use of these values in MAPI, see [Error Handling](error-handling-in-mapi.md) and any of the following interface methods: [IABLogon::GetLastError](iablogon-getlasterror.md) [IMAPISupport::GetLastError](imapisupport-getlasterror.md) [IMAPIControl::GetLastError](imapicontrol-getlasterror.md) [IMAPITable::GetLastError](imapitable-getlasterror.md) [IMAPIProp::GetLastError](imapiprop-getlasterror.md) [IMAPIViewAdviseSink::OnPrint](imapiviewadvisesink-onprint.md)</para>
            <para><see href="https://learn.microsoft.com/office/client-developer/outlook/mapi/hresult#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.Foundation.HRESULT.ThrowOnFailure(System.IntPtr)">
            <inheritdoc cref="M:System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(System.Int32,System.IntPtr)" />
            <param name="errorInfo">
            A pointer to the IErrorInfo interface that provides more information about the
            error. You can specify <see cref="F:System.IntPtr.Zero"/> to use the current IErrorInfo interface, or
            <c>new IntPtr(-1)</c> to ignore the current IErrorInfo interface and construct the exception
            just from the error code.
            </param>
            <returns><see langword="this"/> <see cref="T:Windows.Win32.Foundation.HRESULT"/>, if it does not reflect an error.</returns>
            <seealso cref="M:System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(System.Int32,System.IntPtr)"/>
        </member>
        <member name="F:Windows.Win32.Foundation.HWND.HWND_TOP">
            <summary>Places the window at the top of the Z order.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-deferwindowpos">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Foundation.HWND.HWND_BOTTOM">
            <summary>Places the window at the bottom of the Z order. If the <i>hWnd</i> parameter identifies a topmost window, the window loses its topmost status and is placed at the bottom of all other windows.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-deferwindowpos">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="T:Windows.Win32.Foundation.PCSTR">
            <summary>
            A pointer to a null-terminated, constant, ANSI character string.
            </summary>
        </member>
        <member name="F:Windows.Win32.Foundation.PCSTR.Value">
            <summary>
            A pointer to the first character in the string. The content should be considered readonly, as it was typed as constant in the SDK.
            </summary>
        </member>
        <member name="P:Windows.Win32.Foundation.PCSTR.Length">
            <summary>
            Gets the number of characters up to the first null character (exclusive).
            </summary>
        </member>
        <member name="M:Windows.Win32.Foundation.PCSTR.ToString">
            <summary>
            Returns a <see langword="string"/> with a copy of this character array, decoding as UTF-8.
            </summary>
            <returns>A <see langword="string"/>, or <see langword="null"/> if <see cref="F:Windows.Win32.Foundation.PCSTR.Value"/> is <see langword="null"/>.</returns>
        </member>
        <member name="M:Windows.Win32.Foundation.PCSTR.AsSpan">
            <summary>
            Returns a span of the characters in this string, up to the first null character (exclusive).
            </summary>
        </member>
        <member name="T:Windows.Win32.Foundation.PCWSTR">
            <summary>
            A pointer to a null-terminated, constant character string.
            </summary>
        </member>
        <member name="F:Windows.Win32.Foundation.PCWSTR.Value">
            <summary>
            A pointer to the first character in the string. The content should be considered readonly, as it was typed as constant in the SDK.
            </summary>
        </member>
        <member name="P:Windows.Win32.Foundation.PCWSTR.Length">
            <summary>
            Gets the number of characters up to the first null character (exclusive).
            </summary>
        </member>
        <member name="M:Windows.Win32.Foundation.PCWSTR.ToString">
            <summary>
            Returns a <see langword="string"/> with a copy of this character array, up to the first null character (exclusive).
            </summary>
            <returns>A <see langword="string"/>, or <see langword="null"/> if <see cref="F:Windows.Win32.Foundation.PCWSTR.Value"/> is <see langword="null"/>.</returns>
        </member>
        <member name="M:Windows.Win32.Foundation.PCWSTR.AsSpan">
            <summary>
            Returns a span of the characters in this string, up to the first null character (exclusive).
            </summary>
        </member>
        <member name="M:Windows.Win32.Foundation.PSTR.ToString">
            <inheritdoc cref="M:Windows.Win32.Foundation.PCSTR.ToString"/>
        </member>
        <member name="P:Windows.Win32.Foundation.PSTR.Length">
            <inheritdoc cref="P:Windows.Win32.Foundation.PCSTR.Length"/>
        </member>
        <member name="M:Windows.Win32.Foundation.PSTR.AsSpan">
            <summary>
            Returns a span of the characters in this string, up to the first null character (exclusive).
            </summary>
        </member>
        <member name="M:Windows.Win32.Foundation.PWSTR.ToString">
            <inheritdoc cref="M:Windows.Win32.Foundation.PCWSTR.ToString"/>
        </member>
        <member name="P:Windows.Win32.Foundation.PWSTR.Length">
            <inheritdoc cref="P:Windows.Win32.Foundation.PCWSTR.Length"/>
        </member>
        <member name="M:Windows.Win32.Foundation.PWSTR.AsSpan">
            <summary>
            Returns a span of the characters in this string, up to the first null character (exclusive).
            </summary>
        </member>
        <member name="T:Windows.Win32.Foundation.RECT">
            <summary>The RECT structure defines a rectangle by the coordinates of its upper-left and lower-right corners.</summary>
            <remarks>The RECT structure is identical to the <a href="https://docs.microsoft.com/windows/desktop/api/windef/ns-windef-rectl">RECTL</a> structure.</remarks>
        </member>
        <member name="F:Windows.Win32.Foundation.RECT.left">
            <summary>Specifies the <i>x</i>-coordinate of the upper-left corner of the rectangle.</summary>
        </member>
        <member name="F:Windows.Win32.Foundation.RECT.top">
            <summary>Specifies the <i>y</i>-coordinate of the upper-left corner of the rectangle.</summary>
        </member>
        <member name="F:Windows.Win32.Foundation.RECT.right">
            <summary>Specifies the <i>x</i>-coordinate of the lower-right corner of the rectangle.</summary>
        </member>
        <member name="F:Windows.Win32.Foundation.RECT.bottom">
            <summary>Specifies the <i>y</i>-coordinate of the lower-right corner of the rectangle.</summary>
        </member>
        <member name="P:Windows.Win32.Foundation.__RECT_3.Length">
            <summary>The length of the inline array.</summary>
        </member>
        <member name="M:Windows.Win32.Foundation.__RECT_3.AsSpan">
            <summary>
            Gets this inline array as a span.
            </summary>
            <remarks>
            ⚠ Important ⚠: When this struct is on the stack, do not let the returned span outlive the stack frame that defines it.
            </remarks>
        </member>
        <member name="M:Windows.Win32.Foundation.__RECT_3.AsReadOnlySpan">
            <summary>
            Gets this inline array as a span.
            </summary>
            <remarks>
            ⚠ Important ⚠: When this struct is on the stack, do not let the returned span outlive the stack frame that defines it.
            </remarks>
        </member>
        <member name="P:Windows.Win32.__byte_32.Length">
            <summary>The length of the inline array.</summary>
        </member>
        <member name="P:Windows.Win32.__byte_32.Item(System.Int32)">
            <summary>
            Gets a ref to an individual element of the inline array.
            ⚠ Important ⚠: When this struct is on the stack, do not let the returned reference outlive the stack frame that defines it.
            </summary>
        </member>
        <member name="M:Windows.Win32.__byte_32.AsSpan">
            <summary>
            Gets this inline array as a span.
            </summary>
            <remarks>
            ⚠ Important ⚠: When this struct is on the stack, do not let the returned span outlive the stack frame that defines it.
            </remarks>
        </member>
        <member name="M:Windows.Win32.__byte_32.AsReadOnlySpan">
            <summary>
            Gets this inline array as a span.
            </summary>
            <remarks>
            ⚠ Important ⚠: When this struct is on the stack, do not let the returned span outlive the stack frame that defines it.
            </remarks>
        </member>
        <member name="P:Windows.Win32.__char_32.Length">
            <summary>The length of the inline array.</summary>
        </member>
        <member name="P:Windows.Win32.__char_32.Item(System.Int32)">
            <summary>
            Gets a ref to an individual element of the inline array.
            ⚠ Important ⚠: When this struct is on the stack, do not let the returned reference outlive the stack frame that defines it.
            </summary>
        </member>
        <member name="M:Windows.Win32.__char_32.AsSpan">
            <summary>
            Gets this inline array as a span.
            </summary>
            <remarks>
            ⚠ Important ⚠: When this struct is on the stack, do not let the returned span outlive the stack frame that defines it.
            </remarks>
        </member>
        <member name="M:Windows.Win32.__char_32.AsReadOnlySpan">
            <summary>
            Gets this inline array as a span.
            </summary>
            <remarks>
            ⚠ Important ⚠: When this struct is on the stack, do not let the returned span outlive the stack frame that defines it.
            </remarks>
        </member>
        <member name="M:Windows.Win32.__char_32.ToString(System.Int32)">
            <summary>
            Copies the fixed array to a new string up to the specified length regardless of whether there are null terminating characters.
            </summary>
            <exception cref="T:System.ArgumentOutOfRangeException">
            Thrown when <paramref name="length"/> is less than <c>0</c> or greater than <see cref="P:Windows.Win32.__char_32.Length"/>.
            </exception>
        </member>
        <member name="M:Windows.Win32.__char_32.ToString">
            <summary>
            Copies the fixed array to a new string, stopping before the first null terminator character or at the end of the fixed array (whichever is shorter).
            </summary>
        </member>
        <member name="T:Windows.Win32.DeleteObjectSafeHandle">
            <summary>
            Represents a Win32 handle that can be closed with <see cref="M:Windows.Win32.PInvoke.DeleteObject(Windows.Win32.Graphics.Gdi.HGDIOBJ)"/>.
            </summary>
        </member>
        <member name="T:Windows.Win32.DestroyCursorSafeHandle">
            <summary>
            Represents a Win32 handle that can be closed with <see cref="M:Windows.Win32.PInvoke.DestroyCursor(Windows.Win32.UI.WindowsAndMessaging.HCURSOR)"/>.
            </summary>
        </member>
        <member name="T:Windows.Win32.FreeLibrarySafeHandle">
            <summary>
            Represents a Win32 handle that can be closed with <see cref="M:Windows.Win32.PInvoke.FreeLibrary(Windows.Win32.Foundation.HMODULE)"/>.
            </summary>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapClipper_Extensions.GetSize(Windows.Win32.Graphics.Imaging.IWICBitmapClipper.Interface,System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.Interface.GetSize(System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapClipper_Extensions.GetPixelFormat(Windows.Win32.Graphics.Imaging.IWICBitmapClipper.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.Interface.GetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapClipper_Extensions.GetResolution(Windows.Win32.Graphics.Imaging.IWICBitmapClipper.Interface,System.Double@,System.Double@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.Interface.GetResolution(System.Double*,System.Double*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapClipper_Extensions.CopyPixels(Windows.Win32.Graphics.Imaging.IWICBitmapClipper.Interface,Windows.Win32.Graphics.Imaging.WICRect@,System.UInt32,System.Span{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.Interface.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,System.UInt32,System.Byte*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapClipper_Extensions.Initialize(Windows.Win32.Graphics.Imaging.IWICBitmapClipper.Interface,Windows.Win32.Graphics.Imaging.IWICBitmapSource*,Windows.Win32.Graphics.Imaging.WICRect@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapClipper.Interface.Initialize(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,Windows.Win32.Graphics.Imaging.WICRect*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.GetComponentType(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,Windows.Win32.Graphics.Imaging.WICComponentType@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.GetComponentType(Windows.Win32.Graphics.Imaging.WICComponentType*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.GetCLSID(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.GetCLSID(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.GetSigningStatus(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.GetSigningStatus(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.GetAuthor(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.GetAuthor(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.GetVendorGUID(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.GetVendorGUID(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.GetVersion(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.GetVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.GetSpecVersion(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.GetSpecVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.GetFriendlyName(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.GetFriendlyName(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.GetContainerFormat(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.GetContainerFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.GetPixelFormats(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,System.ReadOnlySpan{System.Guid},System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.GetPixelFormats(System.UInt32,System.Guid*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.GetColorManagementVersion(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.GetColorManagementVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.GetDeviceManufacturer(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.GetDeviceManufacturer(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.GetDeviceModels(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.GetDeviceModels(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.GetMimeTypes(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.GetMimeTypes(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.GetFileExtensions(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.GetFileExtensions(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.DoesSupportAnimation(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.DoesSupportAnimation(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.DoesSupportChromakey(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.DoesSupportChromakey(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.DoesSupportLossless(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.DoesSupportLossless(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.DoesSupportMultiframe(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.DoesSupportMultiframe(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapCodecInfo_Extensions.MatchesMimeType(Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface,System.String,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapCodecInfo.Interface.MatchesMimeType(Windows.Win32.Foundation.PCWSTR,Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.GetComponentType(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,Windows.Win32.Graphics.Imaging.WICComponentType@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.GetComponentType(Windows.Win32.Graphics.Imaging.WICComponentType*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.GetCLSID(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.GetCLSID(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.GetSigningStatus(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.GetSigningStatus(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.GetAuthor(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.GetAuthor(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.GetVendorGUID(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.GetVendorGUID(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.GetVersion(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.GetVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.GetSpecVersion(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.GetSpecVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.GetFriendlyName(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.GetFriendlyName(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.GetContainerFormat(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.GetContainerFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.GetPixelFormats(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,System.ReadOnlySpan{System.Guid},System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.GetPixelFormats(System.UInt32,System.Guid*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.GetColorManagementVersion(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.GetColorManagementVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.GetDeviceManufacturer(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.GetDeviceManufacturer(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.GetDeviceModels(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.GetDeviceModels(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.GetMimeTypes(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.GetMimeTypes(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.GetFileExtensions(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.GetFileExtensions(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.DoesSupportAnimation(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.DoesSupportAnimation(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.DoesSupportChromakey(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.DoesSupportChromakey(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.DoesSupportLossless(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.DoesSupportLossless(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.DoesSupportMultiframe(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.DoesSupportMultiframe(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.MatchesMimeType(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,System.String,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.MatchesMimeType(Windows.Win32.Foundation.PCWSTR,Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.GetPatterns(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,System.UInt32,Windows.Win32.Graphics.Imaging.WICBitmapPattern*,System.UInt32*,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.GetPatterns(System.UInt32,Windows.Win32.Graphics.Imaging.WICBitmapPattern*,System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoderInfo_Extensions.MatchesPattern(Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface,Windows.Win32.System.Com.IStream*,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoderInfo.Interface.MatchesPattern(Windows.Win32.System.Com.IStream*,Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoder_Extensions.QueryCapability(Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.Interface,Windows.Win32.System.Com.IStream*,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.Interface.QueryCapability(Windows.Win32.System.Com.IStream*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoder_Extensions.GetContainerFormat(Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.Interface.GetContainerFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoder_Extensions.GetColorContexts(Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.Interface,System.UInt32,Windows.Win32.Graphics.Imaging.IWICColorContext**,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.Interface.GetColorContexts(System.UInt32,Windows.Win32.Graphics.Imaging.IWICColorContext**,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapDecoder_Extensions.GetFrameCount(Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.Interface,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapDecoder.Interface.GetFrameCount(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.GetComponentType(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,Windows.Win32.Graphics.Imaging.WICComponentType@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.GetComponentType(Windows.Win32.Graphics.Imaging.WICComponentType*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.GetCLSID(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.GetCLSID(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.GetSigningStatus(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.GetSigningStatus(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.GetAuthor(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.GetAuthor(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.GetVendorGUID(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.GetVendorGUID(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.GetVersion(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.GetVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.GetSpecVersion(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.GetSpecVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.GetFriendlyName(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.GetFriendlyName(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.GetContainerFormat(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.GetContainerFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.GetPixelFormats(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,System.ReadOnlySpan{System.Guid},System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.GetPixelFormats(System.UInt32,System.Guid*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.GetColorManagementVersion(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.GetColorManagementVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.GetDeviceManufacturer(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.GetDeviceManufacturer(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.GetDeviceModels(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.GetDeviceModels(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.GetMimeTypes(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.GetMimeTypes(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.GetFileExtensions(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.GetFileExtensions(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.DoesSupportAnimation(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.DoesSupportAnimation(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.DoesSupportChromakey(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.DoesSupportChromakey(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.DoesSupportLossless(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.DoesSupportLossless(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.DoesSupportMultiframe(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.DoesSupportMultiframe(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoderInfo_Extensions.MatchesMimeType(Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface,System.String,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoderInfo.Interface.MatchesMimeType(Windows.Win32.Foundation.PCWSTR,Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapEncoder_Extensions.GetContainerFormat(Windows.Win32.Graphics.Imaging.IWICBitmapEncoder.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapEncoder.Interface.GetContainerFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapFlipRotator_Extensions.GetSize(Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.Interface,System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.Interface.GetSize(System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapFlipRotator_Extensions.GetPixelFormat(Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.Interface.GetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapFlipRotator_Extensions.GetResolution(Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.Interface,System.Double@,System.Double@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.Interface.GetResolution(System.Double*,System.Double*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapFlipRotator_Extensions.CopyPixels(Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.Interface,Windows.Win32.Graphics.Imaging.WICRect@,System.UInt32,System.Span{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFlipRotator.Interface.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,System.UInt32,System.Byte*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapFrameDecode_Extensions.GetSize(Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.Interface,System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.Interface.GetSize(System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapFrameDecode_Extensions.GetPixelFormat(Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.Interface.GetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapFrameDecode_Extensions.GetResolution(Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.Interface,System.Double@,System.Double@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.Interface.GetResolution(System.Double*,System.Double*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapFrameDecode_Extensions.CopyPixels(Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.Interface,Windows.Win32.Graphics.Imaging.WICRect@,System.UInt32,System.Span{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.Interface.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,System.UInt32,System.Byte*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapFrameDecode_Extensions.GetColorContexts(Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.Interface,System.UInt32,Windows.Win32.Graphics.Imaging.IWICColorContext**,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameDecode.Interface.GetColorContexts(System.UInt32,Windows.Win32.Graphics.Imaging.IWICColorContext**,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapFrameEncode_Extensions.SetPixelFormat(Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.Interface.SetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapFrameEncode_Extensions.WritePixels(Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.Interface,System.UInt32,System.UInt32,System.ReadOnlySpan{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.Interface.WritePixels(System.UInt32,System.UInt32,System.UInt32,System.Byte*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapFrameEncode_Extensions.WriteSource(Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.Interface,Windows.Win32.Graphics.Imaging.IWICBitmapSource*,Windows.Win32.Graphics.Imaging.WICRect@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapFrameEncode.Interface.WriteSource(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,Windows.Win32.Graphics.Imaging.WICRect*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapLock_Extensions.GetSize(Windows.Win32.Graphics.Imaging.IWICBitmapLock.Interface,System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapLock.Interface.GetSize(System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapLock_Extensions.GetStride(Windows.Win32.Graphics.Imaging.IWICBitmapLock.Interface,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapLock.Interface.GetStride(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapLock_Extensions.GetDataPointer(Windows.Win32.Graphics.Imaging.IWICBitmapLock.Interface,System.UInt32@,System.Byte**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapLock.Interface.GetDataPointer(System.UInt32*,System.Byte**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapLock_Extensions.GetPixelFormat(Windows.Win32.Graphics.Imaging.IWICBitmapLock.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapLock.Interface.GetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapScaler_Extensions.GetSize(Windows.Win32.Graphics.Imaging.IWICBitmapScaler.Interface,System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapScaler.Interface.GetSize(System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapScaler_Extensions.GetPixelFormat(Windows.Win32.Graphics.Imaging.IWICBitmapScaler.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapScaler.Interface.GetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapScaler_Extensions.GetResolution(Windows.Win32.Graphics.Imaging.IWICBitmapScaler.Interface,System.Double@,System.Double@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapScaler.Interface.GetResolution(System.Double*,System.Double*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapScaler_Extensions.CopyPixels(Windows.Win32.Graphics.Imaging.IWICBitmapScaler.Interface,Windows.Win32.Graphics.Imaging.WICRect@,System.UInt32,System.Span{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapScaler.Interface.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,System.UInt32,System.Byte*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapSource_Extensions.GetSize(Windows.Win32.Graphics.Imaging.IWICBitmapSource.Interface,System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.Interface.GetSize(System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapSource_Extensions.GetPixelFormat(Windows.Win32.Graphics.Imaging.IWICBitmapSource.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.Interface.GetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapSource_Extensions.GetResolution(Windows.Win32.Graphics.Imaging.IWICBitmapSource.Interface,System.Double@,System.Double@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.Interface.GetResolution(System.Double*,System.Double*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmapSource_Extensions.CopyPixels(Windows.Win32.Graphics.Imaging.IWICBitmapSource.Interface,Windows.Win32.Graphics.Imaging.WICRect@,System.UInt32,System.Span{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmapSource.Interface.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,System.UInt32,System.Byte*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmap_Extensions.GetSize(Windows.Win32.Graphics.Imaging.IWICBitmap.Interface,System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmap.Interface.GetSize(System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmap_Extensions.GetPixelFormat(Windows.Win32.Graphics.Imaging.IWICBitmap.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmap.Interface.GetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmap_Extensions.GetResolution(Windows.Win32.Graphics.Imaging.IWICBitmap.Interface,System.Double@,System.Double@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmap.Interface.GetResolution(System.Double*,System.Double*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmap_Extensions.CopyPixels(Windows.Win32.Graphics.Imaging.IWICBitmap.Interface,Windows.Win32.Graphics.Imaging.WICRect@,System.UInt32,System.Span{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmap.Interface.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,System.UInt32,System.Byte*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICBitmap_Extensions.Lock(Windows.Win32.Graphics.Imaging.IWICBitmap.Interface,Windows.Win32.Graphics.Imaging.WICRect@,System.UInt32,Windows.Win32.Graphics.Imaging.IWICBitmapLock**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICBitmap.Interface.Lock(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,Windows.Win32.Graphics.Imaging.IWICBitmapLock**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICColorContext_Extensions.InitializeFromFilename(Windows.Win32.Graphics.Imaging.IWICColorContext.Interface,System.String)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorContext.Interface.InitializeFromFilename(Windows.Win32.Foundation.PCWSTR)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICColorContext_Extensions.InitializeFromMemory(Windows.Win32.Graphics.Imaging.IWICColorContext.Interface,System.ReadOnlySpan{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorContext.Interface.InitializeFromMemory(System.Byte*,System.UInt32)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICColorContext_Extensions.GetType(Windows.Win32.Graphics.Imaging.IWICColorContext.Interface,Windows.Win32.Graphics.Imaging.WICColorContextType@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorContext.Interface.GetType(Windows.Win32.Graphics.Imaging.WICColorContextType*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICColorContext_Extensions.GetProfileBytes(Windows.Win32.Graphics.Imaging.IWICColorContext.Interface,System.ReadOnlySpan{System.Byte},System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorContext.Interface.GetProfileBytes(System.UInt32,System.Byte*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICColorContext_Extensions.GetExifColorSpace(Windows.Win32.Graphics.Imaging.IWICColorContext.Interface,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorContext.Interface.GetExifColorSpace(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICColorTransform_Extensions.GetSize(Windows.Win32.Graphics.Imaging.IWICColorTransform.Interface,System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorTransform.Interface.GetSize(System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICColorTransform_Extensions.GetPixelFormat(Windows.Win32.Graphics.Imaging.IWICColorTransform.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorTransform.Interface.GetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICColorTransform_Extensions.GetResolution(Windows.Win32.Graphics.Imaging.IWICColorTransform.Interface,System.Double@,System.Double@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorTransform.Interface.GetResolution(System.Double*,System.Double*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICColorTransform_Extensions.CopyPixels(Windows.Win32.Graphics.Imaging.IWICColorTransform.Interface,Windows.Win32.Graphics.Imaging.WICRect@,System.UInt32,System.Span{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorTransform.Interface.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,System.UInt32,System.Byte*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICColorTransform_Extensions.Initialize(Windows.Win32.Graphics.Imaging.IWICColorTransform.Interface,Windows.Win32.Graphics.Imaging.IWICBitmapSource*,Windows.Win32.Graphics.Imaging.IWICColorContext*,Windows.Win32.Graphics.Imaging.IWICColorContext*,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICColorTransform.Interface.Initialize(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,Windows.Win32.Graphics.Imaging.IWICColorContext*,Windows.Win32.Graphics.Imaging.IWICColorContext*,System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICComponentInfo_Extensions.GetComponentType(Windows.Win32.Graphics.Imaging.IWICComponentInfo.Interface,Windows.Win32.Graphics.Imaging.WICComponentType@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.Interface.GetComponentType(Windows.Win32.Graphics.Imaging.WICComponentType*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICComponentInfo_Extensions.GetCLSID(Windows.Win32.Graphics.Imaging.IWICComponentInfo.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.Interface.GetCLSID(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICComponentInfo_Extensions.GetSigningStatus(Windows.Win32.Graphics.Imaging.IWICComponentInfo.Interface,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.Interface.GetSigningStatus(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICComponentInfo_Extensions.GetAuthor(Windows.Win32.Graphics.Imaging.IWICComponentInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.Interface.GetAuthor(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICComponentInfo_Extensions.GetVendorGUID(Windows.Win32.Graphics.Imaging.IWICComponentInfo.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.Interface.GetVendorGUID(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICComponentInfo_Extensions.GetVersion(Windows.Win32.Graphics.Imaging.IWICComponentInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.Interface.GetVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICComponentInfo_Extensions.GetSpecVersion(Windows.Win32.Graphics.Imaging.IWICComponentInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.Interface.GetSpecVersion(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICComponentInfo_Extensions.GetFriendlyName(Windows.Win32.Graphics.Imaging.IWICComponentInfo.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICComponentInfo.Interface.GetFriendlyName(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICFormatConverter_Extensions.GetSize(Windows.Win32.Graphics.Imaging.IWICFormatConverter.Interface,System.UInt32@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.Interface.GetSize(System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICFormatConverter_Extensions.GetPixelFormat(Windows.Win32.Graphics.Imaging.IWICFormatConverter.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.Interface.GetPixelFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICFormatConverter_Extensions.GetResolution(Windows.Win32.Graphics.Imaging.IWICFormatConverter.Interface,System.Double@,System.Double@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.Interface.GetResolution(System.Double*,System.Double*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICFormatConverter_Extensions.CopyPixels(Windows.Win32.Graphics.Imaging.IWICFormatConverter.Interface,Windows.Win32.Graphics.Imaging.WICRect@,System.UInt32,System.Span{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.Interface.CopyPixels(Windows.Win32.Graphics.Imaging.WICRect*,System.UInt32,System.UInt32,System.Byte*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICFormatConverter_Extensions.Initialize(Windows.Win32.Graphics.Imaging.IWICFormatConverter.Interface,Windows.Win32.Graphics.Imaging.IWICBitmapSource*,System.Guid@,Windows.Win32.Graphics.Imaging.WICBitmapDitherType,Windows.Win32.Graphics.Imaging.IWICPalette*,System.Double,Windows.Win32.Graphics.Imaging.WICBitmapPaletteType)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.Interface.Initialize(Windows.Win32.Graphics.Imaging.IWICBitmapSource*,System.Guid*,Windows.Win32.Graphics.Imaging.WICBitmapDitherType,Windows.Win32.Graphics.Imaging.IWICPalette*,System.Double,Windows.Win32.Graphics.Imaging.WICBitmapPaletteType)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICFormatConverter_Extensions.CanConvert(Windows.Win32.Graphics.Imaging.IWICFormatConverter.Interface,System.Guid@,System.Guid@,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICFormatConverter.Interface.CanConvert(System.Guid*,System.Guid*,Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICImagingFactory_Extensions.CreateDecoderFromFilename(Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface,System.String,System.Nullable{System.Guid},Windows.Win32.Foundation.GENERIC_ACCESS_RIGHTS,Windows.Win32.Graphics.Imaging.WICDecodeOptions,Windows.Win32.Graphics.Imaging.IWICBitmapDecoder**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface.CreateDecoderFromFilename(Windows.Win32.Foundation.PCWSTR,System.Guid*,Windows.Win32.Foundation.GENERIC_ACCESS_RIGHTS,Windows.Win32.Graphics.Imaging.WICDecodeOptions,Windows.Win32.Graphics.Imaging.IWICBitmapDecoder**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICImagingFactory_Extensions.CreateDecoderFromStream(Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface,Windows.Win32.System.Com.IStream*,System.Guid@,Windows.Win32.Graphics.Imaging.WICDecodeOptions,Windows.Win32.Graphics.Imaging.IWICBitmapDecoder**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface.CreateDecoderFromStream(Windows.Win32.System.Com.IStream*,System.Guid*,Windows.Win32.Graphics.Imaging.WICDecodeOptions,Windows.Win32.Graphics.Imaging.IWICBitmapDecoder**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICImagingFactory_Extensions.CreateDecoderFromFileHandle(Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface,System.UIntPtr,System.Guid@,Windows.Win32.Graphics.Imaging.WICDecodeOptions,Windows.Win32.Graphics.Imaging.IWICBitmapDecoder**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface.CreateDecoderFromFileHandle(System.UIntPtr,System.Guid*,Windows.Win32.Graphics.Imaging.WICDecodeOptions,Windows.Win32.Graphics.Imaging.IWICBitmapDecoder**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICImagingFactory_Extensions.CreateComponentInfo(Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface,System.Guid@,Windows.Win32.Graphics.Imaging.IWICComponentInfo**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface.CreateComponentInfo(System.Guid*,Windows.Win32.Graphics.Imaging.IWICComponentInfo**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICImagingFactory_Extensions.CreateDecoder(Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface,System.Guid@,System.Guid@,Windows.Win32.Graphics.Imaging.IWICBitmapDecoder**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface.CreateDecoder(System.Guid*,System.Guid*,Windows.Win32.Graphics.Imaging.IWICBitmapDecoder**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICImagingFactory_Extensions.CreateEncoder(Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface,System.Guid@,System.Guid@,Windows.Win32.Graphics.Imaging.IWICBitmapEncoder**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface.CreateEncoder(System.Guid*,System.Guid*,Windows.Win32.Graphics.Imaging.IWICBitmapEncoder**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICImagingFactory_Extensions.CreateBitmap(Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface,System.UInt32,System.UInt32,System.Guid@,Windows.Win32.Graphics.Imaging.WICBitmapCreateCacheOption,Windows.Win32.Graphics.Imaging.IWICBitmap**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface.CreateBitmap(System.UInt32,System.UInt32,System.Guid*,Windows.Win32.Graphics.Imaging.WICBitmapCreateCacheOption,Windows.Win32.Graphics.Imaging.IWICBitmap**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICImagingFactory_Extensions.CreateBitmapFromMemory(Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface,System.UInt32,System.UInt32,System.Guid@,System.UInt32,System.ReadOnlySpan{System.Byte},Windows.Win32.Graphics.Imaging.IWICBitmap**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface.CreateBitmapFromMemory(System.UInt32,System.UInt32,System.Guid*,System.UInt32,System.UInt32,System.Byte*,Windows.Win32.Graphics.Imaging.IWICBitmap**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICImagingFactory_Extensions.CreateBitmapFromHBITMAP(Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface,System.Runtime.InteropServices.SafeHandle,System.Runtime.InteropServices.SafeHandle,Windows.Win32.Graphics.Imaging.WICBitmapAlphaChannelOption,Windows.Win32.Graphics.Imaging.IWICBitmap**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface.CreateBitmapFromHBITMAP(Windows.Win32.Graphics.Gdi.HBITMAP,Windows.Win32.Graphics.Gdi.HPALETTE,Windows.Win32.Graphics.Imaging.WICBitmapAlphaChannelOption,Windows.Win32.Graphics.Imaging.IWICBitmap**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICImagingFactory_Extensions.CreateBitmapFromHICON(Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface,System.Runtime.InteropServices.SafeHandle,Windows.Win32.Graphics.Imaging.IWICBitmap**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface.CreateBitmapFromHICON(Windows.Win32.UI.WindowsAndMessaging.HICON,Windows.Win32.Graphics.Imaging.IWICBitmap**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICImagingFactory_Extensions.CreateQueryWriter(Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface,System.Guid@,System.Guid@,Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface.CreateQueryWriter(System.Guid*,System.Guid*,Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICImagingFactory_Extensions.CreateQueryWriterFromReader(Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface,Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader*,System.Guid@,Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter**)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICImagingFactory.Interface.CreateQueryWriterFromReader(Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader*,System.Guid*,Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter**)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICMetadataQueryReader_Extensions.GetContainerFormat(Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.Interface.GetContainerFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICMetadataQueryReader_Extensions.GetLocation(Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.Interface.GetLocation(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICMetadataQueryReader_Extensions.GetMetadataByName(Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.Interface,System.String,Windows.Win32.System.Com.StructuredStorage.PROPVARIANT@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryReader.Interface.GetMetadataByName(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.StructuredStorage.PROPVARIANT*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICMetadataQueryWriter_Extensions.GetContainerFormat(Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.Interface.GetContainerFormat(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICMetadataQueryWriter_Extensions.GetLocation(Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.Interface,System.UInt32,System.Span{System.Char}@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.Interface.GetLocation(System.UInt32,Windows.Win32.Foundation.PWSTR,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICMetadataQueryWriter_Extensions.GetMetadataByName(Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.Interface,System.String,Windows.Win32.System.Com.StructuredStorage.PROPVARIANT@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.Interface.GetMetadataByName(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.StructuredStorage.PROPVARIANT*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICMetadataQueryWriter_Extensions.SetMetadataByName(Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.Interface,System.String,Windows.Win32.System.Com.StructuredStorage.PROPVARIANT@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.Interface.SetMetadataByName(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.StructuredStorage.PROPVARIANT*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICMetadataQueryWriter_Extensions.RemoveMetadataByName(Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.Interface,System.String)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICMetadataQueryWriter.Interface.RemoveMetadataByName(Windows.Win32.Foundation.PCWSTR)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICPalette_Extensions.InitializeCustom(Windows.Win32.Graphics.Imaging.IWICPalette.Interface,System.ReadOnlySpan{System.UInt32})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICPalette.Interface.InitializeCustom(System.UInt32*,System.UInt32)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICPalette_Extensions.GetType(Windows.Win32.Graphics.Imaging.IWICPalette.Interface,Windows.Win32.Graphics.Imaging.WICBitmapPaletteType@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICPalette.Interface.GetType(Windows.Win32.Graphics.Imaging.WICBitmapPaletteType*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICPalette_Extensions.GetColorCount(Windows.Win32.Graphics.Imaging.IWICPalette.Interface,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICPalette.Interface.GetColorCount(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICPalette_Extensions.GetColors(Windows.Win32.Graphics.Imaging.IWICPalette.Interface,System.Span{System.UInt32},System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICPalette.Interface.GetColors(System.UInt32,System.UInt32*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICPalette_Extensions.IsBlackWhite(Windows.Win32.Graphics.Imaging.IWICPalette.Interface,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICPalette.Interface.IsBlackWhite(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICPalette_Extensions.IsGrayscale(Windows.Win32.Graphics.Imaging.IWICPalette.Interface,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICPalette.Interface.IsGrayscale(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICPalette_Extensions.HasAlpha(Windows.Win32.Graphics.Imaging.IWICPalette.Interface,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICPalette.Interface.HasAlpha(Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICStream_Extensions.Stat(Windows.Win32.Graphics.Imaging.IWICStream.Interface,Windows.Win32.System.Com.STATSTG@,System.UInt32)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICStream.Interface.Stat(Windows.Win32.System.Com.STATSTG*,System.UInt32)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICStream_Extensions.InitializeFromFilename(Windows.Win32.Graphics.Imaging.IWICStream.Interface,System.String,System.UInt32)">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICStream.Interface.InitializeFromFilename(Windows.Win32.Foundation.PCWSTR,System.UInt32)"/>
        </member>
        <member name="M:Windows.Win32.Graphics_Imaging_IWICStream_Extensions.InitializeFromMemory(Windows.Win32.Graphics.Imaging.IWICStream.Interface,System.ReadOnlySpan{System.Byte})">
            <inheritdoc cref="M:Windows.Win32.Graphics.Imaging.IWICStream.Interface.InitializeFromMemory(System.Byte*,System.UInt32)"/>
        </member>
        <member name="P:Windows.Win32.IComIID.Guid">
            <summary>The IID guid for this interface.</summary>
            <remarks>The <see cref="P:Windows.Win32.IComIID.Guid" /> reference that is returned comes from a permanent memory address, and is therefore safe to convert to a pointer and pass around or hold long-term.</remarks>
        </member>
        <member name="T:Windows.Win32.IVTable">
            <summary>
            Non generic interface that allows constraining against a COM wrapper type directly. COM structs should
            implement <see cref="T:Windows.Win32.IVTable`2"/>.
            </summary>
        </member>
        <member name="T:Windows.Win32.SysFreeStringSafeHandle">
            <summary>
            Represents a Win32 handle that can be closed with <see cref="M:Windows.Win32.PInvoke.SysFreeString(Windows.Win32.Foundation.BSTR)"/>.
            </summary>
        </member>
        <member name="T:Windows.Win32.Globalization.SYSGEOCLASS">
            <summary>Specifies the geographical location class.</summary>
            <remarks>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winnls/ne-winnls-sysgeoclass">Learn more about this API from docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="F:Windows.Win32.Globalization.SYSGEOCLASS.GEOCLASS_NATION">
            <summary>Class for nation geographical location identifiers.</summary>
        </member>
        <member name="F:Windows.Win32.Globalization.SYSGEOCLASS.GEOCLASS_REGION">
            <summary>Class for region geographical location identifiers.</summary>
        </member>
        <member name="F:Windows.Win32.Globalization.SYSGEOCLASS.GEOCLASS_ALL">
            <summary><b>Starting with Windows 8:</b> Class for all geographical location identifiers.</summary>
        </member>
        <member name="M:Windows.Win32.System_Com_IEnumString_Extensions.Next(Windows.Win32.System.Com.IEnumString.Interface,System.Span{Windows.Win32.Foundation.PWSTR},System.UInt32*)">
            <inheritdoc cref="M:Windows.Win32.System.Com.IEnumString.Interface.Next(System.UInt32,Windows.Win32.Foundation.PWSTR*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_IErrorLog_Extensions.AddError(Windows.Win32.System.Com.IErrorLog.Interface,System.String,Windows.Win32.System.Com.EXCEPINFO@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.IErrorLog.Interface.AddError(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.EXCEPINFO*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_IStream_Extensions.Stat(Windows.Win32.System.Com.IStream.Interface,Windows.Win32.System.Com.STATSTG@,System.UInt32)">
            <inheritdoc cref="M:Windows.Win32.System.Com.IStream.Interface.Stat(Windows.Win32.System.Com.STATSTG*,System.UInt32)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeComp_Extensions.Bind(Windows.Win32.System.Com.ITypeComp.Interface,Windows.Win32.Foundation.PWSTR,System.UInt32,System.UInt16,Windows.Win32.System.Com.ITypeInfo**,Windows.Win32.System.Com.DESCKIND@,Windows.Win32.System.Com.BINDPTR@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeComp.Interface.Bind(Windows.Win32.Foundation.PWSTR,System.UInt32,System.UInt16,Windows.Win32.System.Com.ITypeInfo**,Windows.Win32.System.Com.DESCKIND*,Windows.Win32.System.Com.BINDPTR*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeInfo_Extensions.GetTypeAttr(Windows.Win32.System.Com.ITypeInfo.Interface,Windows.Win32.System.Com.TYPEATTR*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.Interface.GetTypeAttr(Windows.Win32.System.Com.TYPEATTR**)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeInfo_Extensions.GetFuncDesc(Windows.Win32.System.Com.ITypeInfo.Interface,System.UInt32,Windows.Win32.System.Com.FUNCDESC*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.Interface.GetFuncDesc(System.UInt32,Windows.Win32.System.Com.FUNCDESC**)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeInfo_Extensions.GetVarDesc(Windows.Win32.System.Com.ITypeInfo.Interface,System.UInt32,Windows.Win32.System.Com.VARDESC*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.Interface.GetVarDesc(System.UInt32,Windows.Win32.System.Com.VARDESC**)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeInfo_Extensions.GetNames(Windows.Win32.System.Com.ITypeInfo.Interface,System.Int32,Windows.Win32.SysFreeStringSafeHandle@,System.UInt32,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.Interface.GetNames(System.Int32,Windows.Win32.Foundation.BSTR*,System.UInt32,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeInfo_Extensions.GetRefTypeOfImplType(Windows.Win32.System.Com.ITypeInfo.Interface,System.UInt32,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.Interface.GetRefTypeOfImplType(System.UInt32,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeInfo_Extensions.GetImplTypeFlags(Windows.Win32.System.Com.ITypeInfo.Interface,System.UInt32,Windows.Win32.System.Com.IMPLTYPEFLAGS@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.Interface.GetImplTypeFlags(System.UInt32,Windows.Win32.System.Com.IMPLTYPEFLAGS*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeInfo_Extensions.GetIDsOfNames(Windows.Win32.System.Com.ITypeInfo.Interface,System.ReadOnlySpan{Windows.Win32.Foundation.PWSTR},System.Span{System.Int32})">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.Interface.GetIDsOfNames(Windows.Win32.Foundation.PWSTR*,System.UInt32,System.Int32*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeInfo_Extensions.Invoke(Windows.Win32.System.Com.ITypeInfo.Interface,System.Void*,System.Int32,Windows.Win32.System.Com.DISPATCH_FLAGS,Windows.Win32.System.Com.DISPPARAMS@,Windows.Win32.System.Variant.VARIANT@,Windows.Win32.System.Com.EXCEPINFO@,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.Interface.Invoke(System.Void*,System.Int32,Windows.Win32.System.Com.DISPATCH_FLAGS,Windows.Win32.System.Com.DISPPARAMS*,Windows.Win32.System.Variant.VARIANT*,Windows.Win32.System.Com.EXCEPINFO*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeInfo_Extensions.GetDocumentation(Windows.Win32.System.Com.ITypeInfo.Interface,System.Int32,Windows.Win32.SysFreeStringSafeHandle@,Windows.Win32.SysFreeStringSafeHandle@,System.UInt32@,Windows.Win32.SysFreeStringSafeHandle@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.Interface.GetDocumentation(System.Int32,Windows.Win32.Foundation.BSTR*,Windows.Win32.Foundation.BSTR*,System.UInt32*,Windows.Win32.Foundation.BSTR*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeInfo_Extensions.GetDllEntry(Windows.Win32.System.Com.ITypeInfo.Interface,System.Int32,Windows.Win32.System.Com.INVOKEKIND,Windows.Win32.SysFreeStringSafeHandle@,Windows.Win32.SysFreeStringSafeHandle@,System.UInt16@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.Interface.GetDllEntry(System.Int32,Windows.Win32.System.Com.INVOKEKIND,Windows.Win32.Foundation.BSTR*,Windows.Win32.Foundation.BSTR*,System.UInt16*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeInfo_Extensions.AddressOfMember(Windows.Win32.System.Com.ITypeInfo.Interface,System.Int32,Windows.Win32.System.Com.INVOKEKIND,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.Interface.AddressOfMember(System.Int32,Windows.Win32.System.Com.INVOKEKIND,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeInfo_Extensions.CreateInstance(Windows.Win32.System.Com.ITypeInfo.Interface,Windows.Win32.System.Com.IUnknown*,System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.Interface.CreateInstance(Windows.Win32.System.Com.IUnknown*,System.Guid*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeInfo_Extensions.GetMops(Windows.Win32.System.Com.ITypeInfo.Interface,System.Int32,Windows.Win32.SysFreeStringSafeHandle@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.Interface.GetMops(System.Int32,Windows.Win32.Foundation.BSTR*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeInfo_Extensions.GetContainingTypeLib(Windows.Win32.System.Com.ITypeInfo.Interface,Windows.Win32.System.Com.ITypeLib**,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.Interface.GetContainingTypeLib(Windows.Win32.System.Com.ITypeLib**,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeInfo_Extensions.ReleaseTypeAttr(Windows.Win32.System.Com.ITypeInfo.Interface,Windows.Win32.System.Com.TYPEATTR@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.Interface.ReleaseTypeAttr(Windows.Win32.System.Com.TYPEATTR*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeInfo_Extensions.ReleaseFuncDesc(Windows.Win32.System.Com.ITypeInfo.Interface,Windows.Win32.System.Com.FUNCDESC@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.Interface.ReleaseFuncDesc(Windows.Win32.System.Com.FUNCDESC*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeInfo_Extensions.ReleaseVarDesc(Windows.Win32.System.Com.ITypeInfo.Interface,Windows.Win32.System.Com.VARDESC@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeInfo.Interface.ReleaseVarDesc(Windows.Win32.System.Com.VARDESC*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeLib_Extensions.GetTypeInfoType(Windows.Win32.System.Com.ITypeLib.Interface,System.UInt32,Windows.Win32.System.Com.TYPEKIND@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeLib.Interface.GetTypeInfoType(System.UInt32,Windows.Win32.System.Com.TYPEKIND*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeLib_Extensions.GetTypeInfoOfGuid(Windows.Win32.System.Com.ITypeLib.Interface,System.Guid@,Windows.Win32.System.Com.ITypeInfo**)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeLib.Interface.GetTypeInfoOfGuid(System.Guid*,Windows.Win32.System.Com.ITypeInfo**)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeLib_Extensions.GetLibAttr(Windows.Win32.System.Com.ITypeLib.Interface,Windows.Win32.System.Com.TLIBATTR*@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeLib.Interface.GetLibAttr(Windows.Win32.System.Com.TLIBATTR**)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeLib_Extensions.GetDocumentation(Windows.Win32.System.Com.ITypeLib.Interface,System.Int32,Windows.Win32.SysFreeStringSafeHandle@,Windows.Win32.SysFreeStringSafeHandle@,System.UInt32@,Windows.Win32.SysFreeStringSafeHandle@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeLib.Interface.GetDocumentation(System.Int32,Windows.Win32.Foundation.BSTR*,Windows.Win32.Foundation.BSTR*,System.UInt32*,Windows.Win32.Foundation.BSTR*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeLib_Extensions.IsName(Windows.Win32.System.Com.ITypeLib.Interface,System.Span{System.Char}@,System.UInt32,Windows.Win32.Foundation.BOOL@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeLib.Interface.IsName(Windows.Win32.Foundation.PWSTR,System.UInt32,Windows.Win32.Foundation.BOOL*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeLib_Extensions.FindName(Windows.Win32.System.Com.ITypeLib.Interface,System.Span{System.Char}@,System.UInt32,Windows.Win32.System.Com.ITypeInfo**,System.Int32*,System.UInt16@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeLib.Interface.FindName(Windows.Win32.Foundation.PWSTR,System.UInt32,Windows.Win32.System.Com.ITypeInfo**,System.Int32*,System.UInt16*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_ITypeLib_Extensions.ReleaseTLibAttr(Windows.Win32.System.Com.ITypeLib.Interface,Windows.Win32.System.Com.TLIBATTR@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.ITypeLib.Interface.ReleaseTLibAttr(Windows.Win32.System.Com.TLIBATTR*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_StructuredStorage_IEnumSTATSTG_Extensions.Next(Windows.Win32.System.Com.StructuredStorage.IEnumSTATSTG.Interface,System.Span{Windows.Win32.System.Com.STATSTG},System.UInt32*)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IEnumSTATSTG.Interface.Next(System.UInt32,Windows.Win32.System.Com.STATSTG*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_StructuredStorage_IPropertyBag2_Extensions.Read(Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.Interface,System.ReadOnlySpan{Windows.Win32.System.Com.StructuredStorage.PROPBAG2},Windows.Win32.System.Com.IErrorLog*,System.Span{Windows.Win32.System.Variant.VARIANT},System.ReadOnlySpan{Windows.Win32.Foundation.HRESULT})">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.Interface.Read(System.UInt32,Windows.Win32.System.Com.StructuredStorage.PROPBAG2*,Windows.Win32.System.Com.IErrorLog*,Windows.Win32.System.Variant.VARIANT*,Windows.Win32.Foundation.HRESULT*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_StructuredStorage_IPropertyBag2_Extensions.Write(Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.Interface,System.ReadOnlySpan{Windows.Win32.System.Com.StructuredStorage.PROPBAG2},System.ReadOnlySpan{Windows.Win32.System.Variant.VARIANT})">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.Interface.Write(System.UInt32,Windows.Win32.System.Com.StructuredStorage.PROPBAG2*,Windows.Win32.System.Variant.VARIANT*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_StructuredStorage_IPropertyBag2_Extensions.CountProperties(Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.Interface,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.Interface.CountProperties(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_StructuredStorage_IPropertyBag2_Extensions.GetPropertyInfo(Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.Interface,System.UInt32,System.Span{Windows.Win32.System.Com.StructuredStorage.PROPBAG2},System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.Interface.GetPropertyInfo(System.UInt32,System.UInt32,Windows.Win32.System.Com.StructuredStorage.PROPBAG2*,System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_StructuredStorage_IPropertyBag2_Extensions.LoadObject(Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.Interface,System.String,System.UInt32,Windows.Win32.System.Com.IUnknown*,Windows.Win32.System.Com.IErrorLog*)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IPropertyBag2.Interface.LoadObject(Windows.Win32.Foundation.PCWSTR,System.UInt32,Windows.Win32.System.Com.IUnknown*,Windows.Win32.System.Com.IErrorLog*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_StructuredStorage_IStorage_Extensions.CreateStream(Windows.Win32.System.Com.StructuredStorage.IStorage.Interface,System.String,Windows.Win32.System.Com.STGM,System.UInt32,System.UInt32,Windows.Win32.System.Com.IStream**)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.Interface.CreateStream(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.STGM,System.UInt32,System.UInt32,Windows.Win32.System.Com.IStream**)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_StructuredStorage_IStorage_Extensions.OpenStream(Windows.Win32.System.Com.StructuredStorage.IStorage.Interface,System.String,Windows.Win32.System.Com.STGM,System.UInt32,Windows.Win32.System.Com.IStream**)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.Interface.OpenStream(Windows.Win32.Foundation.PCWSTR,System.Void*,Windows.Win32.System.Com.STGM,System.UInt32,Windows.Win32.System.Com.IStream**)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_StructuredStorage_IStorage_Extensions.CreateStorage(Windows.Win32.System.Com.StructuredStorage.IStorage.Interface,System.String,Windows.Win32.System.Com.STGM,System.UInt32,System.UInt32,Windows.Win32.System.Com.StructuredStorage.IStorage**)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.Interface.CreateStorage(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.STGM,System.UInt32,System.UInt32,Windows.Win32.System.Com.StructuredStorage.IStorage**)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_StructuredStorage_IStorage_Extensions.OpenStorage(Windows.Win32.System.Com.StructuredStorage.IStorage.Interface,System.String,Windows.Win32.System.Com.StructuredStorage.IStorage*,Windows.Win32.System.Com.STGM,System.UInt16*@,System.UInt32,Windows.Win32.System.Com.StructuredStorage.IStorage**)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.Interface.OpenStorage(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.StructuredStorage.IStorage*,Windows.Win32.System.Com.STGM,System.UInt16**,System.UInt32,Windows.Win32.System.Com.StructuredStorage.IStorage**)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_StructuredStorage_IStorage_Extensions.CopyTo(Windows.Win32.System.Com.StructuredStorage.IStorage.Interface,System.ReadOnlySpan{System.Guid},System.UInt16**,Windows.Win32.System.Com.StructuredStorage.IStorage*)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.Interface.CopyTo(System.UInt32,System.Guid*,System.UInt16**,Windows.Win32.System.Com.StructuredStorage.IStorage*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_StructuredStorage_IStorage_Extensions.MoveElementTo(Windows.Win32.System.Com.StructuredStorage.IStorage.Interface,System.String,Windows.Win32.System.Com.StructuredStorage.IStorage*,System.String,System.UInt32)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.Interface.MoveElementTo(Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Com.StructuredStorage.IStorage*,Windows.Win32.Foundation.PCWSTR,System.UInt32)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_StructuredStorage_IStorage_Extensions.EnumElements(Windows.Win32.System.Com.StructuredStorage.IStorage.Interface,Windows.Win32.System.Com.StructuredStorage.IEnumSTATSTG**)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.Interface.EnumElements(System.UInt32,System.Void*,System.UInt32,Windows.Win32.System.Com.StructuredStorage.IEnumSTATSTG**)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_StructuredStorage_IStorage_Extensions.DestroyElement(Windows.Win32.System.Com.StructuredStorage.IStorage.Interface,System.String)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.Interface.DestroyElement(Windows.Win32.Foundation.PCWSTR)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_StructuredStorage_IStorage_Extensions.RenameElement(Windows.Win32.System.Com.StructuredStorage.IStorage.Interface,System.String,System.String)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.Interface.RenameElement(Windows.Win32.Foundation.PCWSTR,Windows.Win32.Foundation.PCWSTR)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_StructuredStorage_IStorage_Extensions.SetElementTimes(Windows.Win32.System.Com.StructuredStorage.IStorage.Interface,System.String,System.Runtime.InteropServices.ComTypes.FILETIME@,System.Runtime.InteropServices.ComTypes.FILETIME@,System.Runtime.InteropServices.ComTypes.FILETIME@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.Interface.SetElementTimes(Windows.Win32.Foundation.PCWSTR,System.Runtime.InteropServices.ComTypes.FILETIME*,System.Runtime.InteropServices.ComTypes.FILETIME*,System.Runtime.InteropServices.ComTypes.FILETIME*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_StructuredStorage_IStorage_Extensions.SetClass(Windows.Win32.System.Com.StructuredStorage.IStorage.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.Interface.SetClass(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.System_Com_StructuredStorage_IStorage_Extensions.Stat(Windows.Win32.System.Com.StructuredStorage.IStorage.Interface,Windows.Win32.System.Com.STATSTG@,System.UInt32)">
            <inheritdoc cref="M:Windows.Win32.System.Com.StructuredStorage.IStorage.Interface.Stat(Windows.Win32.System.Com.STATSTG*,System.UInt32)"/>
        </member>
        <member name="M:Windows.Win32.System_Ole_IRecordInfo_Extensions.GetGuid(Windows.Win32.System.Ole.IRecordInfo.Interface,System.Guid@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.Interface.GetGuid(System.Guid*)"/>
        </member>
        <member name="M:Windows.Win32.System_Ole_IRecordInfo_Extensions.GetName(Windows.Win32.System.Ole.IRecordInfo.Interface,Windows.Win32.SysFreeStringSafeHandle@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.Interface.GetName(Windows.Win32.Foundation.BSTR*)"/>
        </member>
        <member name="M:Windows.Win32.System_Ole_IRecordInfo_Extensions.GetSize(Windows.Win32.System.Ole.IRecordInfo.Interface,System.UInt32@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.Interface.GetSize(System.UInt32*)"/>
        </member>
        <member name="M:Windows.Win32.System_Ole_IRecordInfo_Extensions.GetField(Windows.Win32.System.Ole.IRecordInfo.Interface,System.Void*,System.String,Windows.Win32.System.Variant.VARIANT@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.Interface.GetField(System.Void*,Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Variant.VARIANT*)"/>
        </member>
        <member name="M:Windows.Win32.System_Ole_IRecordInfo_Extensions.GetFieldNoCopy(Windows.Win32.System.Ole.IRecordInfo.Interface,System.Void*,System.String,Windows.Win32.System.Variant.VARIANT@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.Interface.GetFieldNoCopy(System.Void*,Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Variant.VARIANT*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.System_Ole_IRecordInfo_Extensions.PutField(Windows.Win32.System.Ole.IRecordInfo.Interface,System.UInt32,System.Void*,System.String,Windows.Win32.System.Variant.VARIANT@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.Interface.PutField(System.UInt32,System.Void*,Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Variant.VARIANT*)"/>
        </member>
        <member name="M:Windows.Win32.System_Ole_IRecordInfo_Extensions.PutFieldNoCopy(Windows.Win32.System.Ole.IRecordInfo.Interface,System.UInt32,System.Void*,System.String,Windows.Win32.System.Variant.VARIANT@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.Interface.PutFieldNoCopy(System.UInt32,System.Void*,Windows.Win32.Foundation.PCWSTR,Windows.Win32.System.Variant.VARIANT*)"/>
        </member>
        <member name="M:Windows.Win32.System_Ole_IRecordInfo_Extensions.GetFieldNames(Windows.Win32.System.Ole.IRecordInfo.Interface,System.UInt32@,Windows.Win32.SysFreeStringSafeHandle@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.Interface.GetFieldNames(System.UInt32*,Windows.Win32.Foundation.BSTR*)"/>
        </member>
        <member name="M:Windows.Win32.System_Ole_IRecordInfo_Extensions.RecordCreateCopy(Windows.Win32.System.Ole.IRecordInfo.Interface,System.Void*,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.System.Ole.IRecordInfo.Interface.RecordCreateCopy(System.Void*,System.Void**)"/>
        </member>
        <member name="M:Windows.Win32.UI_Shell_IDataTransferManagerInterop_Extensions.GetForWindow(Windows.Win32.UI.Shell.IDataTransferManagerInterop.Interface,Windows.Win32.Foundation.HWND,System.Guid@,System.Void*@)">
            <inheritdoc cref="M:Windows.Win32.UI.Shell.IDataTransferManagerInterop.Interface.GetForWindow(Windows.Win32.Foundation.HWND,System.Guid*,System.Void**)"/>
        </member>
    </members>
</doc>
