getDisplayName method

PWSTR getDisplayName(
  1. IBindCtx? pbc,
  2. IMoniker? pmkToLeft
)

Retrieves the display name for the moniker.

Throws a WindowsException on failure.

To learn more, see learn.microsoft.com/windows/win32/api/objidl/nf-objidl-imoniker-getdisplayname.

Implementation

PWSTR getDisplayName(IBindCtx? pbc, IMoniker? pmkToLeft) {
  final ppszDisplayName = adaptiveCalloc<Pointer<Utf16>>();
  final hr$ = HRESULT(
    _GetDisplayNameFn(
      ptr,
      pbc?.ptr ?? nullptr,
      pmkToLeft?.ptr ?? nullptr,
      ppszDisplayName,
    ),
  );
  if (hr$.isError) {
    free(ppszDisplayName);
    throw WindowsException(hr$);
  }
  final result$ = ppszDisplayName.value;
  free(ppszDisplayName);
  return .new(result$);
}