21#define STATUS_PENDING ((DWORD)0x00000103)
113 *
obj = &
This->classinfo.IProvideClassInfo_iface;
129 TRACE(
"%p, refcount %ld.\n", iface,
ref);
138 TRACE(
"%p, refcount %ld.\n", iface,
ref);
166 TRACE(
"%p, %u, %lx, %p.\n", iface, iTInfo,
lcid, ppTInfo);
177 TRACE(
"%p, %s, %p, %u, %lx, %p.\n", iface,
debugstr_guid(
riid), rgszNames, cNames,
lcid, rgDispId);
182 hr = ITypeInfo_GetIDsOfNames(
typeinfo, rgszNames, cNames, rgDispId);
195 TRACE(
"%p, %ld, %s, %lx, %d, %p, %p, %p, %p.\n", iface, dispIdMember,
debugstr_guid(
riid),
196 lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
201 hr = ITypeInfo_Invoke(
typeinfo, iface, dispIdMember,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
243 ITextStream_AddRef(*
stream);
255 ITextStream_AddRef(*
stream);
267 ITextStream_AddRef(*
stream);
348 sa.nLength =
sizeof(
sa);
350 sa.lpSecurityDescriptor =
NULL;
367 HANDLE stdout_read, stdout_write;
368 HANDLE stderr_read, stderr_write;
369 HANDLE stdin_read, stdin_write;
376 if (!(
object =
calloc(1,
sizeof(*
object))))
385 WARN(
"Failed to create stdin pipe.\n");
392 WARN(
"Failed to create stdout pipe.\n");
400 WARN(
"Failed to create stderr pipe.\n");
419 si.hStdError = stderr_write;
420 si.hStdOutput = stdout_write;
421 si.hStdInput = stdin_read;
436 *
ret = &
object->IWshExec_iface;
443 IWshExec_Release(&
object->IWshExec_iface);
462 *
obj = &
This->classinfo.IProvideClassInfo_iface;
478 TRACE(
"%p, refcount %ld.\n", iface,
ref);
486 TRACE(
"%p, refcount %ld.\n", iface,
ref);
504 TRACE(
"%p, %u, %lx, %p.\n", iface, iTInfo,
lcid, ppTInfo);
515 TRACE(
"%p, %s, %p, %u, %lx, %p.\n", iface,
debugstr_guid(
riid), rgszNames, cNames,
lcid, rgDispId);
520 hr = ITypeInfo_GetIDsOfNames(
typeinfo, rgszNames, cNames, rgDispId);
533 TRACE(
"%p, %ld, %s, %lx, %d, %p, %p, %p, %p.\n", iface, dispIdMember,
debugstr_guid(
riid),
534 lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
539 hr = ITypeInfo_Invoke(
typeinfo, iface, dispIdMember,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
599 FIXME(
"(%p)->(%p): stub\n",
This, penum);
630 if (!(
object =
calloc(1,
sizeof(*
object))))
637 *
env = &
object->IWshEnvironment_iface;
656 *
ppv = &
This->classinfo.IProvideClassInfo_iface;
673 TRACE(
"%p, refcount %ld.\n", iface,
ref);
682 TRACE(
"%p, refcount %ld.\n", iface,
ref);
700 TRACE(
"%p, %u, %lx, %p.\n", iface, iTInfo,
lcid, ppTInfo);
711 TRACE(
"%p, %s, %p, %u, %lx, %p.\n", iface,
debugstr_guid(
riid), rgszNames, cNames,
lcid, rgDispId);
716 hr = ITypeInfo_GetIDsOfNames(
typeinfo, rgszNames, cNames, rgDispId);
729 TRACE(
"%p, %ld, %s, %lx, %d, %p, %p, %p, %p.\n", iface, dispIdMember,
debugstr_guid(
riid),
730 lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
735 hr = ITypeInfo_Invoke(
typeinfo, iface, dispIdMember,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
828 if (!(
object =
calloc(1,
sizeof(*
object))))
855 *
ppv = &
This->classinfo.IProvideClassInfo_iface;
871 TRACE(
"%p, refcount %ld.\n", iface,
ref);
879 TRACE(
"%p, refcount %ld.\n", iface,
ref);
883 IShellLinkW_Release(
This->link);
901 TRACE(
"%p, %u, %lx, %p.\n", iface, iTInfo,
lcid, ppTInfo);
912 TRACE(
"%p, %s, %p, %u, %lx, %p.\n", iface,
debugstr_guid(
riid), rgszNames, cNames,
lcid, rgDispId);
917 hr = ITypeInfo_GetIDsOfNames(
typeinfo, rgszNames, cNames, rgDispId);
930 TRACE(
"%p, %ld, %s, %lx, %d, %p, %p, %p, %p.\n", iface, dispIdMember,
debugstr_guid(
riid),
931 lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
936 hr = ITypeInfo_Invoke(
typeinfo, iface, dispIdMember,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
977 return IShellLinkW_SetArguments(
This->link, Arguments);
997 FIXME(
"(%p)->(%p): stub\n",
This, Hotkey);
1020 hr = IShellLinkW_GetIconLocation(
This->link, buffW,
ARRAY_SIZE(buffW), &icon);
1044 WARN(
"icon index not found\n");
1056 hr = IShellLinkW_SetIconLocation(
This->link,
path, icon);
1080 return IShellLinkW_SetPath(
This->link,
Path);
1087 return IShellLinkW_GetShowCmd(
This->link, ShowCmd);
1094 return IShellLinkW_SetShowCmd(
This->link, ShowCmd);
1103 TRACE(
"(%p)->(%p)\n",
This, WorkingDirectory);
1105 if (!WorkingDirectory)
1108 *WorkingDirectory =
NULL;
1109 hr = IShellLinkW_GetWorkingDirectory(
This->link, buffW,
ARRAY_SIZE(buffW));
1120 return IShellLinkW_SetWorkingDirectory(
This->link, WorkingDirectory);
1140 IPersistFile_Release(
file);
1180 if (!(
object =
calloc(1,
sizeof(*
object))))
1196 IShellLinkW_Release(
object->link);
1253 TRACE(
"(%p)\n", pctinfo);
1260 TRACE(
"%u, %lx, %p.\n", iTInfo,
lcid, ppTInfo);
1276 hr = ITypeInfo_GetIDsOfNames(
typeinfo, rgszNames, cNames, rgDispId);
1289 TRACE(
"%ld, %s, %lx, %d, %p, %p, %p, %p.\n", dispIdMember,
debugstr_guid(
riid),
1290 lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
1296 pDispParams, pVarResult, pExcepInfo, puArgErr);
1305 TRACE(
"(%p)\n", folders);
1330 if (*
ptr ==
'"') in_quotes = !in_quotes;
1331 else if (*
ptr ==
' ' && !in_quotes)
1345 int waitforprocess, show;
1375 waitforprocess =
V_I4(&
v);
1530 static const struct {
1531 const WCHAR full[20];
1532 const WCHAR abbrev[5];
1545 return rootkeys[
i].hkey;
1547 return rootkeys[
i].hkey;
1564 if ((*subkey)[
lstrlenW(*subkey)-1] ==
'\\') {
1570 if (*
value - *subkey > 1) {
1571 unsigned int len = *
value - *subkey - 1;
1708 FIXME(
"value type %ld not supported\n",
type);
1727 DWORD regtype, data_len;
1781 data_len =
sizeof(
DWORD);
1784 FIXME(
"unexpected regtype %ld\n", regtype);
1789 FIXME(
"failed to convert value, regtype %ld, %#lx.\n", regtype,
hr);
PRTL_UNICODE_STRING_BUFFER Path
static struct sockaddr_in sa
HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static LPCWSTR LPCWSTR LPCWSTR env
LSTATUS WINAPI RegGetValueW(HKEY hKey, LPCWSTR pszSubKey, LPCWSTR pszValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData)
LONG WINAPI RegSetKeyValueW(IN HKEY hKey, IN LPCWSTR lpSubKey OPTIONAL, IN LPCWSTR lpValueName OPTIONAL, IN DWORD dwType, IN LPCVOID lpData OPTIONAL, IN DWORD cbData)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, IUnknown *outer, DWORD cls_context, REFIID riid, void **obj)
void WINAPI CoTaskMemFree(void *ptr)
#define GetCurrentDirectoryW(x, y)
#define GetEnvironmentVariableW(x, y, z)
DWORD WINAPI ExpandEnvironmentStringsW(IN LPCWSTR lpSrc, IN LPWSTR lpDst, IN DWORD nSize)
BOOL WINAPI SetHandleInformation(IN HANDLE hObject, IN DWORD dwMask, IN DWORD dwFlags)
BOOL WINAPI SetCurrentDirectoryW(IN LPCWSTR lpPathName)
BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessW(LPCWSTR lpApplicationName, LPWSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation)
BOOL WINAPI GetExitCodeProcess(IN HANDLE hProcess, IN LPDWORD lpExitCode)
BOOL WINAPI TerminateProcess(IN HANDLE hProcess, IN UINT uExitCode)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
_ACRTIMP __msvcrt_long __cdecl wcstol(const wchar_t *, wchar_t **, int)
_ACRTIMP int __cdecl wcscmp(const wchar_t *, const wchar_t *)
_ACRTIMP int __cdecl wcsncmp(const wchar_t *, const wchar_t *, size_t)
static wchar_t * wcsdup(const wchar_t *str)
HRESULT WINAPI SafeArrayAccessData(SAFEARRAY *psa, void **ppvData)
HRESULT WINAPI SafeArrayUnaccessData(SAFEARRAY *psa)
HRESULT WINAPI SafeArrayDestroy(SAFEARRAY *psa)
SAFEARRAY *WINAPI SafeArrayCreate(VARTYPE vt, UINT cDims, SAFEARRAYBOUND *rgsabound)
static const WCHAR IconPath[]
HRESULT WINAPI SHGetSpecialFolderLocation(HWND hwndOwner, INT nFolder, LPITEMIDLIST *ppidl)
MIXER_STATUS Enum(IN PVOID EnumContext, IN ULONG DeviceIndex, OUT LPWSTR *DeviceName, OUT PHANDLE OutHandle, OUT PHANDLE OutKey)
static const WCHAR Message[]
static ULONG WINAPI WshExec_Release(IWshExec *iface)
static HRESULT WINAPI WshShell3_GetTypeInfoCount(IWshShell3 *iface, UINT *pctinfo)
static HRESULT WINAPI WshShortcut_get_WindowStyle(IWshShortcut *iface, int *ShowCmd)
static HRESULT WINAPI WshCollection_QueryInterface(IWshCollection *iface, REFIID riid, void **ppv)
static WshShellImpl WshShell3
static HRESULT WINAPI WshEnvironment_GetTypeInfoCount(IWshEnvironment *iface, UINT *pctinfo)
static HRESULT WINAPI WshShell3_Run(IWshShell3 *iface, BSTR cmd, VARIANT *style, VARIANT *wait, int *exit_code)
static HRESULT WINAPI WshShortcut_put_Hotkey(IWshShortcut *iface, BSTR Hotkey)
static HRESULT WINAPI WshShell3_AppActivate(IWshShell3 *iface, VARIANT *App, VARIANT *Wait, VARIANT_BOOL *out_Success)
static WshEnvironment * impl_from_IWshEnvironment(IWshEnvironment *iface)
static HRESULT WINAPI WshShortcut_put_Arguments(IWshShortcut *iface, BSTR Arguments)
static HRESULT WINAPI WshShortcut_get_Arguments(IWshShortcut *iface, BSTR *Arguments)
static HRESULT WINAPI WshShell3_RegDelete(IWshShell3 *iface, BSTR Name)
static HRESULT WINAPI WshCollection_Item(IWshCollection *iface, VARIANT *index, VARIANT *value)
static HRESULT WshEnvironment_Create(IWshEnvironment **env)
static HRESULT WINAPI WshShortcut_get_WorkingDirectory(IWshShortcut *iface, BSTR *WorkingDirectory)
static HRESULT WINAPI WshExec_Terminate(IWshExec *iface)
static HRESULT WINAPI WshShell3_get_CurrentDirectory(IWshShell3 *iface, BSTR *dir)
static HRESULT WINAPI WshCollection_Invoke(IWshCollection *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static WshExecImpl * impl_from_IWshExec(IWshExec *iface)
static ULONG WINAPI WshShell3_Release(IWshShell3 *iface)
static HRESULT WINAPI WshEnvironment__NewEnum(IWshEnvironment *iface, IUnknown **penum)
static HRESULT WINAPI WshExec_QueryInterface(IWshExec *iface, REFIID riid, void **obj)
static HRESULT WINAPI WshShortcut_put_WorkingDirectory(IWshShortcut *iface, BSTR WorkingDirectory)
static HRESULT WINAPI WshEnvironment_GetTypeInfo(IWshEnvironment *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static ULONG WINAPI WshShell3_AddRef(IWshShell3 *iface)
static HRESULT WINAPI WshShortcut_put_RelativePath(IWshShortcut *iface, BSTR rhs)
static HRESULT WINAPI WshShortcut_put_TargetPath(IWshShortcut *iface, BSTR Path)
static HRESULT WINAPI WshExec_GetTypeInfo(IWshExec *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
HRESULT get_env_var(const WCHAR *name, BSTR *value)
static HRESULT WINAPI WshShortcut_get_Description(IWshShortcut *iface, BSTR *Description)
static HRESULT WINAPI WshShell3_RegWrite(IWshShell3 *iface, BSTR name, VARIANT *value, VARIANT *type)
static HRESULT WshExec_create(BSTR command, IWshExec **ret)
static const IWshShortcutVtbl WshShortcutVtbl
static HRESULT WINAPI WshCollection_GetTypeInfo(IWshCollection *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static HRESULT WINAPI WshExec_get_ExitCode(IWshExec *iface, int *code)
static HRESULT WINAPI WshEnvironment_put_Item(IWshEnvironment *iface, BSTR name, BSTR value)
static HRESULT WINAPI WshExec_get_StdIn(IWshExec *iface, ITextStream **stream)
static const IWshShell3Vtbl WshShell3Vtbl
static HRESULT WINAPI WshShortcut_put_WindowStyle(IWshShortcut *iface, int ShowCmd)
static HRESULT WINAPI WshShortcut_Load(IWshShortcut *iface, BSTR PathLink)
static HRESULT WINAPI WshExec_GetIDsOfNames(IWshExec *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static HRESULT WINAPI WshEnvironment_get_length(IWshEnvironment *iface, LONG *len)
static HRESULT WINAPI WshEnvironment_get_Item(IWshEnvironment *iface, BSTR name, BSTR *value)
static BOOL CALLBACK enum_thread_wnd_proc(HWND hwnd, LPARAM lParam)
static HRESULT WINAPI WshShortcut_GetIDsOfNames(IWshShortcut *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static HRESULT WINAPI WshShell3_get_SpecialFolders(IWshShell3 *iface, IWshCollection **folders)
static HRESULT WINAPI WshEnvironment_Invoke(IWshEnvironment *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static const IWshExecVtbl WshExecVtbl
static const IWshEnvironmentVtbl WshEnvironmentVtbl
static HRESULT WINAPI WshShortcut_get_TargetPath(IWshShortcut *iface, BSTR *Path)
static HRESULT WINAPI WshExec_GetTypeInfoCount(IWshExec *iface, UINT *pctinfo)
static HRESULT WINAPI WshShortcut_put_IconLocation(IWshShortcut *iface, BSTR IconPath)
static HRESULT split_reg_path(const WCHAR *path, WCHAR **subkey, WCHAR **value)
static HRESULT WINAPI WshShortcut_get_IconLocation(IWshShortcut *iface, BSTR *IconPath)
static HRESULT WINAPI WshEnvironment_Remove(IWshEnvironment *iface, BSTR name)
static ULONG WINAPI WshCollection_Release(IWshCollection *iface)
static HRESULT WINAPI WshShell3_SendKeys(IWshShell3 *iface, BSTR Keys, VARIANT *Wait)
static HKEY get_root_key(const WCHAR *path)
static ULONG WINAPI WshShortcut_AddRef(IWshShortcut *iface)
static HRESULT WINAPI WshEnvironment_QueryInterface(IWshEnvironment *iface, REFIID riid, void **obj)
static HRESULT WINAPI WshShell3_GetTypeInfo(IWshShell3 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static WshCollection * impl_from_IWshCollection(IWshCollection *iface)
static HRESULT WINAPI WshShortcut_QueryInterface(IWshShortcut *iface, REFIID riid, void **ppv)
static HRESULT WINAPI WshShell3_Invoke(IWshShell3 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static HRESULT WINAPI WshCollection_get_length(IWshCollection *iface, LONG *count)
static HRESULT WINAPI WshShell3_QueryInterface(IWshShell3 *iface, REFIID riid, void **ppv)
static HRESULT WINAPI WshShell3_LogEvent(IWshShell3 *iface, VARIANT *Type, BSTR Message, BSTR Target, VARIANT_BOOL *out_Success)
static HRESULT WINAPI WshShell3_RegRead(IWshShell3 *iface, BSTR name, VARIANT *value)
static HRESULT create_pipe(HANDLE *hread, HANDLE *hwrite)
static ULONG WINAPI WshShortcut_Release(IWshShortcut *iface)
static HRESULT WINAPI WshShell3_GetIDsOfNames(IWshShell3 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
HRESULT WINAPI WshShellFactory_CreateInstance(IClassFactory *iface, IUnknown *outer, REFIID riid, void **ppv)
static HRESULT WINAPI WshExec_get_StdErr(IWshExec *iface, ITextStream **stream)
static ULONG WINAPI WshCollection_AddRef(IWshCollection *iface)
static BOOL is_optional_argument(const VARIANT *arg)
static HRESULT WINAPI WshShell3_Exec(IWshShell3 *iface, BSTR command, IWshExec **ret)
static HRESULT WINAPI WshShortcut_get_FullName(IWshShortcut *iface, BSTR *name)
static HRESULT WINAPI WshShortcut_GetTypeInfoCount(IWshShortcut *iface, UINT *pctinfo)
static ULONG WINAPI WshEnvironment_Release(IWshEnvironment *iface)
static ULONG WINAPI WshEnvironment_AddRef(IWshEnvironment *iface)
static HRESULT WINAPI WshShortcut_GetTypeInfo(IWshShortcut *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static WCHAR * split_command(BSTR cmd, WCHAR **params)
static HRESULT WINAPI WshExec_get_ProcessID(IWshExec *iface, int *pid)
static HRESULT WINAPI WshCollection__NewEnum(IWshCollection *iface, IUnknown **Enum)
static void close_pipe(HANDLE *hread, HANDLE *hwrite)
static HRESULT WshShortcut_Create(const WCHAR *path, IDispatch **shortcut)
static HRESULT WINAPI WshExec_Invoke(IWshExec *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static ULONG WINAPI WshExec_AddRef(IWshExec *iface)
static HRESULT WINAPI WshShell3_CreateShortcut(IWshShell3 *iface, BSTR PathLink, IDispatch **Shortcut)
static HRESULT WINAPI WshCollection_GetIDsOfNames(IWshCollection *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static HRESULT WINAPI WshShell3_get_Environment(IWshShell3 *iface, VARIANT *type, IWshEnvironment **env)
static HRESULT WINAPI WshShortcut_put_Description(IWshShortcut *iface, BSTR Description)
static HRESULT WINAPI WshCollection_Count(IWshCollection *iface, LONG *count)
static HRESULT WINAPI WshShortcut_Save(IWshShortcut *iface)
static HRESULT WINAPI WshExec_get_Status(IWshExec *iface, WshExecStatus *status)
static HRESULT WINAPI WshShell3_ExpandEnvironmentStrings(IWshShell3 *iface, BSTR Src, BSTR *Dst)
static HRESULT WINAPI WshShortcut_Invoke(IWshShortcut *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
HRESULT WINAPI DoOpenPipeStream(HANDLE pipe, IOMode mode, ITextStream **stream)
static const IWshCollectionVtbl WshCollectionVtbl
static HRESULT WINAPI WshEnvironment_GetIDsOfNames(IWshEnvironment *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static HRESULT WINAPI WshShell3_put_CurrentDirectory(IWshShell3 *iface, BSTR dir)
static WshShortcut * impl_from_IWshShortcut(IWshShortcut *iface)
static HRESULT WshCollection_Create(IWshCollection **collection)
static HRESULT WINAPI WshCollection_GetTypeInfoCount(IWshCollection *iface, UINT *pctinfo)
static DWORD WINAPI popup_thread_proc(void *arg)
static HRESULT WINAPI WshShell3_Popup(IWshShell3 *iface, BSTR text, VARIANT *seconds_to_wait, VARIANT *title, VARIANT *type, int *button)
static HRESULT WINAPI WshExec_get_StdOut(IWshExec *iface, ITextStream **stream)
static HRESULT WINAPI WshEnvironment_Count(IWshEnvironment *iface, LONG *count)
static HRESULT WINAPI WshShortcut_get_Hotkey(IWshShortcut *iface, BSTR *Hotkey)
static const char * debugstr_variant(const VARIANT *var)
GLuint GLuint GLsizei count
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLenum const GLfloat * params
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
int const JOCTET unsigned int datalen
#define memcpy(s1, s2, n)
static const WCHAR pathW[]
static VARIANTARG static DISPID
BOOL WINAPI CreatePipe(PHANDLE hReadPipe, PHANDLE hWritePipe, LPSECURITY_ATTRIBUTES lpPipeAttributes, DWORD nSize)
_Must_inspect_result_ _In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ LPGUID _In_opt_ HANDLE _In_opt_ ULONG _In_opt_ ULONG _In_opt_ ULONG _In_opt_ PLARGE_INTEGER _In_opt_ PUNICODE_STRING Description
UINT WINAPI SysStringByteLen(BSTR str)
BSTR WINAPI SysAllocString(LPCOLESTR str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
const GUID IID_IProvideClassInfo
const GUID IID_IPersistFile
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
#define IsEqualGUID(rguid1, rguid2)
#define IsEqualIID(riid1, riid2)
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
DWORD WINAPI MsgWaitForMultipleObjects(_In_ DWORD nCount, _In_reads_opt_(nCount) CONST HANDLE *pHandles, _In_ BOOL fWaitAll, _In_ DWORD dwMilliseconds, _In_ DWORD dwWakeMask)
int WINAPI MessageBoxW(_In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType)
BOOL WINAPI PostThreadMessageW(_In_ DWORD, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
BOOL WINAPI EnumThreadWindows(_In_ DWORD, _In_ WNDENUMPROC, _In_ LPARAM)
void init_classinfo(const GUID *guid, IUnknown *outer, struct provideclassinfo *classinfo)
#define SEE_MASK_NOCLOSEPROCESS
#define SEE_MASK_FLAG_NO_UI
BOOL WINAPI DECLSPEC_HOTPATCH ShellExecuteExW(LPSHELLEXECUTEINFOW sei)
#define CSIDL_COMMON_DESKTOPDIRECTORY
#define CSIDL_COMMON_PROGRAMS
IWshCollection IWshCollection_iface
IWshEnvironment IWshEnvironment_iface
ITextStream * stdout_stream
ITextStream * stderr_stream
ITextStream * stdin_stream
IWshShell3 IWshShell3_iface
struct provideclassinfo classinfo
IWshShortcut IWshShortcut_iface
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
#define CONTAINING_RECORD(address, type, field)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantChangeType(VARIANTARG *pvargDest, const VARIANTARG *pvargSrc, USHORT wFlags, VARTYPE vt)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
void WINAPI VariantInit(VARIANTARG *pVarg)
_In_ WDFDPC _In_ BOOLEAN Wait
DWORD WINAPI GetLastError(void)
#define HANDLE_FLAG_INHERIT
#define STARTF_USESTDHANDLES
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
_In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTR * pid
static HRESULT HRESULT_FROM_WIN32(unsigned int x)
#define DISP_E_PARAMNOTFOUND
#define ERROR_PATH_NOT_FOUND
#define HKEY_LOCAL_MACHINE
#define HKEY_CURRENT_CONFIG
#define HKEY_CURRENT_USER
#define HKEY_CLASSES_ROOT