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,