108 *
obj = &
This->classinfo.IProvideClassInfo_iface;
154 TRACE(
"(%p)->(%u %u %p)\n",
This, iTInfo, lcid, ppTInfo);
170 hr = ITypeInfo_GetIDsOfNames(
typeinfo, rgszNames, cNames, rgDispId);
185 lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
191 pDispParams, pVarResult, pExcepInfo, puArgErr);
363 *
obj = &
This->classinfo.IProvideClassInfo_iface;
406 TRACE(
"(%p)->(%u %u %p)\n",
This, iTInfo, lcid, ppTInfo);
422 hr = ITypeInfo_GetIDsOfNames(
typeinfo, rgszNames, cNames, rgDispId);
437 lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
443 pDispParams, pVarResult, pExcepInfo, puArgErr);
497 FIXME(
"(%p)->(%p): stub\n",
This, penum);
535 *
env = &
This->IWshEnvironment_iface;
554 *
ppv = &
This->classinfo.IProvideClassInfo_iface;
597 TRACE(
"(%p)->(%u %u %p)\n",
This, iTInfo, lcid, ppTInfo);
613 hr = ITypeInfo_GetIDsOfNames(
typeinfo, rgszNames, cNames, rgDispId);
628 lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
634 pDispParams, pVarResult, pExcepInfo, puArgErr);
644 static const WCHAR allusersdesktopW[] = {
'A',
'l',
'l',
'U',
's',
'e',
'r',
's',
'D',
'e',
's',
'k',
't',
'o',
'p',0};
645 static const WCHAR allusersprogramsW[] = {
'A',
'l',
'l',
'U',
's',
'e',
'r',
's',
'P',
'r',
'o',
'g',
'r',
'a',
'm',
's',0};
646 static const WCHAR desktopW[] = {
'D',
'e',
's',
'k',
't',
'o',
'p',0};
757 *
ppv = &
This->classinfo.IProvideClassInfo_iface;
786 IShellLinkW_Release(
This->link);
804 TRACE(
"(%p)->(%u %u %p)\n",
This, iTInfo, lcid, ppTInfo);
820 hr = ITypeInfo_GetIDsOfNames(
typeinfo, rgszNames, cNames, rgDispId);
835 lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
841 pDispParams, pVarResult, pExcepInfo, puArgErr);
882 return IShellLinkW_SetArguments(
This->link, Arguments);
902 FIXME(
"(%p)->(%p): stub\n",
This, Hotkey);
915 static const WCHAR fmtW[] = {
'%',
's',
',',
' ',
'%',
'd',0};
926 hr = IShellLinkW_GetIconLocation(
This->link, buffW,
ARRAY_SIZE(buffW), &icon);
950 WARN(
"icon index not found\n");
962 hr = IShellLinkW_SetIconLocation(
This->link,
path, icon);
986 return IShellLinkW_SetPath(
This->link,
Path);
993 return IShellLinkW_GetShowCmd(
This->link, ShowCmd);
1000 return IShellLinkW_SetShowCmd(
This->link, ShowCmd);
1009 TRACE(
"(%p)->(%p)\n",
This, WorkingDirectory);
1011 if (!WorkingDirectory)
1014 *WorkingDirectory =
NULL;
1015 hr = IShellLinkW_GetWorkingDirectory(
This->link, buffW,
ARRAY_SIZE(buffW));
1026 return IShellLinkW_SetWorkingDirectory(
This->link, WorkingDirectory);
1046 IPersistFile_Release(
file);
1093 &IID_IShellLinkW, (
void**)&
This->link);
1101 if (!
This->path_link)
1103 IShellLinkW_Release(
This->link);
1160 TRACE(
"(%p)\n", pctinfo);
1167 TRACE(
"(%u %u %p)\n", iTInfo, lcid, ppTInfo);
1182 hr = ITypeInfo_GetIDsOfNames(
typeinfo, rgszNames, cNames, rgDispId);
1196 lcid,
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
1202 pDispParams, pVarResult, pExcepInfo, puArgErr);
1211 TRACE(
"(%p)\n", folders);
1237 if (*
ptr ==
'"') in_quotes = !in_quotes;
1238 else if (*
ptr ==
' ' && !in_quotes)
1267 ERR(
"failed to convert style argument, 0x%08x\n",
hr);
1281 waitforprocess =
V_I4(&
w);
1325 static const WCHAR defaulttitleW[] = {
'W',
'i',
'n',
'd',
'o',
'w',
's',
' ',
'S',
'c',
'r',
'i',
'p',
't',
' ',
'H',
'o',
's',
't',0};
1434 static const struct {
1435 const WCHAR full[20];
1436 const WCHAR abbrev[5];
1439 { {
'H',
'K',
'E',
'Y',
'_',
'C',
'U',
'R',
'R',
'E',
'N',
'T',
'_',
'U',
'S',
'E',
'R',0}, {
'H',
'K',
'C',
'U',0},
HKEY_CURRENT_USER },
1440 { {
'H',
'K',
'E',
'Y',
'_',
'L',
'O',
'C',
'A',
'L',
'_',
'M',
'A',
'C',
'H',
'I',
'N',
'E',0}, {
'H',
'K',
'L',
'M',0},
HKEY_LOCAL_MACHINE },
1441 { {
'H',
'K',
'E',
'Y',
'_',
'C',
'L',
'A',
'S',
'S',
'E',
'S',
'_',
'R',
'O',
'O',
'T',0}, {
'H',
'K',
'C',
'R',0},
HKEY_CLASSES_ROOT },
1442 { {
'H',
'K',
'E',
'Y',
'_',
'U',
'S',
'E',
'R',
'S',0}, {0},
HKEY_USERS },
1443 { {
'H',
'K',
'E',
'Y',
'_',
'C',
'U',
'R',
'R',
'E',
'N',
'T',
'_',
'C',
'O',
'N',
'F',
'I',
'G',0}, {0},
HKEY_CURRENT_CONFIG }
1449 return rootkeys[
i].hkey;
1451 return rootkeys[
i].hkey;
1468 if ((*subkey)[
lstrlenW(*subkey)-1] ==
'\\') {
1474 if (*
value - *subkey > 1) {
1475 unsigned int len = *
value - *subkey - 1;
1612 FIXME(
"value type %d not supported\n",
type);
1631 static const WCHAR regexpandszW[] = {
'R',
'E',
'G',
'_',
'E',
'X',
'P',
'A',
'N',
'D',
'_',
'S',
'Z',0};
1632 static const WCHAR regszW[] = {
'R',
'E',
'G',
'_',
'S',
'Z',0};
1633 static const WCHAR regdwordW[] = {
'R',
'E',
'G',
'_',
'D',
'W',
'O',
'R',
'D',0};
1634 static const WCHAR regbinaryW[] = {
'R',
'E',
'G',
'_',
'B',
'I',
'N',
'A',
'R',
'Y',0};
1636 DWORD regtype, data_len;
1690 data_len =
sizeof(
DWORD);
1693 FIXME(
"unexpected regtype %d\n", regtype);
1698 FIXME(
"failed to convert value, regtype %d, 0x%08x\n", regtype,
hr);
LSTATUS WINAPI RegGetValueW(HKEY hKey, LPCWSTR pszSubKey, LPCWSTR pszValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData)
static HRESULT WINAPI WshShortcut_put_TargetPath(IWshShortcut *iface, BSTR Path)
IWshShortcut IWshShortcut_iface
static HRESULT WINAPI WshCollection_GetIDsOfNames(IWshCollection *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
struct provideclassinfo classinfo
_In_ ULONG_PTR _In_ ULONG _Out_ ULONG_PTR * pid
static HRESULT WINAPI WshShell3_RegDelete(IWshShell3 *iface, BSTR Name)
static HRESULT WINAPI WshShell3_AppActivate(IWshShell3 *iface, VARIANT *App, VARIANT *Wait, VARIANT_BOOL *out_Success)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantChangeType(VARIANTARG *pvargDest, VARIANTARG *pvargSrc, USHORT wFlags, VARTYPE vt)
IWshEnvironment IWshEnvironment_iface
static HRESULT WshEnvironment_Create(IWshEnvironment **env)
static WshShellImpl WshShell3
static WshExecImpl * impl_from_IWshExec(IWshExec *iface)
GLubyte GLubyte GLubyte GLubyte w
#define HRESULT_FROM_WIN32(x)
static HRESULT WINAPI WshShell3_GetTypeInfoCount(IWshShell3 *iface, UINT *pctinfo)
VOID WINAPI CoTaskMemFree(LPVOID ptr)
static WCHAR * split_command(BSTR cmd, WCHAR **params)
static HRESULT WINAPI WshExec_get_ExitCode(IWshExec *iface, DWORD *code)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
static ULONG WINAPI WshCollection_Release(IWshCollection *iface)
#define CSIDL_COMMON_DESKTOPDIRECTORY
static HRESULT WINAPI WshShortcut_put_WorkingDirectory(IWshShortcut *iface, BSTR WorkingDirectory)
static ULONG WINAPI WshShell3_AddRef(IWshShell3 *iface)
#define SEE_MASK_NOCLOSEPROCESS
GLsizei const GLchar ** path
BOOL WINAPI GetExitCodeProcess(IN HANDLE hProcess, IN LPDWORD lpExitCode)
static HRESULT WINAPI WshEnvironment_GetTypeInfoCount(IWshEnvironment *iface, UINT *pctinfo)
LONG WINAPI RegSetKeyValueW(IN HKEY hKey, IN LPCWSTR lpSubKey OPTIONAL, IN LPCWSTR lpValueName OPTIONAL, IN DWORD dwType, IN LPCVOID lpData OPTIONAL, IN DWORD cbData)
_In_ WDFDPC _In_ BOOLEAN Wait
#define HKEY_CURRENT_USER
static HRESULT WINAPI WshShell3_Run(IWshShell3 *iface, BSTR cmd, VARIANT *style, VARIANT *wait, DWORD *exit_code)
GLuint GLuint GLsizei count
static HRESULT WshCollection_Create(IWshCollection **collection)
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
#define GetCurrentDirectoryW(x, y)
BOOL WINAPI EnumThreadWindows(_In_ DWORD, _In_ WNDENUMPROC, _In_ LPARAM)
static BOOL is_optional_argument(const VARIANT *arg)
DWORD WINAPI GetLastError(VOID)
static HRESULT WINAPI WshShell3_Invoke(IWshShell3 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static ULONG WINAPI WshShortcut_AddRef(IWshShortcut *iface)
UINT WINAPI SysStringByteLen(BSTR str)
_Check_return_ long __cdecl wcstol(_In_z_ const wchar_t *_Str, _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, _In_ int _Radix)
static const WCHAR Description[]
void WINAPI VariantInit(VARIANTARG *pVarg)
int const JOCTET unsigned int datalen
static HRESULT WINAPI WshShortcut_get_IconLocation(IWshShortcut *iface, BSTR *IconPath)
#define HKEY_CURRENT_CONFIG
static const IWshEnvironmentVtbl WshEnvironmentVtbl
static HRESULT WINAPI WshShell3_RegRead(IWshShell3 *iface, BSTR name, VARIANT *value)
static HRESULT WINAPI WshShell3_get_Environment(IWshShell3 *iface, VARIANT *type, IWshEnvironment **env)
static HRESULT WINAPI WshEnvironment_Remove(IWshEnvironment *iface, BSTR name)
static HRESULT WINAPI WshShell3_CreateShortcut(IWshShell3 *iface, BSTR PathLink, IDispatch **Shortcut)
GLbitfield GLuint64 timeout
static HRESULT WINAPI WshExec_GetTypeInfoCount(IWshExec *iface, UINT *pctinfo)
static HRESULT WINAPI WshShortcut_get_Hotkey(IWshShortcut *iface, BSTR *Hotkey)
static void * heap_alloc(size_t len)
#define DISP_E_PARAMNOTFOUND
static HRESULT WINAPI WshShell3_RegWrite(IWshShell3 *iface, BSTR name, VARIANT *value, VARIANT *type)
#define CSIDL_COMMON_PROGRAMS
static HRESULT WINAPI WshShell3_GetIDsOfNames(IWshShell3 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static HRESULT WINAPI WshEnvironment_get_Item(IWshEnvironment *iface, BSTR name, BSTR *value)
static HRESULT WINAPI WshShell3_ExpandEnvironmentStrings(IWshShell3 *iface, BSTR Src, BSTR *Dst)
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
static WshCollection * impl_from_IWshCollection(IWshCollection *iface)
static HRESULT WINAPI WshCollection_Item(IWshCollection *iface, VARIANT *index, VARIANT *value)
GLenum const GLfloat * params
HRESULT WINAPI SafeArrayAccessData(SAFEARRAY *psa, void **ppvData)
static HRESULT WINAPI WshEnvironment_GetTypeInfo(IWshEnvironment *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static HRESULT WINAPI WshShortcut_put_Arguments(IWshShortcut *iface, BSTR Arguments)
const GUID IID_IProvideClassInfo
static struct _test_info info[]
static HKEY get_root_key(const WCHAR *path)
static const IWshCollectionVtbl WshCollectionVtbl
static HRESULT WINAPI WshCollection_Invoke(IWshCollection *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
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)
static HRESULT WINAPI WshCollection_get_length(IWshCollection *iface, LONG *count)
static HRESULT WINAPI WshShortcut_get_FullName(IWshShortcut *iface, BSTR *name)
BSTR WINAPI SysAllocString(LPCOLESTR str)
HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
static WshShortcut * impl_from_IWshShortcut(IWshShortcut *iface)
BOOL WINAPI DECLSPEC_HOTPATCH ShellExecuteExW(LPSHELLEXECUTEINFOW sei)
static HRESULT WINAPI WshExec_get_StdErr(IWshExec *iface, ITextStream **stream)
static HRESULT WINAPI WshShell3_get_SpecialFolders(IWshShell3 *iface, IWshCollection **folders)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
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)
static HRESULT WINAPI WshShortcut_Invoke(IWshShortcut *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static const IWshExecVtbl WshExecVtbl
static WshEnvironment * impl_from_IWshEnvironment(IWshEnvironment *iface)
static HRESULT WINAPI WshShortcut_Load(IWshShortcut *iface, BSTR PathLink)
static HRESULT WINAPI WshEnvironment__NewEnum(IWshEnvironment *iface, IUnknown **penum)
_CONST_RETURN wchar_t *__cdecl wcschr(_In_z_ const wchar_t *_Str, wchar_t _Ch)
static ULONG WINAPI WshEnvironment_Release(IWshEnvironment *iface)
int WINAPI MessageBoxW(_In_opt_ HWND, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ UINT)
HRESULT WINAPI SHGetSpecialFolderLocation(HWND hwndOwner, INT nFolder, LPITEMIDLIST *ppidl)
static ULONG WINAPI WshShell3_Release(IWshShell3 *iface)
static BOOL CALLBACK enum_thread_wnd_proc(HWND hwnd, LPARAM lParam)
static const IWshShortcutVtbl WshShortcutVtbl
static HRESULT WINAPI WshShell3_QueryInterface(IWshShell3 *iface, REFIID riid, void **ppv)
IWshCollection IWshCollection_iface
static const IWshShell3Vtbl WshShell3Vtbl
static HRESULT WINAPI WshCollection_QueryInterface(IWshCollection *iface, REFIID riid, void **ppv)
void init_classinfo(const GUID *guid, IUnknown *outer, struct provideclassinfo *classinfo)
static HRESULT WINAPI WshShell3_SendKeys(IWshShell3 *iface, BSTR Keys, VARIANT *Wait)
static HRESULT WINAPI WshShortcut_put_Description(IWshShortcut *iface, BSTR Description)
static HRESULT WINAPI WshShell3_GetTypeInfo(IWshShell3 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
static HRESULT WINAPI WshEnvironment_put_Item(IWshEnvironment *iface, BSTR name, BSTR value)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
_Check_return_ _CRTIMP int __cdecl wcsncmp(_In_reads_or_z_(_MaxCount) const wchar_t *_Str1, _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, _In_ size_t _MaxCount)
HRESULT WINAPI SafeArrayDestroy(SAFEARRAY *psa)
static HRESULT WINAPI WshShell3_LogEvent(IWshShell3 *iface, VARIANT *Type, BSTR Message, BSTR Target, VARIANT_BOOL *out_Success)
DWORD WINAPI MsgWaitForMultipleObjects(_In_ DWORD nCount, _In_reads_opt_(nCount) CONST HANDLE *pHandles, _In_ BOOL fWaitAll, _In_ DWORD dwMilliseconds, _In_ DWORD dwWakeMask)
static const WCHAR desktopW[]
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
static ULONG WINAPI WshShortcut_Release(IWshShortcut *iface)
WINE_DEFAULT_DEBUG_CHANNEL(wshom)
static ITypeInfo * typeinfo[last_tid]
static HRESULT WINAPI WshExec_Invoke(IWshExec *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
#define InterlockedDecrement
static HRESULT WINAPI WshEnvironment_Invoke(IWshEnvironment *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
static ULONG WINAPI WshEnvironment_AddRef(IWshEnvironment *iface)
#define memcpy(s1, s2, n)
static HRESULT WINAPI WshCollection__NewEnum(IWshCollection *iface, IUnknown **Enum)
MIXER_STATUS Enum(IN PVOID EnumContext, IN ULONG DeviceIndex, OUT LPWSTR *DeviceName, OUT PHANDLE OutHandle, OUT PHANDLE OutKey)
int _cdecl swprintf(const WCHAR *,...)
static HRESULT WINAPI WshShortcut_get_Arguments(IWshShortcut *iface, BSTR *Arguments)
static HRESULT WINAPI WshShell3_Exec(IWshShell3 *iface, BSTR command, IWshExec **ret)
static HRESULT WINAPI WshEnvironment_QueryInterface(IWshEnvironment *iface, REFIID riid, void **obj)
static HRESULT WINAPI WshShortcut_put_IconLocation(IWshShortcut *iface, BSTR IconPath)
static HRESULT split_reg_path(const WCHAR *path, WCHAR **subkey, WCHAR **value)
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
_In_ DWORD _Out_ _In_ WORD wFlags
static HRESULT WINAPI WshExec_GetIDsOfNames(IWshExec *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static HRESULT WINAPI WshExec_get_StdIn(IWshExec *iface, ITextStream **stream)
SAFEARRAY *WINAPI SafeArrayCreate(VARTYPE vt, UINT cDims, SAFEARRAYBOUND *rgsabound)
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
static HRESULT WINAPI WshEnvironment_GetIDsOfNames(IWshEnvironment *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
struct stdole::EXCEPINFO EXCEPINFO
static const char * debugstr_variant(const VARIANT *var)
static VARIANTARG static DISPID
PRTL_UNICODE_STRING_BUFFER Path
static HRESULT WINAPI WshCollection_GetTypeInfo(IWshCollection *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
#define InterlockedIncrement
static HRESULT WshShortcut_Create(const WCHAR *path, IDispatch **shortcut)
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
HRESULT WINAPI WshShellFactory_CreateInstance(IClassFactory *iface, IUnknown *outer, REFIID riid, void **ppv)
static ULONG WINAPI WshCollection_AddRef(IWshCollection *iface)
static HRESULT WINAPI WshShortcut_get_TargetPath(IWshShortcut *iface, BSTR *Path)
static ULONG WINAPI WshExec_AddRef(IWshExec *iface)
static ICollection collection
BOOL WINAPI TerminateProcess(IN HANDLE hProcess, IN UINT uExitCode)
static HRESULT WINAPI WshExec_get_Status(IWshExec *iface, WshExecStatus *status)
BOOL WINAPI SetCurrentDirectoryW(IN LPCWSTR lpPathName)
static HRESULT WINAPI WshShortcut_put_WindowStyle(IWshShortcut *iface, int ShowCmd)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
static HRESULT WINAPI WshShortcut_GetTypeInfo(IWshShortcut *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
DWORD WINAPI ExpandEnvironmentStringsW(IN LPCWSTR lpSrc, IN LPWSTR lpDst, IN DWORD nSize)
static ULONG WINAPI WshExec_Release(IWshExec *iface)
static LPCWSTR LPCWSTR LPCWSTR env
static HRESULT WINAPI WshShortcut_put_RelativePath(IWshShortcut *iface, BSTR rhs)
static const WCHAR IconPath[]
static HRESULT WINAPI WshShortcut_QueryInterface(IWshShortcut *iface, REFIID riid, void **ppv)
static HRESULT WINAPI WshShell3_get_CurrentDirectory(IWshShell3 *iface, BSTR *dir)
static HRESULT WINAPI WshShortcut_get_WindowStyle(IWshShortcut *iface, int *ShowCmd)
const GUID IID_IPersistFile
static HRESULT WINAPI WshShell3_put_CurrentDirectory(IWshShell3 *iface, BSTR dir)
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
static HRESULT WshExec_create(BSTR command, IWshExec **ret)
struct stdole::DISPPARAMS DISPPARAMS
static HRESULT WINAPI WshShell3_Popup(IWshShell3 *iface, BSTR text, VARIANT *seconds_to_wait, VARIANT *title, VARIANT *type, int *button)
static DWORD WINAPI popup_thread_proc(void *arg)
static HRESULT WINAPI WshExec_GetTypeInfo(IWshExec *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
IWshShell3 IWshShell3_iface
static HRESULT WINAPI WshShortcut_Save(IWshShortcut *iface)
static HRESULT WINAPI WshEnvironment_Count(IWshEnvironment *iface, LONG *count)
#define HKEY_CLASSES_ROOT
#define ERROR_PATH_NOT_FOUND
static HRESULT WINAPI WshExec_get_ProcessID(IWshExec *iface, DWORD *pid)
static HRESULT WINAPI WshExec_QueryInterface(IWshExec *iface, REFIID riid, void **obj)
GLuint GLuint GLsizei GLenum type
static HRESULT WINAPI WshExec_Terminate(IWshExec *iface)
static HRESULT WINAPI WshEnvironment_get_length(IWshEnvironment *iface, LONG *len)
static HRESULT WINAPI WshExec_get_StdOut(IWshExec *iface, ITextStream **stream)
#define GetEnvironmentVariableW(x, y, z)
static SERVICE_STATUS status
BOOL WINAPI PostThreadMessageW(_In_ DWORD, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
static HRESULT WINAPI WshShortcut_get_WorkingDirectory(IWshShortcut *iface, BSTR *WorkingDirectory)
static HRESULT WINAPI WshShortcut_get_Description(IWshShortcut *iface, BSTR *Description)
static HRESULT WINAPI WshShortcut_put_Hotkey(IWshShortcut *iface, BSTR Hotkey)
static struct sockaddr_in sa
#define IsEqualIID(riid1, riid2)
static HRESULT WINAPI WshShortcut_GetTypeInfoCount(IWshShortcut *iface, UINT *pctinfo)
HRESULT WINAPI SafeArrayUnaccessData(SAFEARRAY *psa)
static HRESULT WINAPI WshCollection_Count(IWshCollection *iface, LONG *count)
static HRESULT WINAPI WshCollection_GetTypeInfoCount(IWshCollection *iface, UINT *pctinfo)
static HRESULT WINAPI WshShortcut_GetIDsOfNames(IWshShortcut *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
static BOOL heap_free(void *mem)
#define HKEY_LOCAL_MACHINE