Author: hbelusca Date: Sat Mar 26 02:11:58 2016 New Revision: 71051
URL: http://svn.reactos.org/svn/reactos?rev=71051&view=rev Log: [SYSSETUP] - Reduce the C COM "ugliness" by using suitable macros. Thanks to Mark Jansen for having pointed that. - Use sizeof() instead of ARRAYSIZE() * sizeof(WCHAR) to do the same thing.
Modified: trunk/reactos/dll/win32/syssetup/install.c
Modified: trunk/reactos/dll/win32/syssetup/install.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/install.... ============================================================================== --- trunk/reactos/dll/win32/syssetup/install.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/syssetup/install.c [iso-8859-1] Sat Mar 26 02:11:58 2016 @@ -28,6 +28,8 @@
#include "precomp.h"
+#define COBJMACROS + #include <io.h> #include <wincon.h> #include <winnls.h> @@ -35,6 +37,7 @@ #include <userenv.h> #include <shlobj.h> #include <shlwapi.h> +#include <shobjidl.h> #include <rpcproxy.h> #include <ndk/cmfuncs.h>
@@ -83,44 +86,44 @@ INT iIconNr, LPCWSTR pszComment) { - IShellLink *psl; + IShellLinkW *psl; IPersistFile *ppf;
HRESULT hr = CoCreateInstance(&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, &IID_IShellLink, (LPVOID*)&psl);
if (SUCCEEDED(hr)) { - hr = psl->lpVtbl->SetPath(psl, pszCmd); + hr = IShellLinkW_SetPath(psl, pszCmd);
if (pszArg) { - hr = psl->lpVtbl->SetArguments(psl, pszArg); + hr = IShellLinkW_SetArguments(psl, pszArg); }
if (pszDir) { - hr = psl->lpVtbl->SetWorkingDirectory(psl, pszDir); + hr = IShellLinkW_SetWorkingDirectory(psl, pszDir); }
if (pszIconPath) { - hr = psl->lpVtbl->SetIconLocation(psl, pszIconPath, iIconNr); + hr = IShellLinkW_SetIconLocation(psl, pszIconPath, iIconNr); }
if (pszComment) { - hr = psl->lpVtbl->SetDescription(psl, pszComment); - } - - hr = psl->lpVtbl->QueryInterface(psl, &IID_IPersistFile, (LPVOID*)&ppf); + hr = IShellLinkW_SetDescription(psl, pszComment); + } + + hr = IShellLinkW_QueryInterface(psl, &IID_IPersistFile, (LPVOID*)&ppf);
if (SUCCEEDED(hr)) { - hr = ppf->lpVtbl->Save(ppf, pszLinkPath, TRUE); - ppf->lpVtbl->Release(ppf); - } - - psl->lpVtbl->Release(psl); + hr = IPersistFile_Save(ppf, pszLinkPath, TRUE); + IPersistFile_Release(ppf); + } + + IShellLinkW_Release(psl); }
return hr; @@ -297,7 +300,7 @@ }
/* Get temp dir */ - dwLength = ARRAYSIZE(szBuffer) * sizeof(WCHAR); + dwLength = sizeof(szBuffer); if (RegQueryValueExW(hKey, VarName, NULL,