<?xml version="1.0"?>
<doc>
    <assembly>
        <name>YourPhone.ScreenMirroring.Managed</name>
    </assembly>
    <members>
        <member name="M:YourPhone.ScreenMirroring.Managed.Actions.LaunchPhoneNotificationAction.#ctor(YourPhone.Contracts.Notifications.INotificationLaunchProvider,YourPhone.AppCore.WinRT.Devices.IDeviceData,System.String,System.String,System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:YourPhone.ScreenMirroring.Managed.Actions.LaunchPhoneNotificationAction"/> class.
            This action launches the Android intent associated with the notification.
            It involves sending a message from PC to phone.
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Animations.DragDrop_PCToPhone.FrameCount">
            <summary>
            Gets the number of frames in the animation.
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Animations.DragDrop_PCToPhone.Framerate">
            <summary>
            Gets the frame rate of the animation.
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Animations.DragDrop_PCToPhone.Duration">
            <summary>
            Gets the duration of the animation.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Animations.DragDrop_PCToPhone.FrameToProgress(System.Double)">
            <summary>
            Converts a zero-based frame number to the corresponding progress value denoting the
            start of the frame.
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Animations.DragDrop_PCToPhone.Markers">
            <summary>
            Returns a map from marker names to corresponding progress values.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Animations.DragDrop_PCToPhone.SetColorProperty(System.String,Windows.UI.Color)">
            <summary>
            Sets the color property with the given name, or does nothing if no such property
            exists.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Animations.DragDrop_PCToPhone.SetScalarProperty(System.String,System.Double)">
            <summary>
            Sets the scalar property with the given name, or does nothing if no such property
            exists.
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Animations.DragDrop_PhoneToPC.FrameCount">
            <summary>
            Gets the number of frames in the animation.
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Animations.DragDrop_PhoneToPC.Framerate">
            <summary>
            Gets the frame rate of the animation.
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Animations.DragDrop_PhoneToPC.Duration">
            <summary>
            Gets the duration of the animation.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Animations.DragDrop_PhoneToPC.FrameToProgress(System.Double)">
            <summary>
            Converts a zero-based frame number to the corresponding progress value denoting the
            start of the frame.
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Animations.DragDrop_PhoneToPC.Markers">
            <summary>
            Returns a map from marker names to corresponding progress values.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Animations.DragDrop_PhoneToPC.SetColorProperty(System.String,Windows.UI.Color)">
            <summary>
            Sets the color property with the given name, or does nothing if no such property
            exists.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Animations.DragDrop_PhoneToPC.SetScalarProperty(System.String,System.Double)">
            <summary>
            Sets the scalar property with the given name, or does nothing if no such property
            exists.
            </summary>
        </member>
        <member name="T:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PCAppDataTable">
            <summary>
            PCAppDataTable manages the pcapp_data table and related queries.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PCAppDataTable.GetAllAppsMetadata">
            <summary>
            Returns all app metadata as a read-only list.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PCAppDataTable.GetAppMetadata(System.String)">
            <summary>
            Returns app metadata for a given package name.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PCAppDataTable.GetAppMetadataByAppId(System.String)">
            <summary>
            Returns app metadata for a given platform app ID.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PCAppDataTable.InsertOrUpdate(System.Collections.Generic.IReadOnlyList{YourPhone.ScreenMirroring.WinRT.DataStore.PCAppDataEntity})">
            <summary>
            Inserts or updates a batch of app data entities in a transaction.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PCAppDataTable.GetEntityFromRow(YourPhone.AppCore.WinRT.DataStore.ISqliteStatement)">
            <summary>
            Maps a row from the database to a PCAppDataEntity.
            </summary>
        </member>
        <member name="T:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable">
            <summary>
            Manages the phone_apps table and related queries.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.GetCount">
            <summary>
            Returns the count of phone apps.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.GetAllPhoneApps">
            <summary>
            Returns all phone apps ordered by name.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.GetAllFavoritePhoneApps">
            <summary>
            Returns all favorite phone apps ordered by favorite rank.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.GetPhoneApps(System.Collections.Generic.IReadOnlyList{System.String})">
            <summary>
            Returns phone apps for the given package names.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.GetPhoneAppsByIds(System.Collections.Generic.IReadOnlyList{System.Int64})">
            <summary>
            Returns phone apps for the given app IDs.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.GetSinglePhoneApp(System.String)">
            <summary>
            Returns a single phone app by package name.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.GetSinglePhoneAppById(System.Int64)">
            <summary>
            Returns a single phone app by app ID.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.InsertOrUpdate(System.Collections.Generic.IReadOnlyList{YourPhone.ScreenMirroring.WinRT.DataStore.PhoneAppEntity})">
            <summary>
            Inserts or updates a batch of phone app entities.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.InsertOrUpdateWithIds(System.Collections.Generic.IReadOnlyList{YourPhone.ScreenMirroring.WinRT.DataStore.PhoneAppEntity})">
            <summary>
            Inserts or updates a batch of phone app entities with IDs.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.InsertOrUpdateWithoutIcons(System.Collections.Generic.IReadOnlyList{YourPhone.ScreenMirroring.WinRT.DataStore.PhoneAppEntity})">
            <summary>
            Inserts or updates a batch of phone app entities without icons.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.DeletePhoneApps(System.Collections.Generic.IReadOnlyList{System.String})">
            <summary>
            Deletes phone apps by package names.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.DeletePhoneAppsByIds(System.Collections.Generic.IReadOnlyList{System.Int64})">
            <summary>
            Deletes phone apps by app IDs.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.DeletePhoneAppWhereNotETag(System.Int64)">
            <summary>
            Deletes phone apps where the ETag does not match.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.UpdateFavoriteRank(System.String,System.Int64)">
            <summary>
            Updates the favorite rank for a phone app.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.UpdateFavoriteRanks(System.Collections.Generic.IReadOnlyList{System.String},System.Collections.Generic.IReadOnlyList{System.Int64})">
            <summary>
            Updates favorite ranks for a batch of phone apps.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.RemoveFavorite(System.String)">
            <summary>
            Removes a favorite for a phone app.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.RemoveAllFavorites">
            <summary>
            Removes all favorites.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.GetEntityFromRow(YourPhone.AppCore.WinRT.DataStore.ISqliteStatement)">
            <summary>
            Maps a row from the database to a PhoneAppEntity.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.PhoneAppsTable.Synchronize(System.Collections.Generic.IReadOnlyList{System.Int64},System.Collections.Generic.IReadOnlyList{System.Int64})">
            <summary>
            Synchronizes the table with the given IDs and checksums.
            </summary>
        </member>
        <member name="T:YourPhone.ScreenMirroring.Managed.DataStore.Tables.RecentAppsTable">
            <summary>
            Manages the recent_apps table and related queries.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.RecentAppsTable.GetAllRecentAppsWithIcons">
            <summary>
            Returns all recent apps with icons, ordered by recent_app_rank.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.RecentAppsTable.GetAllRecentApps">
            <summary>
            Returns all recent apps, ordered by recent_app_rank.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.RecentAppsTable.GetRecentAppFromId(System.Int64)">
            <summary>
            Returns a recent app by its app_id.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.RecentAppsTable.InsertOrUpdate(System.Collections.Generic.IReadOnlyList{YourPhone.ScreenMirroring.WinRT.DataStore.RecentAppEntity})">
            <summary>
            Inserts or updates a batch of recent app entities.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.RecentAppsTable.DeleteRecentAppsByPackageNames(System.Collections.Generic.IReadOnlyList{System.String})">
            <summary>
            Deletes recent apps by package names.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.RecentAppsTable.DeleteRecentAppsByIds(System.Collections.Generic.IReadOnlyList{System.Int64})">
            <summary>
            Deletes recent apps by app IDs.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.RecentAppsTable.ClearAllRecentApps">
            <summary>
            Clears all recent apps.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.RecentAppsTable.GetEntityFromRow(YourPhone.AppCore.WinRT.DataStore.ISqliteStatement)">
            <summary>
            Maps a row from the database to a RecentAppEntity.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.DataStore.Tables.RecentAppsTable.Synchronize(System.Collections.Generic.IReadOnlyList{System.Int64},System.Collections.Generic.IReadOnlyList{System.Int64})">
            <summary>
            Synchronizes the table with the given IDs and checksums.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Settings.CopyPasteSettingsGroupView.InitializeComponent">
            <summary>
            InitializeComponent()
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Settings.CopyPasteSettingsGroupView.Connect(System.Int32,System.Object)">
            <summary>
            Connect()
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Settings.CopyPasteSettingsGroupView.GetBindingConnector(System.Int32,System.Object)">
            <summary>
            GetBindingConnector(int connectionId, object target)
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Settings.MirrorSettingsGroupView.InitializeComponent">
            <summary>
            InitializeComponent()
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Settings.MirrorSettingsGroupView.UnloadObject(Microsoft.UI.Xaml.DependencyObject)">
            <summary>
            UnloadObject(DependencyObject)
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Settings.MirrorSettingsGroupView.Connect(System.Int32,System.Object)">
            <summary>
            Connect()
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Settings.MirrorSettingsGroupView.DisconnectUnloadedObject(System.Int32)">
            <summary>
            DisconnectUnloadedObject(int connectionId)
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Settings.MirrorSettingsGroupView.GetBindingConnector(System.Int32,System.Object)">
            <summary>
            GetBindingConnector(int connectionId, object target)
            </summary>
        </member>
        <member name="T:YourPhone.ScreenMirroring.Managed.Telemetry.Details">
            <summary>
            Class used to store JsonProperties, used in telemetry details
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Telemetry.Details.PackageName">
            <summary>
            Package Name
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Telemetry.Details.HostedAppCapable">
            <summary>
            Hosted apps capable
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Telemetry.Details.PhoneScreenStackUnificationCapable">
            <summary>
            PhoneScreen Stack Unification Capable
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Telemetry.ITelemetryFactory.LogActionTelemetry(YourPhone.ScreenMirroring.Managed.Telemetry.TelemetryEventName,System.String,YourPhone.ScreenMirroring.Managed.Telemetry.ViewActivityAction,System.String,System.String,System.String,System.String,YourPhone.ScreenMirroring.Managed.Telemetry.Details)">
            <summary>
            Sends an Action Telemetry Event
            </summary>
            <param name="name">TelemetryEventName
            </param>
            <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="details">Details object</param>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Telemetry.TelemetryFactory.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:YourPhone.ScreenMirroring.Managed.Telemetry.TelemetryFactory"/> class.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Telemetry.TelemetryFactory.LogActionTelemetry(YourPhone.ScreenMirroring.Managed.Telemetry.TelemetryEventName,System.String,YourPhone.ScreenMirroring.Managed.Telemetry.ViewActivityAction,System.String,System.String,System.String,System.String,YourPhone.ScreenMirroring.Managed.Telemetry.Details)">
            <inheritdoc cref="T:YourPhone.ScreenMirroring.Managed.Telemetry.ITelemetryFactory"/>
        </member>
        <member name="T:YourPhone.ScreenMirroring.Managed.Telemetry.TelemetryHelper">
            <summary>
            Class used for telemetry related helper functions
            </summary>
        </member>
        <member name="T:YourPhone.ScreenMirroring.Managed.Telemetry.TelemetryHelper.ActivityStatus">
            <summary>
            Measures telemetry start and stop
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Telemetry.TelemetryHelper.GenerateCorrelationId">
            <summary>
            Generates a new GUID to be used as a correlationId in telemetry
            </summary>
            <returns>string</returns>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Telemetry.TelemetryHelper.GetJObjectFromDetails(System.Text.Json.Nodes.JsonObject,YourPhone.ScreenMirroring.Managed.Telemetry.Details)">
            <summary>
            Merges previous Details with new Details as a JObject
            </summary>
            <param name="previousDetails">JObject</param>
            <param name="details">Details</param>
            <returns>JObject details</returns>
        </member>
        <member name="F:YourPhone.ScreenMirroring.Managed.UserControls.PhoneScreenApp.ViewModelProperty">
            <summary>
            The Dependency property backing the ViewModel property
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.UserControls.PhoneScreenApp.ViewModel">
            <summary>
            Gets or sets the viewmodel the chrome binds to.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.PhoneScreenApp.InitializeComponent">
            <summary>
            InitializeComponent()
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.PhoneScreenApp.Connect(System.Int32,System.Object)">
            <summary>
            Connect()
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.PhoneScreenApp.GetBindingConnector(System.Int32,System.Object)">
            <summary>
            GetBindingConnector(int connectionId, object target)
            </summary>
        </member>
        <member name="F:YourPhone.ScreenMirroring.Managed.UserControls.PhoneScreenAppsView.ViewModelProperty">
            <summary>
            The Dependency property backing the ViewModel property
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.UserControls.PhoneScreenAppsView.ViewModel">
            <summary>
            Gets or sets the viewmodel the chrome binds to.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.PhoneScreenAppsView.InitializeComponent">
            <summary>
            InitializeComponent()
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.PhoneScreenAppsView.UnloadObject(Microsoft.UI.Xaml.DependencyObject)">
            <summary>
            UnloadObject(DependencyObject)
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.PhoneScreenAppsView.Connect(System.Int32,System.Object)">
            <summary>
            Connect()
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.PhoneScreenAppsView.DisconnectUnloadedObject(System.Int32)">
            <summary>
            DisconnectUnloadedObject(int connectionId)
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.PhoneScreenAppsView.GetBindingConnector(System.Int32,System.Object)">
            <summary>
            GetBindingConnector(int connectionId, object target)
            </summary>
        </member>
        <member name="F:YourPhone.ScreenMirroring.Managed.UserControls.RecentAppsView.ViewModelProperty">
            <summary>
            The Dependency property backing the ViewModel property
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.UserControls.RecentAppsView.ViewModel">
            <summary>
            Gets or sets the viewmodel the chrome binds to.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.RecentAppsView.InitializeComponent">
            <summary>
            InitializeComponent()
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.RecentAppsView.Connect(System.Int32,System.Object)">
            <summary>
            Connect()
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.RecentAppsView.GetBindingConnector(System.Int32,System.Object)">
            <summary>
            GetBindingConnector(int connectionId, object target)
            </summary>
        </member>
        <member name="F:YourPhone.ScreenMirroring.Managed.UserControls.RecentAppView.ViewModelProperty">
            <summary>
            The Dependency property backing the ViewModel property
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.UserControls.RecentAppView.ViewModel">
            <summary>
            Gets or sets the viewmodel the chrome binds to.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.RecentAppView.InitializeComponent">
            <summary>
            InitializeComponent()
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.RecentAppView.Connect(System.Int32,System.Object)">
            <summary>
            Connect()
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.RecentAppView.GetBindingConnector(System.Int32,System.Object)">
            <summary>
            GetBindingConnector(int connectionId, object target)
            </summary>
        </member>
        <member name="F:YourPhone.ScreenMirroring.Managed.UserControls.RemotingNode.ViewModelProperty">
            <summary>
            The Dependency property backing the ViewModel property
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.UserControls.RemotingNode.ViewModel">
            <summary>
            Gets or sets the viewmodel the chrome binds to.
            </summary>
        </member>
        <member name="F:YourPhone.ScreenMirroring.Managed.UserControls.RemotingNode.PadTitleBarProperty">
            <summary>
            The Dependency property backing the PadTitleBar property
            </summary>
        </member>
        <member name="F:YourPhone.ScreenMirroring.Managed.UserControls.RemotingNode.VerticalContentShiftProperty">
            <summary>
            The Dependency property backing the VerticalContentShift property
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.RemotingNode.InitializeComponent">
            <summary>
            InitializeComponent()
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.RemotingNode.UnloadObject(Microsoft.UI.Xaml.DependencyObject)">
            <summary>
            UnloadObject(DependencyObject)
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.RemotingNode.Connect(System.Int32,System.Object)">
            <summary>
            Connect()
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.RemotingNode.DisconnectUnloadedObject(System.Int32)">
            <summary>
            DisconnectUnloadedObject(int connectionId)
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.RemotingNode.GetBindingConnector(System.Int32,System.Object)">
            <summary>
            GetBindingConnector(int connectionId, object target)
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.UpgradeSecondaryTileContentDialog.InitializeComponent">
            <summary>
            InitializeComponent()
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.UpgradeSecondaryTileContentDialog.Connect(System.Int32,System.Object)">
            <summary>
            Connect()
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.UserControls.UpgradeSecondaryTileContentDialog.GetBindingConnector(System.Int32,System.Object)">
            <summary>
            GetBindingConnector(int connectionId, object target)
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Utilities.PlatformMetadataContext.PlatformName">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Utilities.PlatformMetadataContext.PlatformMetadata">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Utilities.PlatformMetadataContext.String">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Utilities.PlatformMetadataContext.Default">
            <summary>
            The default <see cref="T:System.Text.Json.Serialization.JsonSerializerContext"/> associated with a default <see cref="T:System.Text.Json.JsonSerializerOptions"/> instance.
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Utilities.PlatformMetadataContext.GeneratedSerializerOptions">
            <summary>
            The source-generated options associated with this context.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Utilities.PlatformMetadataContext.#ctor">
            <inheritdoc/>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Utilities.PlatformMetadataContext.#ctor(System.Text.Json.JsonSerializerOptions)">
            <inheritdoc/>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Utilities.PlatformMetadataContext.GetTypeInfo(System.Type)">
            <inheritdoc/>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Utilities.StoreActionPackageContext.Boolean">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Utilities.StoreActionPackageContext.StoreActionPackage">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Utilities.StoreActionPackageContext.Int32">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Utilities.StoreActionPackageContext.String">
            <summary>
            Defines the source generated JSON serialization contract metadata for a given type.
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Utilities.StoreActionPackageContext.Default">
            <summary>
            The default <see cref="T:System.Text.Json.Serialization.JsonSerializerContext"/> associated with a default <see cref="T:System.Text.Json.JsonSerializerOptions"/> instance.
            </summary>
        </member>
        <member name="P:YourPhone.ScreenMirroring.Managed.Utilities.StoreActionPackageContext.GeneratedSerializerOptions">
            <summary>
            The source-generated options associated with this context.
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Utilities.StoreActionPackageContext.#ctor">
            <inheritdoc/>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Utilities.StoreActionPackageContext.#ctor(System.Text.Json.JsonSerializerOptions)">
            <inheritdoc/>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Utilities.StoreActionPackageContext.GetTypeInfo(System.Type)">
            <inheritdoc/>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Views.DragDropTutorialDialog.InitializeComponent">
            <summary>
            InitializeComponent()
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Views.DragDropTutorialDialog.Connect(System.Int32,System.Object)">
            <summary>
            Connect()
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.Views.DragDropTutorialDialog.GetBindingConnector(System.Int32,System.Object)">
            <summary>
            GetBindingConnector(int connectionId, object target)
            </summary>
        </member>
        <member name="T:YourPhone.ScreenMirroring.Managed.YourPhone_ScreenMirroring_Managed_XamlTypeInfo.XamlMetaDataProvider">
            <summary>
            Main class for providing metadata for the app or library
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.YourPhone_ScreenMirroring_Managed_XamlTypeInfo.XamlMetaDataProvider.GetXamlType(System.Type)">
            <summary>
            GetXamlType(Type)
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.YourPhone_ScreenMirroring_Managed_XamlTypeInfo.XamlMetaDataProvider.GetXamlType(System.String)">
            <summary>
            GetXamlType(String)
            </summary>
        </member>
        <member name="M:YourPhone.ScreenMirroring.Managed.YourPhone_ScreenMirroring_Managed_XamlTypeInfo.XamlMetaDataProvider.GetXmlnsDefinitions">
            <summary>
            GetXmlnsDefinitions()
            </summary>
        </member>
        <member name="T:WinRT.ProjectionInitializer">
            <summary>
            Contains a module initializer for generated CsWinRT projections.
            </summary>
        </member>
        <member name="M:WinRT.ProjectionInitializer.InitalizeProjection">
            <summary>
            The module initializer registering the current assembly via <see cref="M:WinRT.ComWrappersSupport.RegisterProjectionAssembly(System.Reflection.Assembly)"/>.
            </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.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.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.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.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="T:Windows.Win32.GlobalFreeSafeHandle">
            <summary>
            Represents a Win32 handle that can be closed with <see cref="M:Windows.Win32.PInvoke.GlobalFree(Windows.Win32.Foundation.HGLOBAL)"/>.
            </summary>
        </member>
        <member name="T:Windows.Win32.PInvoke">
            <content>
            Contains extern methods from "GDI32.dll".
            </content>
            <content>
            Contains extern methods from "KERNEL32.dll".
            </content>
            <content>
            Contains extern methods from "USER32.dll".
            </content>
        </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_CLIPBOARDUPDATE">
            <summary>Sent when the contents of the clipboard have changed.</summary>
            <returns>If an application processes this message, it should return zero.</returns>
            <remarks>To register a window to receive this message, use the [**AddClipboardFormatListener**](/windows/desktop/api/Winuser/nf-winuser-addclipboardformatlistener) function.</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_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="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.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.GlobalFree_SafeHandle(Windows.Win32.Foundation.HGLOBAL)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.GlobalFree(Windows.Win32.Foundation.HGLOBAL)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.GlobalFree(Windows.Win32.Foundation.HGLOBAL)">
            <summary>Frees the specified global memory object and invalidates its handle.</summary>
            <param name="hMem">
            <para>A handle to the global memory object. This handle is returned by either the <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-globalalloc">GlobalAlloc</a> or <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-globalrealloc">GlobalReAlloc</a> function. It is not safe to free memory allocated with <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-localalloc">LocalAlloc</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winbase/nf-winbase-globalfree#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>If the function succeeds, the return value is <b>NULL</b>. If the function fails, the return value is equal to a handle to the global memory object. 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 process examines or modifies the memory after it has been freed, heap corruption may occur or an access violation exception (EXCEPTION_ACCESS_VIOLATION) may be generated. The <b>GlobalFree</b> function will free a locked memory object. A locked memory object has a lock count greater than zero. The <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-globallock">GlobalLock</a> function locks a global memory object and increments the lock count by one. The <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-globalunlock">GlobalUnlock</a> function unlocks it and decrements the lock count by one. To get the lock count of a global memory object, use the <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-globalflags">GlobalFlags</a> function. If an application is running under a debug version of the system, <b>GlobalFree</b> will issue a message that tells you that a locked object is being freed. If you are debugging the application, <b>GlobalFree</b> will enter a breakpoint just before freeing a locked object. This allows you to verify the intended behavior, then continue execution.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winbase/nf-winbase-globalfree#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GlobalAlloc_SafeHandle(Windows.Win32.System.Memory.GLOBAL_ALLOC_FLAGS,System.UIntPtr)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.GlobalAlloc(Windows.Win32.System.Memory.GLOBAL_ALLOC_FLAGS,System.UIntPtr)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.GlobalAlloc(Windows.Win32.System.Memory.GLOBAL_ALLOC_FLAGS,System.UIntPtr)">
            <summary>Allocates the specified number of bytes from the heap. (GlobalAlloc)</summary>
            <param name="uFlags"></param>
            <param name="dwBytes">The number of bytes to allocate. If this parameter is zero and the <i>uFlags</i> parameter specifies <b>GMEM_MOVEABLE</b>, the function returns a handle to a memory object that is marked as discarded.</param>
            <returns>
            <para>If the function succeeds, the return value is a handle to the newly allocated memory object. 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>Windows memory management does not provide a separate local heap and global heap. Therefore, the <b>GlobalAlloc</b> and <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-localalloc">LocalAlloc</a> functions are essentially the same. The movable-memory flags <b>GHND</b> and <b>GMEM_MOVABLE</b> add unnecessary overhead and require locking to be used safely. They should be avoided unless documentation specifically states that they should be used. New applications should use the <a href="https://docs.microsoft.com/windows/desktop/Memory/heap-functions">heap functions</a> to allocate and manage memory unless the documentation specifically states that a global function should be used. For example, the global functions are still used with Dynamic Data Exchange (DDE), the clipboard functions, and OLE data objects. If the <b>GlobalAlloc</b> function succeeds, it allocates at least the amount of memory requested. If the actual amount allocated is greater than the amount requested, the process can use the entire amount. To determine the actual number of bytes allocated, use the <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-globalsize">GlobalSize</a> function. If the heap does not contain sufficient free space to satisfy the request, <b>GlobalAlloc</b> returns <b>NULL</b>. Because <b>NULL</b> is used to indicate an error, virtual address zero is never allocated. It is, therefore, easy to detect the use of a <b>NULL</b> pointer. Memory allocated with this function is guaranteed to be aligned on an 8-byte boundary. To execute dynamically generated code, use the <a href="https://docs.microsoft.com/windows/desktop/api/memoryapi/nf-memoryapi-virtualalloc">VirtualAlloc</a> function to allocate memory and the <a href="https://docs.microsoft.com/windows/desktop/api/memoryapi/nf-memoryapi-virtualprotect">VirtualProtect</a> function to grant  <b>PAGE_EXECUTE</b> access. To free the memory, use the <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-globalfree">GlobalFree</a> function. It is not safe to free memory allocated with <b>GlobalAlloc</b> using <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-localfree">LocalFree</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winbase/nf-winbase-globalalloc#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GlobalLock(System.Runtime.InteropServices.SafeHandle)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.GlobalLock(Windows.Win32.Foundation.HGLOBAL)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.GlobalLock(Windows.Win32.Foundation.HGLOBAL)">
            <summary>Locks a global memory object and returns a pointer to the first byte of the object's memory block.</summary>
            <param name="hMem">
            <para>A handle to the global memory object. This handle is returned by either the <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-globalalloc">GlobalAlloc</a> or <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-globalrealloc">GlobalReAlloc</a> function.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winbase/nf-winbase-globallock#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>If the function succeeds, the return value is a pointer to the first byte of the memory block. 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 internal data structures for each memory object include a lock count that is initially zero. For movable memory objects, <b>GlobalLock</b> increments the count by one, and the <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-globalunlock">GlobalUnlock</a> function decrements the count by one. Each successful call that a process makes to <b>GlobalLock</b> for an object must be matched by a corresponding call to <b>GlobalUnlock</b>. Locked memory will not be moved or discarded, unless the memory object is reallocated by using the <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-globalrealloc">GlobalReAlloc</a> function. The memory block of a locked memory object remains locked until its lock count is decremented to zero, at which time it can be moved or discarded. Memory objects allocated with <b>GMEM_FIXED</b> always have a lock count of zero. For these objects, the value of the returned pointer is equal to the value of the specified handle. If the specified memory block has been discarded or if the memory block has a zero-byte size, this function returns <b>NULL</b>. Discarded objects always have a lock count of zero.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winbase/nf-winbase-globallock#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GlobalUnlock(System.Runtime.InteropServices.SafeHandle)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.GlobalUnlock(Windows.Win32.Foundation.HGLOBAL)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.GlobalUnlock(Windows.Win32.Foundation.HGLOBAL)">
            <summary>Decrements the lock count associated with a memory object that was allocated with GMEM_MOVEABLE.</summary>
            <param name="hMem">
            <para>A handle to the global memory object. This handle is returned by either the <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-globalalloc">GlobalAlloc</a> or <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-globalrealloc">GlobalReAlloc</a> function.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winbase/nf-winbase-globalunlock#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>If the memory object is still locked after decrementing the lock count, the return value is a nonzero value. If the memory object is unlocked after decrementing the lock count, the function returns zero and <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a> returns <b>NO_ERROR</b>. If the function fails, the return value is zero and <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a> returns a value other than <b>NO_ERROR</b>.</para>
            </returns>
            <remarks>
            <para>The internal data structures for each memory object include a lock count that is initially zero. For movable memory objects, the <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-globallock">GlobalLock</a> function increments the count by one, and <b>GlobalUnlock</b> decrements the count by one. For each call that a process makes to <b>GlobalLock</b> for an object, it must eventually call <b>GlobalUnlock</b>. Locked memory will not be moved or discarded, unless the memory object is reallocated by using the <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-globalrealloc">GlobalReAlloc</a> function. The memory block of a locked memory object remains locked until its lock count is decremented to zero, at which time it can be moved or discarded. Memory objects allocated with <b>GMEM_FIXED</b> always have a lock count of zero. If the specified memory block is fixed memory, this function returns <b>TRUE</b>. If the memory object is already unlocked, <b>GlobalUnlock</b> returns <b>FALSE</b> and <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a> reports <b>ERROR_NOT_LOCKED</b>. A process should not rely on the return value to determine the number of times it must subsequently call <b>GlobalUnlock</b> for a memory object.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winbase/nf-winbase-globalunlock#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.OpenClipboard(Windows.Win32.Foundation.HWND)">
            <summary>Opens the clipboard for examination and prevents other applications from modifying the clipboard content.</summary>
            <param name="hWndNewOwner">
            <para>Type: <b>HWND</b> A handle to the window to be associated with the open clipboard. If this parameter is <b>NULL</b>, the open clipboard is associated with the current task.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-openclipboard#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><b>OpenClipboard</b> fails if another window has the clipboard open. An application should call the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-closeclipboard">CloseClipboard</a> function after every successful call to <b>OpenClipboard</b>. The window identified by the <i>hWndNewOwner</i> parameter does not become the clipboard owner unless the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-emptyclipboard">EmptyClipboard</a> function is called. If an application calls <b>OpenClipboard</b> with hwnd set to <b>NULL</b>, <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-emptyclipboard">EmptyClipboard</a> sets the clipboard owner to <b>NULL</b>; this causes <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-setclipboarddata">SetClipboardData</a> to fail.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-openclipboard#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.CloseClipboard">
            <summary>Closes the clipboard.</summary>
            <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 the window has finished examining or changing the clipboard, close the clipboard by calling <b>CloseClipboard</b>. This enables other windows to access the clipboard. Do not place an object on the clipboard after calling <b>CloseClipboard</b>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-closeclipboard#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.EmptyClipboard">
            <summary>Empties the clipboard and frees handles to data in the clipboard. The function then assigns ownership of the clipboard to the window that currently has the clipboard open.</summary>
            <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>Before calling <b>EmptyClipboard</b>, an application must open the clipboard by using the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-openclipboard">OpenClipboard</a> function. If the application specifies a <b>NULL</b> window handle when opening the clipboard, <b>EmptyClipboard</b> succeeds but sets the clipboard owner to <b>NULL</b>. Note that this causes <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-setclipboarddata">SetClipboardData</a> to fail.</remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.FindWindowEx(Windows.Win32.Foundation.HWND,Windows.Win32.Foundation.HWND,System.String,System.String)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.FindWindowEx(Windows.Win32.Foundation.HWND,Windows.Win32.Foundation.HWND,Windows.Win32.Foundation.PCWSTR,Windows.Win32.Foundation.PCWSTR)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.FindWindowEx(Windows.Win32.Foundation.HWND,Windows.Win32.Foundation.HWND,Windows.Win32.Foundation.PCWSTR,Windows.Win32.Foundation.PCWSTR)">
            <summary>Retrieves a handle to a window whose class name and window name match the specified strings. The function searches child windows, beginning with the one following the specified child window. This function does not perform a case-sensitive search. (Unicode)</summary>
            <param name="hWndParent">
            <para>Type: <b>HWND</b> A handle to the parent window whose child windows are to be searched. If <i>hwndParent</i> is <b>NULL</b>, the function uses the desktop window as the parent window. The function searches among windows that are child windows of the desktop. If <i>hwndParent</i> is <b>HWND_MESSAGE</b>, the function searches all <a href="https://docs.microsoft.com/windows/desktop/winmsg/window-features">message-only windows</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-findwindowexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="hWndChildAfter">
            <para>Type: <b>HWND</b> A handle to a child window. The search begins with the next child window in the Z order. The child window must be a direct child window of <i>hwndParent</i>, not just a descendant window. If <i>hwndChildAfter</i> is <b>NULL</b>, the search begins with the first child window of <i>hwndParent</i>. Note that if both <i>hwndParent</i> and <i>hwndChildAfter</i> are <b>NULL</b>, the function searches all top-level and message-only windows.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-findwindowexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="lpszClass">
            <para>Type: <b>LPCTSTR</b> The class name 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 placed in the low-order word of <i>lpszClass</i>; the high-order word must be zero. If <i>lpszClass</i> 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, or it can be <c>MAKEINTATOM(0x8000)</c>. In this latter case, 0x8000 is the atom for a menu class. For more information, see the Remarks section of this topic.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-findwindowexw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="lpszWindow">
            <para>Type: <b>LPCTSTR</b> The window name (the window's title). If this parameter is <b>NULL</b>, all window names match.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-findwindowexw#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 window that has the specified class and window names. 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 FindWindowEx function searches only direct child windows. It does not search other descendants. If the <i>lpszWindow</i> parameter is not <b>NULL</b>, <b>FindWindowEx</b> calls the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getwindowtexta">GetWindowText</a> function to retrieve the window name for comparison. For a description of a potential problem that can arise, see the Remarks section of <b>GetWindowText</b>. An application can call this function in the following way. <c>FindWindowEx( NULL, NULL, MAKEINTATOM(0x8000), NULL );</c> Note that 0x8000 is the atom for a menu class. When an application calls this function, the function checks whether a context menu is being displayed that the application created.</para>
            <para>> [!NOTE] > The winuser.h header defines FindWindowEx 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-findwindowexw#">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.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.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@)">
            <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.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.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.SetClipboardData(System.UInt32,System.Runtime.InteropServices.SafeHandle)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.SetClipboardData(System.UInt32,Windows.Win32.Foundation.HANDLE)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.SetClipboardData(System.UInt32,Windows.Win32.Foundation.HANDLE)">
            <summary>Places data on the clipboard in a specified clipboard format.</summary>
            <param name="uFormat">
            <para>Type: <b>UINT</b> The clipboard format. This parameter can be a registered format or any of the standard clipboard formats. For more information, see <a href="https://docs.microsoft.com/windows/desktop/dataxchg/standard-clipboard-formats">Standard Clipboard Formats</a> and <a href="https://docs.microsoft.com/windows/desktop/dataxchg/clipboard-formats">Registered Clipboard Formats</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setclipboarddata#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="hMem">
            <para>Type: <b>HANDLE</b> A handle to the data in the specified format. This parameter can be <b>NULL</b>, indicating that the window provides data in the specified clipboard format (renders the format) upon request; this is known as [delayed rendering](/windows/win32/dataxchg/clipboard-operations#delayed-rendering). If a window delays rendering, it must process the [WM_RENDERFORMAT](/windows/win32/dataxchg/wm-renderformat) and [WM_RENDERALLFORMATS](/windows/win32/dataxchg/wm-renderallformats) messages. If <b>SetClipboardData</b> succeeds, the system owns the object identified by the <i>hMem</i> parameter. The application may not write to or free the data once ownership has been transferred to the system, but it can lock and read from the data until the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-closeclipboard">CloseClipboard</a> function is called. (The memory must be unlocked before the Clipboard is closed.) If the <i>hMem</i> parameter identifies a memory object, the object must have been allocated using the function with the <b>GMEM_MOVEABLE</b> flag.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setclipboarddata#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>HANDLE</b> If the function succeeds, the return value is the handle to the data. 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><b>Windows 8:</b> Bitmaps to be shared with Windows Store app apps must be in the <b>CF_BITMAP</b> format (device-dependent bitmap). If an application calls <b>SetClipboardData</b> in response to <a href="https://docs.microsoft.com/windows/desktop/dataxchg/wm-renderformat">WM_RENDERFORMAT</a> or <a href="https://docs.microsoft.com/windows/desktop/dataxchg/wm-renderallformats">WM_RENDERALLFORMATS</a>, the application should not use the handle after <b>SetClipboardData</b> has been called. If an application calls <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-openclipboard">OpenClipboard</a> with hwnd set to <b>NULL</b>, <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-emptyclipboard">EmptyClipboard</a> sets the clipboard owner to <b>NULL</b>; this causes <b>SetClipboardData</b> to fail. The system performs implicit data format conversions between certain clipboard formats when an application calls the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getclipboarddata">GetClipboardData</a> function. For example, if the <b>CF_OEMTEXT</b> format is on the clipboard, a window can retrieve data in the <b>CF_TEXT</b> format. The format on the clipboard is converted to the requested format on demand. For more information, see <a href="https://docs.microsoft.com/windows/desktop/dataxchg/clipboard-formats">Synthesized Clipboard Formats</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-setclipboarddata#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.CopyImage(System.Runtime.InteropServices.SafeHandle,Windows.Win32.UI.WindowsAndMessaging.GDI_IMAGE_TYPE,System.Int32,System.Int32,Windows.Win32.UI.WindowsAndMessaging.IMAGE_FLAGS)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.CopyImage(Windows.Win32.Foundation.HANDLE,Windows.Win32.UI.WindowsAndMessaging.GDI_IMAGE_TYPE,System.Int32,System.Int32,Windows.Win32.UI.WindowsAndMessaging.IMAGE_FLAGS)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.CopyImage(Windows.Win32.Foundation.HANDLE,Windows.Win32.UI.WindowsAndMessaging.GDI_IMAGE_TYPE,System.Int32,System.Int32,Windows.Win32.UI.WindowsAndMessaging.IMAGE_FLAGS)">
            <summary>Creates a new image (icon, cursor, or bitmap) and copies the attributes of the specified image to the new one. If necessary, the function stretches the bits to fit the desired size of the new image.</summary>
            <param name="h">
            <para>Type: <b>HANDLE</b> A handle to the image to be copied.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-copyimage#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="type">Type: <b>UINT</b></param>
            <param name="cx">
            <para>Type: <b>int</b> The desired width, in pixels, of the image. If this is zero, then the returned image will have the same width as the original <i>hImage</i>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-copyimage#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="cy">
            <para>Type: <b>int</b> The desired height, in pixels, of the image. If this is zero, then the returned image will have the same height as the original <i>hImage</i>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-copyimage#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="flags">Type: <b>UINT</b></param>
            <returns>
            <para>Type: <b>HANDLE</b> If the function succeeds, the return value is the handle to the newly created image. 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>When you are finished using the resource, you can release its associated memory by calling one of the functions in the following table. </para>
            <para>This doc was truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-copyimage#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.EnumClipboardFormats(System.UInt32)">
            <summary>Enumerates the data formats currently available on the clipboard.</summary>
            <param name="format">
            <para>Type: <b>UINT</b> A clipboard format that is known to be available. To start an enumeration of clipboard formats, set <i>format</i> to zero. When <i>format</i> is zero, the function retrieves the first available clipboard format. For subsequent calls during an enumeration, set <i>format</i> to the result of the previous <b>EnumClipboardFormats</b> call.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-enumclipboardformats#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>UINT</b> If the function succeeds, the return value is the clipboard format that follows the specified format, namely the next available clipboard format. 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 clipboard is not open, the function fails. If there are no more clipboard formats to enumerate, the return value is zero. In this case, the <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a> function returns the value <b>ERROR_SUCCESS</b>. This lets you distinguish between function failure and the end of enumeration.</para>
            </returns>
            <remarks>
            <para>You must open the clipboard before enumerating its formats. Use the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-openclipboard">OpenClipboard</a> function to open the clipboard. The <b>EnumClipboardFormats</b> function fails if the clipboard is not open. The <b>EnumClipboardFormats</b> function enumerates formats in the order that they were placed on the clipboard. If you are copying information to the clipboard, add clipboard objects in order from the most descriptive clipboard format to the least descriptive clipboard format. If you are pasting information from the clipboard, retrieve the first clipboard format that you can handle. That will be the most descriptive clipboard format that you can handle. The system provides automatic type conversions for certain clipboard formats. In the case of such a format, this function enumerates the specified format, then enumerates the formats to which it can be converted. For more information, see <a href="https://docs.microsoft.com/windows/desktop/dataxchg/clipboard-formats">Standard Clipboard Formats</a>  and <a href="https://docs.microsoft.com/windows/desktop/dataxchg/clipboard-formats">Synthesized Clipboard Formats</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-enumclipboardformats#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetClipboardFormatName(System.UInt32,System.Span{System.Char})">
            <inheritdoc cref="M:Windows.Win32.PInvoke.GetClipboardFormatName(System.UInt32,Windows.Win32.Foundation.PWSTR,System.Int32)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetClipboardFormatName(System.UInt32,Windows.Win32.Foundation.PWSTR,System.Int32)">
            <summary>Retrieves from the clipboard the name of the specified registered format. The function copies the name to the specified buffer. (Unicode)</summary>
            <param name="format">
            <para>Type: <b>UINT</b> The type of format to be retrieved. This parameter must not specify any of the predefined clipboard formats.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getclipboardformatnamew#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="lpszFormatName">
            <para>Type: <b>LPTSTR</b> The buffer that is to receive the format name.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getclipboardformatnamew#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <param name="cchMaxCount">
            <para>Type: <b>int</b> The maximum length, in characters, of the string to be copied to the buffer. If the name exceeds this limit, it is truncated.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getclipboardformatnamew#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>int</b> If the function succeeds, the return value is the length, in characters, of the string copied to the buffer. If the function fails, the return value is zero, indicating that the requested format does not exist or is predefined. 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><h3><a id="Security_Considerations"></a><a id="security_considerations"></a><a id="SECURITY_CONSIDERATIONS"></a>Security Considerations</h3> Using this function incorrectly might compromise the security of your program. For example, miscalculating the proper size of the <i>lpszFormatName</i> buffer, especially when the application is used in both ANSI and Unicode versions, can cause a buffer overflow. Also, note that the string is truncated if it is longer than the <i>cchMaxCount</i> parameter, which can lead to loss of information.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getclipboardformatnamew#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.RegisterClipboardFormat(System.String)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.RegisterClipboardFormat(Windows.Win32.Foundation.PCWSTR)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.RegisterClipboardFormat(Windows.Win32.Foundation.PCWSTR)">
            <summary>Registers a new clipboard format. This format can then be used as a valid clipboard format. (Unicode)</summary>
            <param name="lpszFormat">
            <para>Type: <b>LPCTSTR</b> The name of the new format.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-registerclipboardformatw#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>UINT</b> If the function succeeds, the return value identifies the registered clipboard format. 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 a registered format with the specified name already exists, a new format is not registered and the return value identifies the existing format. This enables more than one application to copy and paste data using the same registered clipboard format. Note that the format name comparison is case-insensitive. Registered clipboard formats are identified by values in the range 0xC000 through 0xFFFF. When registered clipboard formats are placed on or retrieved from the clipboard, they must be in the form of an <b>HGLOBAL</b> value.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-registerclipboardformatw#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetClipboardOwner">
            <summary>Retrieves the window handle of the current owner of the clipboard.</summary>
            <returns>
            <para>Type: <b>HWND</b> If the function succeeds, the return value is the handle to the window that owns the clipboard. If the clipboard is not owned, 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 clipboard can still contain data even if the clipboard is not currently owned. In general, the clipboard owner is the window that last placed data in clipboard. The <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-emptyclipboard">EmptyClipboard</a> function assigns clipboard ownership.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getclipboardowner#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.IsClipboardFormatAvailable(System.UInt32)">
            <summary>Determines whether the clipboard contains data in the specified format.</summary>
            <param name="format">
            <para>Type: <b>UINT</b> A standard or registered clipboard format. For a description of the standard clipboard formats, see <a href="https://docs.microsoft.com/windows/desktop/dataxchg/standard-clipboard-formats">Standard Clipboard Formats</a> .</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-isclipboardformatavailable#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> If the clipboard format is available, the return value is nonzero. If the clipboard format is not available, 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>Typically, an application that recognizes only one clipboard format would call this function when processing the <a href="https://docs.microsoft.com/windows/desktop/menurc/wm-initmenu">WM_INITMENU</a> or <a href="https://docs.microsoft.com/windows/desktop/menurc/wm-initmenupopup">WM_INITMENUPOPUP</a> message. The application would then enable or disable the Paste menu item, depending on the return value. Applications that recognize more than one clipboard format should use the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-getpriorityclipboardformat">GetPriorityClipboardFormat</a> function for this purpose.</remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetClipboardData_SafeHandle(System.UInt32)">
            <inheritdoc cref="M:Windows.Win32.PInvoke.GetClipboardData(System.UInt32)"/>
        </member>
        <member name="M:Windows.Win32.PInvoke.GetClipboardData(System.UInt32)">
            <summary>Retrieves data from the clipboard in a specified format. The clipboard must have been opened previously.</summary>
            <param name="uFormat">
            <para>Type: <b>UINT</b> A clipboard format. For a description of the standard clipboard formats, see <a href="https://docs.microsoft.com/windows/desktop/dataxchg/clipboard-formats">Standard Clipboard Formats</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getclipboarddata#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>HANDLE</b> If the function succeeds, the return value is the handle to a clipboard object in the specified format. 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><div class="alert"><b>Caution</b>  Clipboard data is not trusted. Parse the data carefully before using it in your application.</div> <div> </div> An application can enumerate the available formats in advance by using the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-enumclipboardformats">EnumClipboardFormats</a> function. The clipboard controls the handle that the <b>GetClipboardData</b> function returns, not the application. The application should copy the data immediately. The application must not free the handle nor leave it locked. The application must not use the handle after the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-emptyclipboard">EmptyClipboard</a> or <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-closeclipboard">CloseClipboard</a> function is called, or after the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-setclipboarddata">SetClipboardData</a> function is called with the same clipboard format. The system performs implicit data format conversions between certain clipboard formats when an application calls the <b>GetClipboardData</b> function. For example, if the <a href="https://docs.microsoft.com/windows/desktop/dataxchg/standard-clipboard-formats">CF_OEMTEXT</a> format is on the clipboard, a window can retrieve data in the <a href="https://docs.microsoft.com/windows/desktop/dataxchg/standard-clipboard-formats">CF_TEXT</a> format. The format on the clipboard is converted to the requested format on demand. For more information, see <a href="https://docs.microsoft.com/windows/desktop/dataxchg/clipboard-formats">Synthesized Clipboard Formats</a>.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-getclipboarddata#">Read more on docs.microsoft.com</see>.</para>
            </remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.AddClipboardFormatListener(Windows.Win32.Foundation.HWND)">
            <summary>Places the given window in the system-maintained clipboard format listener list.</summary>
            <param name="hwnd">
            <para>Type: <b>HWND</b> A handle to the window to be placed in the clipboard format listener list.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-addclipboardformatlistener#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> Returns <b>TRUE</b> if successful, <b>FALSE</b> otherwise. Call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a> for additional details.</para>
            </returns>
            <remarks>When a window has been added to the clipboard format listener list, it is posted a <a href="https://docs.microsoft.com/windows/desktop/dataxchg/wm-clipboardupdate">WM_CLIPBOARDUPDATE</a> message whenever the contents of the clipboard have changed.</remarks>
        </member>
        <member name="M:Windows.Win32.PInvoke.RemoveClipboardFormatListener(Windows.Win32.Foundation.HWND)">
            <summary>Removes the given window from the system-maintained clipboard format listener list.</summary>
            <param name="hwnd">
            <para>Type: <b>HWND</b> A handle to the window to remove from the clipboard format listener list.</para>
            <para><see href="https://learn.microsoft.com/windows/win32/api/winuser/nf-winuser-removeclipboardformatlistener#parameters">Read more on docs.microsoft.com</see>.</para>
            </param>
            <returns>
            <para>Type: <b>BOOL</b> Returns <b>TRUE</b> if successful, <b>FALSE</b> otherwise. Call <a href="https://docs.microsoft.com/windows/desktop/api/errhandlingapi/nf-errhandlingapi-getlasterror">GetLastError</a> for additional details.</para>
            </returns>
            <remarks>When a window has been removed from the clipboard format listener list, it will no longer receive <a href="https://docs.microsoft.com/windows/desktop/dataxchg/wm-clipboardupdate">WM_CLIPBOARDUPDATE</a> messages.</remarks>
        </member>
    </members>
</doc>
