SafeArrayGetRecordInfo function oleaut32
Retrieves the IRecordInfo interface of the UDT contained in the specified safe array.
Throws a WindowsException on failure.
To learn more, see learn.microsoft.com/windows/win32/api/oleauto/nf-oleauto-safearraygetrecordinfo.
Implementation
IRecordInfo? SafeArrayGetRecordInfo(Pointer<SAFEARRAY> psa) {
final prinfo = adaptiveCalloc<VTablePointer>();
final hr$ = HRESULT(_SafeArrayGetRecordInfo(psa, prinfo));
if (hr$.isError) {
free(prinfo);
throw WindowsException(hr$);
}
final result$ = prinfo.value;
free(prinfo);
if (result$.isNull) return null;
return .new(result$);
}