File: Windows\Win32\PInvoke.UiaRaiseNotificationEvent.cs
Web Access
Project: src\src\System.Windows.Forms.Primitives\src\System.Windows.Forms.Primitives.csproj (System.Windows.Forms.Primitives)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
using System.Windows.Forms.Automation;
using Windows.Win32.UI.Accessibility;
 
namespace Windows.Win32;
 
internal static partial class PInvoke
{
    /// <inheritdoc cref="UiaRaiseNotificationEvent(IRawElementProviderSimple*, NotificationKind, NotificationProcessing, BSTR, BSTR)"/>
    public static unsafe HRESULT UiaRaiseNotificationEvent(
        IRawElementProviderSimple.Interface provider,
        AutomationNotificationKind notificationKind,
        AutomationNotificationProcessing notificationProcessing,
        string? displayString)
    {
        if (OsVersion.IsWindows10_1709OrGreater())
        {
            using var providerScope = ComHelpers.GetComScope<IRawElementProviderSimple>(provider);
            using BSTR bstrText = displayString is null ? default : new(displayString);
            return UiaRaiseNotificationEvent(
                providerScope,
                (NotificationKind)notificationKind,
                (NotificationProcessing)notificationProcessing,
                bstrText,
                default);
        }
 
        return HRESULT.E_FAIL;
    }
}