Create static method

ToastNotification Create(
  1. Pointer<NativeType> content
)

Implementation

static ToastNotification Create(Pointer content) {
  final hClassName = convertToHString(_className);

  final pIID = calloc<GUID>()..ref.setGUID(IID_IToastNotificationFactory);
  final activationFactory = calloc<COMObject>();

  try {
    final hr =
        RoGetActivationFactory(hClassName, pIID, activationFactory.cast());
    if (FAILED(hr)) {
      throw WindowsException(hr);
    }
    final toastNotificationFactory =
        IToastNotificationFactory(activationFactory);
    final result =
        toastNotificationFactory.CreateToastNotification(content.cast());
    if (FAILED(hr)) {
      throw WindowsException(hr);
    }
    return ToastNotification(result);
  } finally {
    WindowsDeleteString(hClassName);
    free(pIID);
    free(activationFactory);
  }
}