[id(8), helpstring("method GetErrorStr")] HRESULT GetErrorStr([in] DWORD errCode, [out] VARIANT* errStr); #### use strict; use Win32::OLE; use Win32::OLE::Variant; my $obj = Win32::OLE->new('PDH.PDHQuery'); print("Failed to create connection to PDHQUERY object\n") if (not $obj); my $errstr = Variant(VT_BSTR|VT_BYREF, Variant(VT_EMPTY)); $obj->GetErrorStr( Variant(VT_I4|VT_BYREF, 12345), $errstr );