TaskDialog function Null safety comctl32

int TaskDialog (
  1. int hwndOwner,
  2. int hInstance,
  3. Pointer<Utf16> pszWindowTitle,
  4. Pointer<Utf16> pszMainInstruction,
  5. Pointer<Utf16> pszContent,
  6. int dwCommonButtons,
  7. Pointer<Utf16> pszIcon,
  8. Pointer<Int32> pnButton
)

The TaskDialog function creates, displays, and operates a task dialog. The task dialog contains application-defined message text and title, icons, and any combination of predefined push buttons. This function does not support the registration of a callback function to receive notifications.

HRESULT TaskDialog(
  HWND                           hwndOwner,
  HINSTANCE                      hInstance,
  PCWSTR                         pszWindowTitle,
  PCWSTR                         pszMainInstruction,
  PCWSTR                         pszContent,
  TASKDIALOG_COMMON_BUTTON_FLAGS dwCommonButtons,
  PCWSTR                         pszIcon,
  int                            *pnButton
);

Implementation

int TaskDialog(
    int hwndOwner,
    int hInstance,
    Pointer<Utf16> pszWindowTitle,
    Pointer<Utf16> pszMainInstruction,
    Pointer<Utf16> pszContent,
    int dwCommonButtons,
    Pointer<Utf16> pszIcon,
    Pointer<Int32> pnButton) {
  final _TaskDialog = _comctl32.lookupFunction<
      Int32 Function(
          IntPtr hwndOwner,
          IntPtr hInstance,
          Pointer<Utf16> pszWindowTitle,
          Pointer<Utf16> pszMainInstruction,
          Pointer<Utf16> pszContent,
          Int32 dwCommonButtons,
          Pointer<Utf16> pszIcon,
          Pointer<Int32> pnButton),
      int Function(
          int hwndOwner,
          int hInstance,
          Pointer<Utf16> pszWindowTitle,
          Pointer<Utf16> pszMainInstruction,
          Pointer<Utf16> pszContent,
          int dwCommonButtons,
          Pointer<Utf16> pszIcon,
          Pointer<Int32> pnButton)>('TaskDialog');
  return _TaskDialog(hwndOwner, hInstance, pszWindowTitle, pszMainInstruction,
      pszContent, dwCommonButtons, pszIcon, pnButton);
}