27 TRACE(
"Initializing SSO %p\n", pOct);
28 *phr = pOct->
Exec(&CGID_ShellServiceObject, OLECMDID_NEW, OLECMDEXECOPT_DODEFAULT,
NULL,
NULL);
35 TRACE(
"Shutting down SSO %p\n", pOct);
36 pOct->
Exec(&CGID_ShellServiceObject, OLECMDID_SAVE, OLECMDEXECOPT_DODEFAULT,
NULL,
NULL);
43 TRACE(
"Releasing SSO %p\n", pOct);
63 TRACE(
"Enumerating Shell Service Object GUIDs...\n");
66 L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\ShellServiceObjectDelayLoad",
69 ERR(
"RegOpenKeyW failed.\n");
87 WARN(
"Value type was not REG_SZ.\n");
94 ERR(
"CLSIDFromString failed %08x.\n",
hr);
101 ERR(
"CoCreateInstance failed %08x.\n",
hr);
113 ERR(
"RegEnumValueW failed %08x.\n",
ret);
#define RegCloseKey(hKey)
LONG WINAPI RegOpenKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
LONG WINAPI RegEnumValueW(_In_ HKEY hKey, _In_ DWORD index, _Out_ LPWSTR value, _Inout_ PDWORD val_count, _Reserved_ PDWORD reserved, _Out_opt_ PDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ PDWORD count)
VOID WINAPI DPA_EnumCallback(HDPA hdpa, PFNDPAENUMCALLBACK enumProc, LPVOID lParam)
BOOL WINAPI DPA_Destroy(HDPA hdpa)
HDPA WINAPI DPA_Create(INT nGrow)
#define ERROR_NO_MORE_ITEMS
#define FAILED_UNEXPECTEDLY(hr)
static void cleanup(void)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
HRESULT WINAPI CLSIDFromString(LPCOLESTR idstr, LPCLSID id)
GLuint GLuint GLsizei GLenum type
GLuint GLuint GLsizei count
HRESULT Exec([in, unique] const GUID *pguidCmdGroup, [in] DWORD nCmdID, [in] DWORD nCmdexecopt, [in, unique] VARIANT *pvaIn, [in, out, unique] VARIANT *pvaOut)
#define DPA_AppendPtr(hdpa, pitem)
static int CALLBACK DeleteAllEnumCallback(void *pItem, void *pData)
static int CALLBACK ShutdownAllCallback(void *pItem, void *pData)
static int CALLBACK InitializeAllCallback(void *pItem, void *pData)
HRESULT InitShellServices(HDPA *phdpa)
HRESULT ShutdownShellServices(HDPA hdpa)
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
DWORD WINAPI GetLastError(void)
#define HRESULT_FROM_WIN32(x)
#define HKEY_LOCAL_MACHINE
#define IID_PPV_ARG(Itype, ppType)