Skip to content

Commit 4564be8

Browse files
committed
Adding IShellLinkW + commit generated defs
1 parent 34c2d94 commit 4564be8

6 files changed

Lines changed: 3495 additions & 3790 deletions

File tree

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
typedef struct IShellLinkWVtbl
2+
{
3+
BEGIN_INTERFACE
4+
5+
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
6+
__RPC__in IShellLinkW * This,
7+
/* [in] */ __RPC__in REFIID riid,
8+
/* [annotation][iid_is][out] */
9+
__RPC__deref_out void **ppvObject);
10+
11+
ULONG ( STDMETHODCALLTYPE *AddRef )(
12+
__RPC__in IShellLinkW * This);
13+
14+
ULONG ( STDMETHODCALLTYPE *Release )(
15+
__RPC__in IShellLinkW * This);
16+
17+
HRESULT ( STDMETHODCALLTYPE *GetPath )(
18+
__RPC__in IShellLinkW * This,
19+
/* [size_is][string][out] */ __RPC__out_ecount_full_string(cch) LPWSTR pszFile,
20+
/* [in] */ int cch,
21+
/* [unique][out][in] */ __RPC__inout_opt WIN32_FIND_DATAW *pfd,
22+
/* [in] */ DWORD fFlags);
23+
24+
HRESULT ( STDMETHODCALLTYPE *GetIDList )(
25+
__RPC__in IShellLinkW * This,
26+
/* [out] */ __RPC__deref_out_opt PIDLIST_ABSOLUTE *ppidl);
27+
28+
HRESULT ( STDMETHODCALLTYPE *SetIDList )(
29+
__RPC__in IShellLinkW * This,
30+
/* [unique][in] */ __RPC__in_opt PCIDLIST_ABSOLUTE pidl);
31+
32+
HRESULT ( STDMETHODCALLTYPE *GetDescription )(
33+
__RPC__in IShellLinkW * This,
34+
/* [size_is][string][out] */ __RPC__out_ecount_full_string(cch) LPWSTR pszName,
35+
int cch);
36+
37+
HRESULT ( STDMETHODCALLTYPE *SetDescription )(
38+
__RPC__in IShellLinkW * This,
39+
/* [string][in] */ __RPC__in_string LPCWSTR pszName);
40+
41+
HRESULT ( STDMETHODCALLTYPE *GetWorkingDirectory )(
42+
__RPC__in IShellLinkW * This,
43+
/* [size_is][string][out] */ __RPC__out_ecount_full_string(cch) LPWSTR pszDir,
44+
int cch);
45+
46+
HRESULT ( STDMETHODCALLTYPE *SetWorkingDirectory )(
47+
__RPC__in IShellLinkW * This,
48+
/* [string][in] */ __RPC__in_string LPCWSTR pszDir);
49+
50+
HRESULT ( STDMETHODCALLTYPE *GetArguments )(
51+
__RPC__in IShellLinkW * This,
52+
/* [size_is][string][out] */ __RPC__out_ecount_full_string(cch) LPWSTR pszArgs,
53+
/* [in] */ int cch);
54+
55+
HRESULT ( STDMETHODCALLTYPE *SetArguments )(
56+
__RPC__in IShellLinkW * This,
57+
/* [string][in] */ __RPC__in_string LPCWSTR pszArgs);
58+
59+
HRESULT ( STDMETHODCALLTYPE *GetHotkey )(
60+
__RPC__in IShellLinkW * This,
61+
/* [out] */ __RPC__out WORD *pwHotkey);
62+
63+
HRESULT ( STDMETHODCALLTYPE *SetHotkey )(
64+
__RPC__in IShellLinkW * This,
65+
/* [in] */ WORD wHotkey);
66+
67+
HRESULT ( STDMETHODCALLTYPE *GetShowCmd )(
68+
__RPC__in IShellLinkW * This,
69+
/* [out] */ __RPC__out int *piShowCmd);
70+
71+
HRESULT ( STDMETHODCALLTYPE *SetShowCmd )(
72+
__RPC__in IShellLinkW * This,
73+
/* [in] */ int iShowCmd);
74+
75+
HRESULT ( STDMETHODCALLTYPE *GetIconLocation )(
76+
__RPC__in IShellLinkW * This,
77+
/* [size_is][string][out] */ __RPC__out_ecount_full_string(cch) LPWSTR pszIconPath,
78+
/* [in] */ int cch,
79+
/* [out] */ __RPC__out int *piIcon);
80+
81+
HRESULT ( STDMETHODCALLTYPE *SetIconLocation )(
82+
__RPC__in IShellLinkW * This,
83+
/* [string][in] */ __RPC__in_string LPCWSTR pszIconPath,
84+
/* [in] */ int iIcon);
85+
86+
HRESULT ( STDMETHODCALLTYPE *SetRelativePath )(
87+
__RPC__in IShellLinkW * This,
88+
/* [string][in] */ __RPC__in_string LPCWSTR pszPathRel,
89+
/* [in] */ DWORD dwReserved);
90+
91+
HRESULT ( STDMETHODCALLTYPE *Resolve )(
92+
__RPC__in IShellLinkW * This,
93+
/* [unique][in] */ __RPC__in_opt HWND hwnd,
94+
/* [in] */ DWORD fFlags);
95+
96+
HRESULT ( STDMETHODCALLTYPE *SetPath )(
97+
__RPC__in IShellLinkW * This,
98+
/* [string][in] */ __RPC__in_string LPCWSTR pszFile);
99+
100+
END_INTERFACE
101+
} IShellLinkWVtbl;

windows/generated_def/interfaces.py

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ class IPersistFile(COMInterface):
7474
class IShellLinkA(COMInterface):
7575
IID = generate_IID(0x000214EE, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IShellLinkA", strid="000214EE-0000-0000-C000-000000000046")
7676

77+
class IShellLinkW(COMInterface):
78+
IID = generate_IID(0x000214F9, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IShellLinkW", strid="000214F9-0000-0000-C000-000000000046")
79+
7780
class IUnknown(COMInterface):
7881
IID = generate_IID(0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IUnknown", strid="00000000-0000-0000-C000-000000000046")
7982

@@ -684,6 +687,51 @@ class IWbemServices(COMInterface):
684687
"SetPath": ctypes.WINFUNCTYPE(HRESULT, LPCSTR)(20, "SetPath"),
685688
}
686689

690+
IShellLinkW._functions_ = {
691+
# QueryInterface -> riid:REFIID, ppvObject:**void
692+
"QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"),
693+
# AddRef ->
694+
"AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"),
695+
# Release ->
696+
"Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"),
697+
# GetPath -> pszFile:LPWSTR, cch:INT, pfd:*WIN32_FIND_DATAW, fFlags:DWORD
698+
"GetPath": ctypes.WINFUNCTYPE(HRESULT, LPWSTR, INT, POINTER(WIN32_FIND_DATAW), DWORD)(3, "GetPath"),
699+
# GetIDList -> ppidl:*PIDLIST_ABSOLUTE
700+
"GetIDList": ctypes.WINFUNCTYPE(HRESULT, POINTER(PIDLIST_ABSOLUTE))(4, "GetIDList"),
701+
# SetIDList -> pidl:PCIDLIST_ABSOLUTE
702+
"SetIDList": ctypes.WINFUNCTYPE(HRESULT, PCIDLIST_ABSOLUTE)(5, "SetIDList"),
703+
# GetDescription -> pszName:LPWSTR, cch:INT
704+
"GetDescription": ctypes.WINFUNCTYPE(HRESULT, LPWSTR, INT)(6, "GetDescription"),
705+
# SetDescription -> pszName:LPCWSTR
706+
"SetDescription": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR)(7, "SetDescription"),
707+
# GetWorkingDirectory -> pszDir:LPWSTR, cch:INT
708+
"GetWorkingDirectory": ctypes.WINFUNCTYPE(HRESULT, LPWSTR, INT)(8, "GetWorkingDirectory"),
709+
# SetWorkingDirectory -> pszDir:LPCWSTR
710+
"SetWorkingDirectory": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR)(9, "SetWorkingDirectory"),
711+
# GetArguments -> pszArgs:LPWSTR, cch:INT
712+
"GetArguments": ctypes.WINFUNCTYPE(HRESULT, LPWSTR, INT)(10, "GetArguments"),
713+
# SetArguments -> pszArgs:LPCWSTR
714+
"SetArguments": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR)(11, "SetArguments"),
715+
# GetHotkey -> pwHotkey:*WORD
716+
"GetHotkey": ctypes.WINFUNCTYPE(HRESULT, POINTER(WORD))(12, "GetHotkey"),
717+
# SetHotkey -> wHotkey:WORD
718+
"SetHotkey": ctypes.WINFUNCTYPE(HRESULT, WORD)(13, "SetHotkey"),
719+
# GetShowCmd -> piShowCmd:*INT
720+
"GetShowCmd": ctypes.WINFUNCTYPE(HRESULT, POINTER(INT))(14, "GetShowCmd"),
721+
# SetShowCmd -> iShowCmd:INT
722+
"SetShowCmd": ctypes.WINFUNCTYPE(HRESULT, INT)(15, "SetShowCmd"),
723+
# GetIconLocation -> pszIconPath:LPWSTR, cch:INT, piIcon:*INT
724+
"GetIconLocation": ctypes.WINFUNCTYPE(HRESULT, LPWSTR, INT, POINTER(INT))(16, "GetIconLocation"),
725+
# SetIconLocation -> pszIconPath:LPCWSTR, iIcon:INT
726+
"SetIconLocation": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, INT)(17, "SetIconLocation"),
727+
# SetRelativePath -> pszPathRel:LPCWSTR, dwReserved:DWORD
728+
"SetRelativePath": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, DWORD)(18, "SetRelativePath"),
729+
# Resolve -> hwnd:HWND, fFlags:DWORD
730+
"Resolve": ctypes.WINFUNCTYPE(HRESULT, HWND, DWORD)(19, "Resolve"),
731+
# SetPath -> pszFile:LPCWSTR
732+
"SetPath": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR)(20, "SetPath"),
733+
}
734+
687735
IUnknown._functions_ = {
688736
# QueryInterface -> riid:REFIID, ppvObject:**void
689737
"QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"),

windows/generated_def/meta.py

Lines changed: 5 additions & 5 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)