CLSIDFromProgIDEx function ole32

Pointer<GUID> CLSIDFromProgIDEx(
  1. PCWSTR lpszProgID
)

Triggers automatic installation if the COMClassStore policy is enabled.

Throws a WindowsException on failure.

To learn more, see learn.microsoft.com/windows/win32/api/combaseapi/nf-combaseapi-clsidfromprogidex.

Implementation

Pointer<GUID> CLSIDFromProgIDEx(PCWSTR lpszProgID) {
  final lpclsid = adaptiveCalloc<GUID>();
  final hr$ = HRESULT(_CLSIDFromProgIDEx(lpszProgID, lpclsid));
  if (hr$.isError) {
    free(lpclsid);
    throw WindowsException(hr$);
  }
  return lpclsid;
}