summaryrefslogtreecommitdiff
path: root/vcl/win/dtrans
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/win/dtrans')
-rw-r--r--vcl/win/dtrans/FmtFilter.cxx11
1 files changed, 4 insertions, 7 deletions
diff --git a/vcl/win/dtrans/FmtFilter.cxx b/vcl/win/dtrans/FmtFilter.cxx
index e9c4b42f8b68..535f6c122712 100644
--- a/vcl/win/dtrans/FmtFilter.cxx
+++ b/vcl/win/dtrans/FmtFilter.cxx
@@ -308,15 +308,12 @@ static std::wstring getShellLinkTarget(const std::wstring& aLnkFile)
try
{
sal::systools::COMReference<IShellLinkW> pIShellLink;
- HRESULT hr = CoCreateInstance(
- CLSID_ShellLink, nullptr, CLSCTX_INPROC_SERVER, IID_IShellLinkW, reinterpret_cast<LPVOID*>(&pIShellLink));
- if (FAILED(hr))
- return target;
+ pIShellLink.CoCreateInstance(CLSID_ShellLink, nullptr, CLSCTX_INPROC_SERVER);
- sal::systools::COMReference<IPersistFile> pIPersistFile =
- pIShellLink.QueryInterface<IPersistFile>(IID_IPersistFile);
+ sal::systools::COMReference<IPersistFile> pIPersistFile(pIShellLink,
+ sal::systools::COM_QUERY_THROW);
- hr = pIPersistFile->Load(aLnkFile.c_str(), STGM_READ);
+ HRESULT hr = pIPersistFile->Load(aLnkFile.c_str(), STGM_READ);
if (FAILED(hr))
return target;