@bun-win32/shell32 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +60 -0
- package/index.ts +6 -0
- package/package.json +52 -0
- package/runtime/extensions.ts +210 -0
- package/structs/Shell32.ts +1717 -0
- package/types/Shell32.ts +500 -0
|
@@ -0,0 +1,1717 @@
|
|
|
1
|
+
import { type FFIFunction, FFIType, dlopen } from 'bun:ffi';
|
|
2
|
+
|
|
3
|
+
import type {
|
|
4
|
+
ASSOC_FILTER,
|
|
5
|
+
BOOL,
|
|
6
|
+
DWORD,
|
|
7
|
+
DWORD_PTR,
|
|
8
|
+
GETPROPERTYSTOREFLAGS,
|
|
9
|
+
HANDLE,
|
|
10
|
+
HDROP,
|
|
11
|
+
HICON,
|
|
12
|
+
HIMAGELIST,
|
|
13
|
+
HINSTANCE,
|
|
14
|
+
HKEY,
|
|
15
|
+
HMENU,
|
|
16
|
+
HPSXA,
|
|
17
|
+
HRESULT,
|
|
18
|
+
HWND,
|
|
19
|
+
INT,
|
|
20
|
+
INT_PTR,
|
|
21
|
+
LONG,
|
|
22
|
+
LPARAM,
|
|
23
|
+
LPAUTO_SCROLL_DATA,
|
|
24
|
+
LPBROWSEINFOA,
|
|
25
|
+
LPBROWSEINFOW,
|
|
26
|
+
LPCSHITEMID,
|
|
27
|
+
LPCSTR,
|
|
28
|
+
LPCVOID,
|
|
29
|
+
LPCWSTR,
|
|
30
|
+
LPDWORD,
|
|
31
|
+
LPFNADDPROPSHEETPAGE,
|
|
32
|
+
LPFNDFMCALLBACK,
|
|
33
|
+
LPPOINT,
|
|
34
|
+
LPRECT,
|
|
35
|
+
LPSECURITY_ATTRIBUTES,
|
|
36
|
+
LPSHCREATEPROCESSINFOW,
|
|
37
|
+
LPSHELLEXECUTEINFOA,
|
|
38
|
+
LPSHELLEXECUTEINFOW,
|
|
39
|
+
LPSHELLSTATE,
|
|
40
|
+
LPSHFOLDERCUSTOMSETTINGS,
|
|
41
|
+
LPSHFILEINFOA,
|
|
42
|
+
LPSHFILEINFOW,
|
|
43
|
+
LPSHFILEOPSTRUCTA,
|
|
44
|
+
LPSHFILEOPSTRUCTW,
|
|
45
|
+
LPSHELLFLAGSTATE,
|
|
46
|
+
LPSHSTOCKICONINFO,
|
|
47
|
+
LPSTR,
|
|
48
|
+
LPVOID,
|
|
49
|
+
LPWORD,
|
|
50
|
+
LPWSTR,
|
|
51
|
+
LRESULT,
|
|
52
|
+
NULL,
|
|
53
|
+
PACKED_POINT,
|
|
54
|
+
PAPPBARDATA,
|
|
55
|
+
PCABINETSTATE,
|
|
56
|
+
PCDEFCONTEXTMENU,
|
|
57
|
+
PCIDLIST_ABSOLUTE,
|
|
58
|
+
PCUITEMID_CHILD,
|
|
59
|
+
PCUITEMID_CHILD_ARRAY,
|
|
60
|
+
PCUIDLIST_RELATIVE,
|
|
61
|
+
PCUIDLIST_RELATIVE_ARRAY,
|
|
62
|
+
PDLLVERSIONINFO,
|
|
63
|
+
PIDLIST_ABSOLUTE,
|
|
64
|
+
PIDLIST_RELATIVE,
|
|
65
|
+
PNOTIFYICONIDENTIFIER,
|
|
66
|
+
PNOTIFYICONDATAA,
|
|
67
|
+
PNOTIFYICONDATAW,
|
|
68
|
+
POPENASINFO,
|
|
69
|
+
PSFV_CREATE,
|
|
70
|
+
PSHCHANGENOTIFYENTRY,
|
|
71
|
+
PSHQUERYRBINFO,
|
|
72
|
+
PUIDLIST_RELATIVE,
|
|
73
|
+
PUITEMID_CHILD,
|
|
74
|
+
PWSTR,
|
|
75
|
+
SFGAOF,
|
|
76
|
+
SIGDN,
|
|
77
|
+
SIZE_T,
|
|
78
|
+
UINT,
|
|
79
|
+
UINT_PTR,
|
|
80
|
+
ULONG,
|
|
81
|
+
WORD,
|
|
82
|
+
} from '../types/Shell32';
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Thin, lazy-loaded FFI bindings for `shell32.dll`.
|
|
86
|
+
*
|
|
87
|
+
* Each static method corresponds one-to-one with a Win32 export declared in `Symbols`.
|
|
88
|
+
* The first call to a method binds the underlying native symbol via `bun:ffi` and
|
|
89
|
+
* memoizes it on the class for subsequent calls. For bulk, up-front binding, use `Preload`.
|
|
90
|
+
*
|
|
91
|
+
* Symbols are defined with explicit `FFIType` signatures and kept alphabetized.
|
|
92
|
+
* You normally do not access `Symbols` directly; call the static methods or preload
|
|
93
|
+
* a subset for hot paths.
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```ts
|
|
97
|
+
* import Shell32 from './structs/Shell32';
|
|
98
|
+
*
|
|
99
|
+
* // Lazy: bind on first call
|
|
100
|
+
* const path = Buffer.alloc(520);
|
|
101
|
+
* Shell32.SHGetFolderPathW(0n, 0x001C, 0n, 0, path.ptr);
|
|
102
|
+
*
|
|
103
|
+
* // Or preload a subset to avoid per-symbol lazy binding cost
|
|
104
|
+
* Shell32.Preload(['SHGetKnownFolderPath', 'ShellExecuteW']);
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
class Shell32 {
|
|
108
|
+
/**
|
|
109
|
+
* Lazily binds a single `shell32.dll` export and memoizes it on the class.
|
|
110
|
+
*
|
|
111
|
+
* If the symbol has already been bound (property is non-configurable), this is a no-op.
|
|
112
|
+
* Subsequent calls go directly through the memoized native function.
|
|
113
|
+
*
|
|
114
|
+
* @param method Exact export name from `Symbols`.
|
|
115
|
+
* @returns The bound native function, typed to the corresponding static method.
|
|
116
|
+
* @example
|
|
117
|
+
* ```ts
|
|
118
|
+
* // Internal usage: public wrappers call Load on first invocation
|
|
119
|
+
* // return Shell32.Load('SHGetKnownFolderPath')();
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
private static Load<T extends keyof typeof Shell32.Symbols>(method: T): (typeof Shell32)[T] {
|
|
123
|
+
const skip = Object.getOwnPropertyDescriptor(Shell32, method)?.configurable === false;
|
|
124
|
+
|
|
125
|
+
if (skip) {
|
|
126
|
+
return Shell32[method];
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
const library = dlopen('shell32.dll', { [method]: Shell32.Symbols[method] });
|
|
130
|
+
|
|
131
|
+
const propertyDescriptor = { configurable: false, value: library.symbols[method] };
|
|
132
|
+
Object.defineProperty(Shell32, method, propertyDescriptor);
|
|
133
|
+
|
|
134
|
+
return Shell32[method];
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Eagerly binds one or more `shell32.dll` exports in a single `dlopen` call.
|
|
139
|
+
*
|
|
140
|
+
* When called with no arguments, every symbol in `Symbols` is bound.
|
|
141
|
+
* Already-bound symbols are skipped.
|
|
142
|
+
*
|
|
143
|
+
* @param methods Optional list of export names to preload. Defaults to all symbols.
|
|
144
|
+
* @example
|
|
145
|
+
* ```ts
|
|
146
|
+
* // Preload specific hot-path symbols
|
|
147
|
+
* Shell32.Preload(['ShellExecuteW', 'SHGetKnownFolderPath', 'SHGetFileInfoW']);
|
|
148
|
+
*
|
|
149
|
+
* // Or preload everything
|
|
150
|
+
* Shell32.Preload();
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
public static Preload(methods?: (keyof typeof Shell32.Symbols)[]): void {
|
|
154
|
+
methods ??= Object.keys(Shell32.Symbols) as (keyof typeof Shell32.Symbols)[];
|
|
155
|
+
|
|
156
|
+
const symbols = Object.fromEntries(
|
|
157
|
+
methods
|
|
158
|
+
.filter((method) => Object.getOwnPropertyDescriptor(Shell32, method)?.configurable !== false)
|
|
159
|
+
.map((method) => [method, Shell32.Symbols[method]])
|
|
160
|
+
);
|
|
161
|
+
|
|
162
|
+
const library = dlopen('shell32.dll', symbols);
|
|
163
|
+
|
|
164
|
+
const propertyDescriptorMap = Object.fromEntries(
|
|
165
|
+
Object.entries(library.symbols).map(([key, value]) => [key, { configurable: false, value }])
|
|
166
|
+
);
|
|
167
|
+
|
|
168
|
+
Object.defineProperties(Shell32, propertyDescriptorMap);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// ---------------------------------------------------------------------------
|
|
172
|
+
// FFI symbol declarations — alphabetized
|
|
173
|
+
//
|
|
174
|
+
// FFIType reference:
|
|
175
|
+
// FFIType.i32 → BOOL, int, LONG, HRESULT
|
|
176
|
+
// FFIType.u32 → DWORD, UINT, ULONG
|
|
177
|
+
// FFIType.u64 → HANDLE, HWND, HICON, HDROP, HINSTANCE, HKEY (returned as bigint)
|
|
178
|
+
// FFIType.i64 → INT_PTR, LPARAM, LRESULT
|
|
179
|
+
// FFIType.ptr → any pointer parameter (LPVOID, LPWSTR, LPCWSTR, PIDLIST_ABSOLUTE, etc.)
|
|
180
|
+
// FFIType.void → void return
|
|
181
|
+
//
|
|
182
|
+
// Consult the Win32 docs for each function's exact signature:
|
|
183
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/{header}/nf-{header}-{functionname}
|
|
184
|
+
// ---------------------------------------------------------------------------
|
|
185
|
+
private static readonly Symbols = {
|
|
186
|
+
AssocCreateForClasses: { args: [FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
187
|
+
AssocGetDetailsOfPropKey: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
188
|
+
CDefFolderMenu_Create2: { args: [FFIType.ptr, FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
189
|
+
CIDLData_CreateFromIDArray: { args: [FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
190
|
+
CommandLineToArgvW: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.ptr },
|
|
191
|
+
DAD_AutoScroll: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
192
|
+
DAD_DragEnterEx: { args: [FFIType.u64, FFIType.u64], returns: FFIType.i32 },
|
|
193
|
+
DAD_DragEnterEx2: { args: [FFIType.u64, FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
|
|
194
|
+
DAD_DragLeave: { args: [], returns: FFIType.i32 },
|
|
195
|
+
DAD_DragMove: { args: [FFIType.u64], returns: FFIType.i32 },
|
|
196
|
+
DAD_SetDragImage: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
|
|
197
|
+
DAD_ShowDragImage: { args: [FFIType.i32], returns: FFIType.i32 },
|
|
198
|
+
DllGetVersion: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
199
|
+
DoEnvironmentSubstA: { args: [FFIType.ptr, FFIType.u32], returns: FFIType.u32 },
|
|
200
|
+
DoEnvironmentSubstW: { args: [FFIType.ptr, FFIType.u32], returns: FFIType.u32 },
|
|
201
|
+
DragAcceptFiles: { args: [FFIType.u64, FFIType.i32], returns: FFIType.void },
|
|
202
|
+
DragFinish: { args: [FFIType.u64], returns: FFIType.void },
|
|
203
|
+
DragQueryFile: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.u32], returns: FFIType.u32 },
|
|
204
|
+
DragQueryFileA: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.u32], returns: FFIType.u32 },
|
|
205
|
+
DragQueryFileW: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.u32], returns: FFIType.u32 },
|
|
206
|
+
DragQueryPoint: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
|
|
207
|
+
DuplicateIcon: { args: [FFIType.u64, FFIType.u64], returns: FFIType.u64 },
|
|
208
|
+
ExtractAssociatedIconA: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr], returns: FFIType.u64 },
|
|
209
|
+
ExtractAssociatedIconExA: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.u64 },
|
|
210
|
+
ExtractAssociatedIconExW: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.u64 },
|
|
211
|
+
ExtractAssociatedIconW: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr], returns: FFIType.u64 },
|
|
212
|
+
ExtractIconA: { args: [FFIType.u64, FFIType.ptr, FFIType.u32], returns: FFIType.u64 },
|
|
213
|
+
ExtractIconEx: { args: [FFIType.ptr, FFIType.i32, FFIType.ptr, FFIType.ptr, FFIType.u32], returns: FFIType.u32 },
|
|
214
|
+
ExtractIconExA: { args: [FFIType.ptr, FFIType.i32, FFIType.ptr, FFIType.ptr, FFIType.u32], returns: FFIType.u32 },
|
|
215
|
+
ExtractIconExW: { args: [FFIType.ptr, FFIType.i32, FFIType.ptr, FFIType.ptr, FFIType.u32], returns: FFIType.u32 },
|
|
216
|
+
ExtractIconW: { args: [FFIType.u64, FFIType.ptr, FFIType.u32], returns: FFIType.u64 },
|
|
217
|
+
FindExecutableA: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.u64 },
|
|
218
|
+
FindExecutableW: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.u64 },
|
|
219
|
+
GetCurrentProcessExplicitAppUserModelID: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
220
|
+
ILAppendID: { args: [FFIType.ptr, FFIType.ptr, FFIType.i32], returns: FFIType.ptr },
|
|
221
|
+
ILClone: { args: [FFIType.ptr], returns: FFIType.ptr },
|
|
222
|
+
ILCloneFirst: { args: [FFIType.ptr], returns: FFIType.ptr },
|
|
223
|
+
ILCombine: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.ptr },
|
|
224
|
+
ILCreateFromPath: { args: [FFIType.ptr], returns: FFIType.ptr },
|
|
225
|
+
ILCreateFromPathA: { args: [FFIType.ptr], returns: FFIType.ptr },
|
|
226
|
+
ILCreateFromPathW: { args: [FFIType.ptr], returns: FFIType.ptr },
|
|
227
|
+
ILFindChild: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.ptr },
|
|
228
|
+
ILFindLastID: { args: [FFIType.ptr], returns: FFIType.ptr },
|
|
229
|
+
ILFree: { args: [FFIType.ptr], returns: FFIType.void },
|
|
230
|
+
ILGetNext: { args: [FFIType.ptr], returns: FFIType.ptr },
|
|
231
|
+
ILGetSize: { args: [FFIType.ptr], returns: FFIType.u32 },
|
|
232
|
+
ILIsEqual: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
233
|
+
ILIsParent: { args: [FFIType.ptr, FFIType.ptr, FFIType.i32], returns: FFIType.i32 },
|
|
234
|
+
ILLoadFromStreamEx: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
235
|
+
ILRemoveLastID: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
236
|
+
ILSaveToStream: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
237
|
+
InitNetworkAddressControl: { args: [], returns: FFIType.i32 },
|
|
238
|
+
IsUserAnAdmin: { args: [], returns: FFIType.i32 },
|
|
239
|
+
PathCleanupSpec: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
240
|
+
PathIsSlowA: { args: [FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
241
|
+
PathIsSlowW: { args: [FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
242
|
+
PathMakeUniqueName: { args: [FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
243
|
+
PathResolve: { args: [FFIType.ptr, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
244
|
+
PathYetAnotherMakeUniqueName: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
245
|
+
PickIconDlg: { args: [FFIType.u64, FFIType.ptr, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
|
|
246
|
+
ReadCabinetState: { args: [FFIType.ptr, FFIType.i32], returns: FFIType.i32 },
|
|
247
|
+
RestartDialog: { args: [FFIType.u64, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
248
|
+
RestartDialogEx: { args: [FFIType.u64, FFIType.ptr, FFIType.u32, FFIType.u32], returns: FFIType.i32 },
|
|
249
|
+
SHAddDefaultPropertiesByExt: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
250
|
+
SHAddFromPropSheetExtArray: { args: [FFIType.u64, FFIType.ptr, FFIType.i64], returns: FFIType.u32 },
|
|
251
|
+
SHAddToRecentDocs: { args: [FFIType.u32, FFIType.ptr], returns: FFIType.void },
|
|
252
|
+
SHAlloc: { args: [FFIType.u64], returns: FFIType.ptr },
|
|
253
|
+
SHAppBarMessage: { args: [FFIType.u32, FFIType.ptr], returns: FFIType.u64 },
|
|
254
|
+
SHAssocEnumHandlers: { args: [FFIType.ptr, FFIType.i32, FFIType.ptr], returns: FFIType.i32 },
|
|
255
|
+
SHAssocEnumHandlersForProtocolByApplication: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
256
|
+
SHBindToFolderIDListParent: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
257
|
+
SHBindToFolderIDListParentEx: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
258
|
+
SHBindToObject: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
259
|
+
SHBindToParent: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
260
|
+
SHBrowseForFolder: { args: [FFIType.ptr], returns: FFIType.ptr },
|
|
261
|
+
SHBrowseForFolderA: { args: [FFIType.ptr], returns: FFIType.ptr },
|
|
262
|
+
SHBrowseForFolderW: { args: [FFIType.ptr], returns: FFIType.ptr },
|
|
263
|
+
SHChangeNotification_Lock: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.u64 },
|
|
264
|
+
SHChangeNotification_Unlock: { args: [FFIType.u64], returns: FFIType.i32 },
|
|
265
|
+
SHChangeNotify: { args: [FFIType.i32, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.void },
|
|
266
|
+
SHChangeNotifyDeregister: { args: [FFIType.u32], returns: FFIType.i32 },
|
|
267
|
+
SHChangeNotifyRegister: { args: [FFIType.u64, FFIType.i32, FFIType.i32, FFIType.u32, FFIType.i32, FFIType.ptr], returns: FFIType.u32 },
|
|
268
|
+
SHCreateAssociationRegistration: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
269
|
+
SHCreateDataObject: { args: [FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
270
|
+
SHCreateDefaultContextMenu: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
271
|
+
SHCreateDefaultExtractIcon: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
272
|
+
SHCreateDefaultPropertiesOp: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
273
|
+
SHCreateDirectory: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
|
|
274
|
+
SHCreateDirectoryExA: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
275
|
+
SHCreateDirectoryExW: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
276
|
+
SHCreateFileExtractIconW: { args: [FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
277
|
+
SHCreateItemFromIDList: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
278
|
+
SHCreateItemFromParsingName: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
279
|
+
SHCreateItemFromRelativeName: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
280
|
+
SHCreateItemInKnownFolder: { args: [FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
281
|
+
SHCreateItemWithParent: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
282
|
+
SHCreateProcessAsUserW: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
283
|
+
SHCreatePropSheetExtArray: { args: [FFIType.u64, FFIType.ptr, FFIType.u32], returns: FFIType.u64 },
|
|
284
|
+
SHCreateQueryCancelAutoPlayMoniker: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
285
|
+
SHCreateShellFolderView: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
286
|
+
SHCreateShellFolderViewEx: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
287
|
+
SHCreateShellItem: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
288
|
+
SHCreateShellItemArray: { args: [FFIType.ptr, FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
289
|
+
SHCreateShellItemArrayFromDataObject: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
290
|
+
SHCreateShellItemArrayFromIDLists: { args: [FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
291
|
+
SHCreateShellItemArrayFromShellItem: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
292
|
+
SHCreateStdEnumFmtEtc: { args: [FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
293
|
+
SHDefExtractIconA: { args: [FFIType.ptr, FFIType.i32, FFIType.u32, FFIType.ptr, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
294
|
+
SHDefExtractIconW: { args: [FFIType.ptr, FFIType.i32, FFIType.u32, FFIType.ptr, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
295
|
+
SHDestroyPropSheetExtArray: { args: [FFIType.u64], returns: FFIType.void },
|
|
296
|
+
SHDoDragDrop: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
|
|
297
|
+
SHEmptyRecycleBinA: { args: [FFIType.u64, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
298
|
+
SHEmptyRecycleBinW: { args: [FFIType.u64, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
299
|
+
SHEnumerateUnreadMailAccountsW: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.i32], returns: FFIType.i32 },
|
|
300
|
+
SHEvaluateSystemCommandTemplate: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
301
|
+
SHExtractIconsW: { args: [FFIType.ptr, FFIType.i32, FFIType.i32, FFIType.i32, FFIType.ptr, FFIType.ptr, FFIType.u32, FFIType.u32], returns: FFIType.u32 },
|
|
302
|
+
SHFileOperation: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
303
|
+
SHFileOperationA: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
304
|
+
SHFileOperationW: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
305
|
+
SHFormatDrive: { args: [FFIType.u64, FFIType.u32, FFIType.u32, FFIType.u32], returns: FFIType.u32 },
|
|
306
|
+
SHFree: { args: [FFIType.ptr], returns: FFIType.void },
|
|
307
|
+
SHFreeNameMappings: { args: [FFIType.u64], returns: FFIType.void },
|
|
308
|
+
SHGetAttributesFromDataObject: { args: [FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
309
|
+
SHGetDataFromIDListA: { args: [FFIType.ptr, FFIType.ptr, FFIType.i32, FFIType.ptr, FFIType.i32], returns: FFIType.i32 },
|
|
310
|
+
SHGetDataFromIDListW: { args: [FFIType.ptr, FFIType.ptr, FFIType.i32, FFIType.ptr, FFIType.i32], returns: FFIType.i32 },
|
|
311
|
+
SHGetDesktopFolder: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
312
|
+
SHGetDiskFreeSpaceA: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
313
|
+
SHGetDiskFreeSpaceExA: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
314
|
+
SHGetDiskFreeSpaceExW: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
315
|
+
SHGetDriveMedia: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
316
|
+
SHGetFileInfo: { args: [FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.u32, FFIType.u32], returns: FFIType.u64 },
|
|
317
|
+
SHGetFileInfoA: { args: [FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.u32, FFIType.u32], returns: FFIType.u64 },
|
|
318
|
+
SHGetFileInfoW: { args: [FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.u32, FFIType.u32], returns: FFIType.u64 },
|
|
319
|
+
SHGetFolderLocation: { args: [FFIType.u64, FFIType.i32, FFIType.u64, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
|
|
320
|
+
SHGetFolderPathA: { args: [FFIType.u64, FFIType.i32, FFIType.u64, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
|
|
321
|
+
SHGetFolderPathAndSubDirA: { args: [FFIType.u64, FFIType.i32, FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
322
|
+
SHGetFolderPathAndSubDirW: { args: [FFIType.u64, FFIType.i32, FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
323
|
+
SHGetFolderPathEx: { args: [FFIType.ptr, FFIType.u32, FFIType.u64, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
324
|
+
SHGetFolderPathW: { args: [FFIType.u64, FFIType.i32, FFIType.u64, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
|
|
325
|
+
SHGetIDListFromObject: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
326
|
+
SHGetIconOverlayIndexA: { args: [FFIType.ptr, FFIType.i32], returns: FFIType.i32 },
|
|
327
|
+
SHGetIconOverlayIndexW: { args: [FFIType.ptr, FFIType.i32], returns: FFIType.i32 },
|
|
328
|
+
SHGetImageList: { args: [FFIType.i32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
329
|
+
SHGetInstanceExplorer: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
330
|
+
SHGetItemFromDataObject: { args: [FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
331
|
+
SHGetItemFromObject: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
332
|
+
SHGetKnownFolderIDList: { args: [FFIType.ptr, FFIType.u32, FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
|
|
333
|
+
SHGetKnownFolderItem: { args: [FFIType.ptr, FFIType.u32, FFIType.u64, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
334
|
+
SHGetKnownFolderPath: { args: [FFIType.ptr, FFIType.u32, FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
|
|
335
|
+
SHGetLocalizedName: { args: [FFIType.ptr, FFIType.ptr, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
|
|
336
|
+
SHGetMalloc: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
337
|
+
SHGetNameFromIDList: { args: [FFIType.ptr, FFIType.i32, FFIType.ptr], returns: FFIType.i32 },
|
|
338
|
+
SHGetNewLinkInfo: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
339
|
+
SHGetNewLinkInfoA: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
340
|
+
SHGetNewLinkInfoW: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
341
|
+
SHGetPathFromIDList: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
342
|
+
SHGetPathFromIDListA: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
343
|
+
SHGetPathFromIDListEx: { args: [FFIType.ptr, FFIType.ptr, FFIType.u32, FFIType.u32], returns: FFIType.i32 },
|
|
344
|
+
SHGetPathFromIDListW: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
345
|
+
SHGetPropertyStoreForWindow: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
346
|
+
SHGetPropertyStoreFromIDList: { args: [FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
347
|
+
SHGetPropertyStoreFromParsingName: { args: [FFIType.ptr, FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
348
|
+
SHGetRealIDL: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
349
|
+
SHGetSetFolderCustomSettings: { args: [FFIType.ptr, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
350
|
+
SHGetSetSettings: { args: [FFIType.ptr, FFIType.u32, FFIType.i32], returns: FFIType.void },
|
|
351
|
+
SHGetSettings: { args: [FFIType.ptr, FFIType.u32], returns: FFIType.void },
|
|
352
|
+
SHGetSpecialFolderLocation: { args: [FFIType.u64, FFIType.i32, FFIType.ptr], returns: FFIType.i32 },
|
|
353
|
+
SHGetSpecialFolderPathA: { args: [FFIType.u64, FFIType.ptr, FFIType.i32, FFIType.i32], returns: FFIType.i32 },
|
|
354
|
+
SHGetSpecialFolderPathW: { args: [FFIType.u64, FFIType.ptr, FFIType.i32, FFIType.i32], returns: FFIType.i32 },
|
|
355
|
+
SHGetStockIconInfo: { args: [FFIType.u32, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
|
|
356
|
+
SHGetTemporaryPropertyForItem: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
357
|
+
SHGetUnreadMailCountW: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.i32], returns: FFIType.i32 },
|
|
358
|
+
SHHandleUpdateImage: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
359
|
+
SHILCreateFromPath: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
360
|
+
SHInvokePrinterCommandA: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr, FFIType.i32], returns: FFIType.i32 },
|
|
361
|
+
SHInvokePrinterCommandW: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr, FFIType.i32], returns: FFIType.i32 },
|
|
362
|
+
SHIsFileAvailableOffline: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
363
|
+
SHLimitInputEdit: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
|
|
364
|
+
SHLoadInProc: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
365
|
+
SHLoadNonloadedIconOverlayIdentifiers: { args: [], returns: FFIType.i32 },
|
|
366
|
+
SHMapPIDLToSystemImageListIndex: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
367
|
+
SHMultiFileProperties: { args: [FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
368
|
+
SHObjectProperties: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
369
|
+
SHOpenFolderAndSelectItems: { args: [FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
370
|
+
SHOpenPropSheetW: { args: [FFIType.ptr, FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
371
|
+
SHOpenWithDialog: { args: [FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
|
|
372
|
+
SHParseDisplayName: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
|
|
373
|
+
SHPathPrepareForWriteA: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
374
|
+
SHPathPrepareForWriteW: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
375
|
+
SHPropStgCreate: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.u32, FFIType.u32, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
376
|
+
SHPropStgReadMultiple: { args: [FFIType.ptr, FFIType.u32, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
377
|
+
SHPropStgWriteMultiple: { args: [FFIType.ptr, FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
378
|
+
SHQueryRecycleBinA: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
379
|
+
SHQueryRecycleBinW: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
380
|
+
SHQueryUserNotificationState: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
381
|
+
SHRemoveLocalizedName: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
382
|
+
SHReplaceFromPropSheetExtArray: { args: [FFIType.u64, FFIType.u32, FFIType.ptr, FFIType.i64], returns: FFIType.u32 },
|
|
383
|
+
SHResolveLibrary: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
384
|
+
SHRestricted: { args: [FFIType.u32], returns: FFIType.u32 },
|
|
385
|
+
SHSetDefaultProperties: { args: [FFIType.u64, FFIType.ptr, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
|
|
386
|
+
SHSetFolderPathA: { args: [FFIType.i32, FFIType.u64, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
|
|
387
|
+
SHSetFolderPathW: { args: [FFIType.i32, FFIType.u64, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
|
|
388
|
+
SHSetInstanceExplorer: { args: [FFIType.ptr], returns: FFIType.void },
|
|
389
|
+
SHSetKnownFolderPath: { args: [FFIType.ptr, FFIType.u32, FFIType.u64, FFIType.ptr], returns: FFIType.i32 },
|
|
390
|
+
SHSetLocalizedName: { args: [FFIType.ptr, FFIType.ptr, FFIType.i32], returns: FFIType.i32 },
|
|
391
|
+
SHSetTemporaryPropertyForItem: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
392
|
+
SHSetUnreadMailCountW: { args: [FFIType.ptr, FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
|
|
393
|
+
SHShellFolderView_Message: { args: [FFIType.u64, FFIType.u32, FFIType.i64], returns: FFIType.i64 },
|
|
394
|
+
SHShowManageLibraryUI: { args: [FFIType.ptr, FFIType.u64, FFIType.ptr, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
395
|
+
SHSimpleIDListFromPath: { args: [FFIType.ptr], returns: FFIType.ptr },
|
|
396
|
+
SHStartNetConnectionDialogW: { args: [FFIType.u64, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
397
|
+
SHTestTokenMembership: { args: [FFIType.u64, FFIType.u32], returns: FFIType.i32 },
|
|
398
|
+
SHUpdateImageA: { args: [FFIType.ptr, FFIType.i32, FFIType.u32, FFIType.i32], returns: FFIType.void },
|
|
399
|
+
SHUpdateImageW: { args: [FFIType.ptr, FFIType.i32, FFIType.u32, FFIType.i32], returns: FFIType.void },
|
|
400
|
+
SHUpdateRecycleBinIcon: { args: [], returns: FFIType.void },
|
|
401
|
+
SHValidateUNC: { args: [FFIType.u64, FFIType.ptr, FFIType.u32], returns: FFIType.i32 },
|
|
402
|
+
SetCurrentProcessExplicitAppUserModelID: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
403
|
+
ShellAboutA: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr, FFIType.u64], returns: FFIType.i64 },
|
|
404
|
+
ShellAboutW: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr, FFIType.u64], returns: FFIType.i64 },
|
|
405
|
+
ShellExecuteA: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.i32], returns: FFIType.u64 },
|
|
406
|
+
ShellExecuteEx: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
407
|
+
ShellExecuteExA: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
408
|
+
ShellExecuteExW: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
409
|
+
ShellExecuteW: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.i32], returns: FFIType.u64 },
|
|
410
|
+
Shell_GetImageLists: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
411
|
+
Shell_MergeMenus: { args: [FFIType.u64, FFIType.u64, FFIType.u32, FFIType.u32, FFIType.u32, FFIType.u32], returns: FFIType.u32 },
|
|
412
|
+
Shell_NotifyIcon: { args: [FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
|
|
413
|
+
Shell_NotifyIconA: { args: [FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
|
|
414
|
+
Shell_NotifyIconGetRect: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
415
|
+
Shell_NotifyIconW: { args: [FFIType.u32, FFIType.ptr], returns: FFIType.i32 },
|
|
416
|
+
SignalFileOpen: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
417
|
+
StgMakeUniqueName: { args: [FFIType.ptr, FFIType.ptr, FFIType.u32, FFIType.ptr, FFIType.ptr], returns: FFIType.i32 },
|
|
418
|
+
StrChrA: { args: [FFIType.ptr, FFIType.u16], returns: FFIType.ptr },
|
|
419
|
+
StrChrIA: { args: [FFIType.ptr, FFIType.u16], returns: FFIType.ptr },
|
|
420
|
+
StrChrIW: { args: [FFIType.ptr, FFIType.u16], returns: FFIType.ptr },
|
|
421
|
+
StrChrW: { args: [FFIType.ptr, FFIType.u16], returns: FFIType.ptr },
|
|
422
|
+
StrCmpNA: { args: [FFIType.ptr, FFIType.ptr, FFIType.i32], returns: FFIType.i32 },
|
|
423
|
+
StrCmpNIA: { args: [FFIType.ptr, FFIType.ptr, FFIType.i32], returns: FFIType.i32 },
|
|
424
|
+
StrCmpNIW: { args: [FFIType.ptr, FFIType.ptr, FFIType.i32], returns: FFIType.i32 },
|
|
425
|
+
StrCmpNW: { args: [FFIType.ptr, FFIType.ptr, FFIType.i32], returns: FFIType.i32 },
|
|
426
|
+
StrRChrA: { args: [FFIType.ptr, FFIType.ptr, FFIType.u16], returns: FFIType.ptr },
|
|
427
|
+
StrRChrIA: { args: [FFIType.ptr, FFIType.ptr, FFIType.u16], returns: FFIType.ptr },
|
|
428
|
+
StrRChrIW: { args: [FFIType.ptr, FFIType.ptr, FFIType.u16], returns: FFIType.ptr },
|
|
429
|
+
StrRChrW: { args: [FFIType.ptr, FFIType.ptr, FFIType.u16], returns: FFIType.ptr },
|
|
430
|
+
StrRStrIA: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.ptr },
|
|
431
|
+
StrRStrIW: { args: [FFIType.ptr, FFIType.ptr, FFIType.ptr], returns: FFIType.ptr },
|
|
432
|
+
StrStrA: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.ptr },
|
|
433
|
+
StrStrIA: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.ptr },
|
|
434
|
+
StrStrIW: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.ptr },
|
|
435
|
+
StrStrW: { args: [FFIType.ptr, FFIType.ptr], returns: FFIType.ptr },
|
|
436
|
+
WOWShellExecute: { args: [FFIType.u64, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.ptr, FFIType.i32, FFIType.ptr], returns: FFIType.u64 },
|
|
437
|
+
Win32DeleteFile: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
438
|
+
WriteCabinetState: { args: [FFIType.ptr], returns: FFIType.i32 },
|
|
439
|
+
} as const satisfies Record<string, FFIFunction>;
|
|
440
|
+
|
|
441
|
+
// ---------------------------------------------------------------------------
|
|
442
|
+
// Public methods — alphabetized, one per symbol
|
|
443
|
+
//
|
|
444
|
+
// Each method:
|
|
445
|
+
// 1. Has a Microsoft Docs link as a comment above it.
|
|
446
|
+
// 2. Uses Win32 parameter names as-is (hWnd, lpBuffer, dwSize, etc.).
|
|
447
|
+
// 3. Delegates to Load() which lazy-binds on first call.
|
|
448
|
+
// 4. Is typed with aliases from ../types/Shell32.ts.
|
|
449
|
+
// ---------------------------------------------------------------------------
|
|
450
|
+
|
|
451
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-assoccreateforclasses
|
|
452
|
+
public static AssocCreateForClasses(rgClasses: LPVOID, cClasses: ULONG, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
453
|
+
return Shell32.Load('AssocCreateForClasses')(rgClasses, cClasses, riid, ppv);
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-assocgetdetailsofpropkey
|
|
457
|
+
public static AssocGetDetailsOfPropKey(psf: LPVOID, pidl: PCUITEMID_CHILD, pkey: LPVOID, pv: LPVOID, pfFoundPropKey: LPVOID): HRESULT {
|
|
458
|
+
return Shell32.Load('AssocGetDetailsOfPropKey')(psf, pidl, pkey, pv, pfFoundPropKey);
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-cdeffoldeMenu_create2
|
|
462
|
+
public static CDefFolderMenu_Create2(pidlFolder: PCIDLIST_ABSOLUTE | NULL, hwnd: HWND | 0n, cidl: UINT, apidl: PCUITEMID_CHILD_ARRAY, psf: LPVOID | NULL, pfn: LPFNDFMCALLBACK | NULL, nKeys: UINT, ahkeys: LPVOID | NULL, ppcm: LPVOID): HRESULT {
|
|
463
|
+
return Shell32.Load('CDefFolderMenu_Create2')(pidlFolder, hwnd, cidl, apidl, psf, pfn, nKeys, ahkeys, ppcm);
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj/nf-shlobj-cidldata_createfromidarray
|
|
467
|
+
public static CIDLData_CreateFromIDArray(pidlFolder: PCIDLIST_ABSOLUTE, cidl: UINT, apidl: PCUIDLIST_RELATIVE_ARRAY, ppdtobj: LPVOID): HRESULT {
|
|
468
|
+
return Shell32.Load('CIDLData_CreateFromIDArray')(pidlFolder, cidl, apidl, ppdtobj);
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-commandlinetoargvw
|
|
472
|
+
public static CommandLineToArgvW(lpCmdLine: LPCWSTR, pNumArgs: LPVOID): LPWSTR {
|
|
473
|
+
return Shell32.Load('CommandLineToArgvW')(lpCmdLine, pNumArgs);
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-dad_autoscroll
|
|
477
|
+
public static DAD_AutoScroll(hwnd: HWND, pad: LPAUTO_SCROLL_DATA, pptNow: LPPOINT): BOOL {
|
|
478
|
+
return Shell32.Load('DAD_AutoScroll')(hwnd, pad, pptNow);
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-dad_dragenterex
|
|
482
|
+
public static DAD_DragEnterEx(hwndTarget: HWND, ptStart: PACKED_POINT): BOOL {
|
|
483
|
+
return Shell32.Load('DAD_DragEnterEx')(hwndTarget, ptStart);
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-dad_dragenterex2
|
|
487
|
+
public static DAD_DragEnterEx2(hwndTarget: HWND, ptStart: PACKED_POINT, pdtObject: LPVOID | NULL): BOOL {
|
|
488
|
+
return Shell32.Load('DAD_DragEnterEx2')(hwndTarget, ptStart, pdtObject);
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-dad_dragleave
|
|
492
|
+
public static DAD_DragLeave(): BOOL {
|
|
493
|
+
return Shell32.Load('DAD_DragLeave')();
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-dad_dragmove
|
|
497
|
+
public static DAD_DragMove(pt: PACKED_POINT): BOOL {
|
|
498
|
+
return Shell32.Load('DAD_DragMove')(pt);
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-dad_setdragimage
|
|
502
|
+
public static DAD_SetDragImage(him: HIMAGELIST, pptOffset: LPPOINT | NULL): BOOL {
|
|
503
|
+
return Shell32.Load('DAD_SetDragImage')(him, pptOffset);
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-dad_showdragimage
|
|
507
|
+
public static DAD_ShowDragImage(fShow: BOOL): BOOL {
|
|
508
|
+
return Shell32.Load('DAD_ShowDragImage')(fShow);
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-dllgetversion
|
|
512
|
+
public static DllGetVersion(pdvi: PDLLVERSIONINFO): HRESULT {
|
|
513
|
+
return Shell32.Load('DllGetVersion')(pdvi);
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-doenvironmentsubsta
|
|
517
|
+
public static DoEnvironmentSubstA(pszSrc: LPSTR, cchSrc: UINT): DWORD {
|
|
518
|
+
return Shell32.Load('DoEnvironmentSubstA')(pszSrc, cchSrc);
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-doenvironmentsubstw
|
|
522
|
+
public static DoEnvironmentSubstW(pszSrc: LPWSTR, cchSrc: UINT): DWORD {
|
|
523
|
+
return Shell32.Load('DoEnvironmentSubstW')(pszSrc, cchSrc);
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-dragacceptfiles
|
|
527
|
+
public static DragAcceptFiles(hWnd: HWND, fAccept: BOOL): void {
|
|
528
|
+
return Shell32.Load('DragAcceptFiles')(hWnd, fAccept);
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-dragfinish
|
|
532
|
+
public static DragFinish(hDrop: HDROP): void {
|
|
533
|
+
return Shell32.Load('DragFinish')(hDrop);
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-dragqueryfilea
|
|
537
|
+
public static DragQueryFile(hDrop: HDROP, iFile: UINT, lpszFile: LPSTR | NULL, cch: UINT): UINT {
|
|
538
|
+
return Shell32.Load('DragQueryFile')(hDrop, iFile, lpszFile, cch);
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-dragqueryfilea
|
|
542
|
+
public static DragQueryFileA(hDrop: HDROP, iFile: UINT, lpszFile: LPSTR | NULL, cch: UINT): UINT {
|
|
543
|
+
return Shell32.Load('DragQueryFileA')(hDrop, iFile, lpszFile, cch);
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-dragqueryfilew
|
|
547
|
+
public static DragQueryFileW(hDrop: HDROP, iFile: UINT, lpszFile: LPWSTR | NULL, cch: UINT): UINT {
|
|
548
|
+
return Shell32.Load('DragQueryFileW')(hDrop, iFile, lpszFile, cch);
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-dragquerypoint
|
|
552
|
+
public static DragQueryPoint(hDrop: HDROP, lppt: LPPOINT): BOOL {
|
|
553
|
+
return Shell32.Load('DragQueryPoint')(hDrop, lppt);
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-duplicateicon
|
|
557
|
+
public static DuplicateIcon(hInst: HINSTANCE | 0n, hIcon: HICON): HICON {
|
|
558
|
+
return Shell32.Load('DuplicateIcon')(hInst, hIcon);
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-extractassociatedicona
|
|
562
|
+
public static ExtractAssociatedIconA(hInst: HINSTANCE, pszIconPath: LPSTR, piIcon: LPWORD): HICON {
|
|
563
|
+
return Shell32.Load('ExtractAssociatedIconA')(hInst, pszIconPath, piIcon);
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-extractassociatediconexa
|
|
567
|
+
public static ExtractAssociatedIconExA(hInst: HINSTANCE, pszIconPath: LPSTR, piIconIndex: LPWORD, piIconId: LPWORD): HICON {
|
|
568
|
+
return Shell32.Load('ExtractAssociatedIconExA')(hInst, pszIconPath, piIconIndex, piIconId);
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-extractassociatediconexw
|
|
572
|
+
public static ExtractAssociatedIconExW(hInst: HINSTANCE, pszIconPath: LPWSTR, piIconIndex: LPWORD, piIconId: LPWORD): HICON {
|
|
573
|
+
return Shell32.Load('ExtractAssociatedIconExW')(hInst, pszIconPath, piIconIndex, piIconId);
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-extractassociatediconw
|
|
577
|
+
public static ExtractAssociatedIconW(hInst: HINSTANCE, pszIconPath: LPWSTR, piIcon: LPWORD): HICON {
|
|
578
|
+
return Shell32.Load('ExtractAssociatedIconW')(hInst, pszIconPath, piIcon);
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-extracticona
|
|
582
|
+
public static ExtractIconA(hInst: HINSTANCE, pszExeFileName: LPCSTR, nIconIndex: UINT): HICON {
|
|
583
|
+
return Shell32.Load('ExtractIconA')(hInst, pszExeFileName, nIconIndex);
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-extracticonexa
|
|
587
|
+
public static ExtractIconEx(lpszFile: LPCSTR, nIconIndex: INT, phiconLarge: LPVOID | NULL, phiconSmall: LPVOID | NULL, nIcons: UINT): UINT {
|
|
588
|
+
return Shell32.Load('ExtractIconEx')(lpszFile, nIconIndex, phiconLarge, phiconSmall, nIcons);
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-extracticonexa
|
|
592
|
+
public static ExtractIconExA(lpszFile: LPCSTR, nIconIndex: INT, phiconLarge: LPVOID | NULL, phiconSmall: LPVOID | NULL, nIcons: UINT): UINT {
|
|
593
|
+
return Shell32.Load('ExtractIconExA')(lpszFile, nIconIndex, phiconLarge, phiconSmall, nIcons);
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-extracticonexw
|
|
597
|
+
public static ExtractIconExW(lpszFile: LPCWSTR, nIconIndex: INT, phiconLarge: LPVOID | NULL, phiconSmall: LPVOID | NULL, nIcons: UINT): UINT {
|
|
598
|
+
return Shell32.Load('ExtractIconExW')(lpszFile, nIconIndex, phiconLarge, phiconSmall, nIcons);
|
|
599
|
+
}
|
|
600
|
+
|
|
601
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-extracticonw
|
|
602
|
+
public static ExtractIconW(hInst: HINSTANCE, pszExeFileName: LPCWSTR, nIconIndex: UINT): HICON {
|
|
603
|
+
return Shell32.Load('ExtractIconW')(hInst, pszExeFileName, nIconIndex);
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-findexecutablea
|
|
607
|
+
public static FindExecutableA(lpFile: LPCSTR, lpDirectory: LPCSTR | NULL, lpResult: LPSTR): HINSTANCE {
|
|
608
|
+
return Shell32.Load('FindExecutableA')(lpFile, lpDirectory, lpResult);
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-findexecutablew
|
|
612
|
+
public static FindExecutableW(lpFile: LPCWSTR, lpDirectory: LPCWSTR | NULL, lpResult: LPWSTR): HINSTANCE {
|
|
613
|
+
return Shell32.Load('FindExecutableW')(lpFile, lpDirectory, lpResult);
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-getcurrentprocessexplicitappusermodelid
|
|
617
|
+
public static GetCurrentProcessExplicitAppUserModelID(AppID: LPVOID): HRESULT {
|
|
618
|
+
return Shell32.Load('GetCurrentProcessExplicitAppUserModelID')(AppID);
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-ilappendid
|
|
622
|
+
public static ILAppendID(pidl: PIDLIST_RELATIVE | NULL, pmkid: LPCSHITEMID, fAppend: BOOL): PIDLIST_RELATIVE {
|
|
623
|
+
return Shell32.Load('ILAppendID')(pidl, pmkid, fAppend);
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-ilclone
|
|
627
|
+
public static ILClone(pidl: PCIDLIST_ABSOLUTE): PIDLIST_ABSOLUTE {
|
|
628
|
+
return Shell32.Load('ILClone')(pidl);
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-ilclonefirst
|
|
632
|
+
public static ILCloneFirst(pidl: PCIDLIST_ABSOLUTE): PUITEMID_CHILD {
|
|
633
|
+
return Shell32.Load('ILCloneFirst')(pidl);
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-ilcombine
|
|
637
|
+
public static ILCombine(pidl1: PCIDLIST_ABSOLUTE, pidl2: PCUIDLIST_RELATIVE): PIDLIST_ABSOLUTE {
|
|
638
|
+
return Shell32.Load('ILCombine')(pidl1, pidl2);
|
|
639
|
+
}
|
|
640
|
+
|
|
641
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-ilcreatefrompath
|
|
642
|
+
public static ILCreateFromPath(pszPath: LPCWSTR): PIDLIST_ABSOLUTE {
|
|
643
|
+
return Shell32.Load('ILCreateFromPath')(pszPath);
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-ilcreatefrompatha
|
|
647
|
+
public static ILCreateFromPathA(pszPath: LPCSTR): PIDLIST_ABSOLUTE {
|
|
648
|
+
return Shell32.Load('ILCreateFromPathA')(pszPath);
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-ilcreatefrompathw
|
|
652
|
+
public static ILCreateFromPathW(pszPath: LPCWSTR): PIDLIST_ABSOLUTE {
|
|
653
|
+
return Shell32.Load('ILCreateFromPathW')(pszPath);
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-ilfindchild
|
|
657
|
+
public static ILFindChild(pidlParent: PCIDLIST_ABSOLUTE, pidlChild: PCIDLIST_ABSOLUTE): PUIDLIST_RELATIVE {
|
|
658
|
+
return Shell32.Load('ILFindChild')(pidlParent, pidlChild);
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-ilfindlastid
|
|
662
|
+
public static ILFindLastID(pidl: PCIDLIST_ABSOLUTE): PUITEMID_CHILD {
|
|
663
|
+
return Shell32.Load('ILFindLastID')(pidl);
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-ilfree
|
|
667
|
+
public static ILFree(pidl: PIDLIST_RELATIVE | NULL): void {
|
|
668
|
+
return Shell32.Load('ILFree')(pidl);
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-ilgetnext
|
|
672
|
+
public static ILGetNext(pidl: PCUIDLIST_RELATIVE): PUIDLIST_RELATIVE {
|
|
673
|
+
return Shell32.Load('ILGetNext')(pidl);
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-ilgetsize
|
|
677
|
+
public static ILGetSize(pidl: PCIDLIST_ABSOLUTE): UINT {
|
|
678
|
+
return Shell32.Load('ILGetSize')(pidl);
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-ilisequal
|
|
682
|
+
public static ILIsEqual(pidl1: PCIDLIST_ABSOLUTE, pidl2: PCIDLIST_ABSOLUTE): BOOL {
|
|
683
|
+
return Shell32.Load('ILIsEqual')(pidl1, pidl2);
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-ilisparent
|
|
687
|
+
public static ILIsParent(pidl1: PCIDLIST_ABSOLUTE, pidl2: PCIDLIST_ABSOLUTE, fImmediate: BOOL): BOOL {
|
|
688
|
+
return Shell32.Load('ILIsParent')(pidl1, pidl2, fImmediate);
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-illoadfromstreamex
|
|
692
|
+
public static ILLoadFromStreamEx(pstm: LPVOID, ppidl: LPVOID): HRESULT {
|
|
693
|
+
return Shell32.Load('ILLoadFromStreamEx')(pstm, ppidl);
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-ilremovelastid
|
|
697
|
+
public static ILRemoveLastID(pidl: PUIDLIST_RELATIVE): BOOL {
|
|
698
|
+
return Shell32.Load('ILRemoveLastID')(pidl);
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-ilsavetostream
|
|
702
|
+
public static ILSaveToStream(pstm: LPVOID, pidl: PCIDLIST_ABSOLUTE): HRESULT {
|
|
703
|
+
return Shell32.Load('ILSaveToStream')(pstm, pidl);
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-initnetworkaddresscontrol
|
|
707
|
+
public static InitNetworkAddressControl(): BOOL {
|
|
708
|
+
return Shell32.Load('InitNetworkAddressControl')();
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-isuseranadmin
|
|
712
|
+
public static IsUserAnAdmin(): BOOL {
|
|
713
|
+
return Shell32.Load('IsUserAnAdmin')();
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-pathcleanupspec
|
|
717
|
+
public static PathCleanupSpec(pszDir: LPCWSTR | NULL, pszSpec: LPWSTR): INT {
|
|
718
|
+
return Shell32.Load('PathCleanupSpec')(pszDir, pszSpec);
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-pathisslowa
|
|
722
|
+
public static PathIsSlowA(pszFile: LPCSTR, dwAttr: DWORD): BOOL {
|
|
723
|
+
return Shell32.Load('PathIsSlowA')(pszFile, dwAttr);
|
|
724
|
+
}
|
|
725
|
+
|
|
726
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-pathissloww
|
|
727
|
+
public static PathIsSlowW(pszFile: LPCWSTR, dwAttr: DWORD): BOOL {
|
|
728
|
+
return Shell32.Load('PathIsSlowW')(pszFile, dwAttr);
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-pathmakeuniquename
|
|
732
|
+
public static PathMakeUniqueName(pszUniqueName: LPWSTR, cchMax: UINT, pszTemplate: LPCWSTR | NULL, pszLongPlate: LPCWSTR | NULL, pszDir: LPCWSTR): BOOL {
|
|
733
|
+
return Shell32.Load('PathMakeUniqueName')(pszUniqueName, cchMax, pszTemplate, pszLongPlate, pszDir);
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-pathresolve
|
|
737
|
+
public static PathResolve(pszPath: LPWSTR, dirs: LPVOID | NULL, fFlags: UINT): INT {
|
|
738
|
+
return Shell32.Load('PathResolve')(pszPath, dirs, fFlags);
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-pathyetanothermakeuniquename
|
|
742
|
+
public static PathYetAnotherMakeUniqueName(pszUniqueName: LPWSTR, pszPath: LPCWSTR, pszShort: LPCWSTR | NULL, pszFileSpec: LPCWSTR | NULL): BOOL {
|
|
743
|
+
return Shell32.Load('PathYetAnotherMakeUniqueName')(pszUniqueName, pszPath, pszShort, pszFileSpec);
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-pickicondlg
|
|
747
|
+
public static PickIconDlg(hwnd: HWND | 0n, pszIconPath: LPWSTR, cchIconPath: UINT, piIconIndex: LPVOID): INT {
|
|
748
|
+
return Shell32.Load('PickIconDlg')(hwnd, pszIconPath, cchIconPath, piIconIndex);
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-readcabinetstate
|
|
752
|
+
public static ReadCabinetState(pcs: PCABINETSTATE, cLength: INT): BOOL {
|
|
753
|
+
return Shell32.Load('ReadCabinetState')(pcs, cLength);
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-restartdialog
|
|
757
|
+
public static RestartDialog(hwnd: HWND | 0n, pszPrompt: LPCWSTR | NULL, dwReturn: DWORD): INT {
|
|
758
|
+
return Shell32.Load('RestartDialog')(hwnd, pszPrompt, dwReturn);
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-restartdialogex
|
|
762
|
+
public static RestartDialogEx(hwnd: HWND | 0n, pszPrompt: LPCWSTR | NULL, dwReturn: DWORD, dwReasonCode: DWORD): INT {
|
|
763
|
+
return Shell32.Load('RestartDialogEx')(hwnd, pszPrompt, dwReturn, dwReasonCode);
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl/nf-shobjidl-shadddefaultpropertiesbyext
|
|
767
|
+
public static SHAddDefaultPropertiesByExt(pszExt: LPCWSTR, pPropStore: LPVOID): HRESULT {
|
|
768
|
+
return Shell32.Load('SHAddDefaultPropertiesByExt')(pszExt, pPropStore);
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj/nf-shlobj-shaddfromPropSheetextarray
|
|
772
|
+
public static SHAddFromPropSheetExtArray(hpsxa: HPSXA, lpfnAddPage: LPFNADDPROPSHEETPAGE, lParam: LPARAM): UINT {
|
|
773
|
+
return Shell32.Load('SHAddFromPropSheetExtArray')(hpsxa, lpfnAddPage, lParam);
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shaddtorecentdocs
|
|
777
|
+
public static SHAddToRecentDocs(uFlags: UINT, pv: LPCVOID | NULL): void {
|
|
778
|
+
return Shell32.Load('SHAddToRecentDocs')(uFlags, pv);
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shalloc
|
|
782
|
+
public static SHAlloc(cb: SIZE_T): LPVOID {
|
|
783
|
+
return Shell32.Load('SHAlloc')(cb);
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shappbarmessage
|
|
787
|
+
public static SHAppBarMessage(dwMessage: DWORD, pData: PAPPBARDATA): UINT_PTR {
|
|
788
|
+
return Shell32.Load('SHAppBarMessage')(dwMessage, pData);
|
|
789
|
+
}
|
|
790
|
+
|
|
791
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shassocenumhandlers
|
|
792
|
+
public static SHAssocEnumHandlers(pszExtra: LPCWSTR, afFilter: ASSOC_FILTER, ppEnumHandler: LPVOID): HRESULT {
|
|
793
|
+
return Shell32.Load('SHAssocEnumHandlers')(pszExtra, afFilter, ppEnumHandler);
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shassocenumhandlersforprotocolbyapplication
|
|
797
|
+
public static SHAssocEnumHandlersForProtocolByApplication(pszProtocol: LPCWSTR, riid: LPVOID, enumHandlers: LPVOID): HRESULT {
|
|
798
|
+
return Shell32.Load('SHAssocEnumHandlersForProtocolByApplication')(pszProtocol, riid, enumHandlers);
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shbindtofolderidlistparent
|
|
802
|
+
public static SHBindToFolderIDListParent(psfRoot: LPVOID | NULL, pidl: PCUIDLIST_RELATIVE, riid: LPVOID, ppv: LPVOID, ppidlLast: LPVOID | NULL): HRESULT {
|
|
803
|
+
return Shell32.Load('SHBindToFolderIDListParent')(psfRoot, pidl, riid, ppv, ppidlLast);
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shbindtofolderidlistparentex
|
|
807
|
+
public static SHBindToFolderIDListParentEx(psfRoot: LPVOID | NULL, pidl: PCUIDLIST_RELATIVE, ppbc: LPVOID | NULL, riid: LPVOID, ppv: LPVOID, ppidlLast: LPVOID | NULL): HRESULT {
|
|
808
|
+
return Shell32.Load('SHBindToFolderIDListParentEx')(psfRoot, pidl, ppbc, riid, ppv, ppidlLast);
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shbindtoobject
|
|
812
|
+
public static SHBindToObject(psf: LPVOID, pidl: PCUIDLIST_RELATIVE, pbc: LPVOID | NULL, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
813
|
+
return Shell32.Load('SHBindToObject')(psf, pidl, pbc, riid, ppv);
|
|
814
|
+
}
|
|
815
|
+
|
|
816
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shbindtoparent
|
|
817
|
+
public static SHBindToParent(pidl: PCIDLIST_ABSOLUTE, riid: LPVOID, ppv: LPVOID, ppidlLast: LPVOID | NULL): HRESULT {
|
|
818
|
+
return Shell32.Load('SHBindToParent')(pidl, riid, ppv, ppidlLast);
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shbrowseforfoldera
|
|
822
|
+
public static SHBrowseForFolder(lpbi: LPBROWSEINFOA): PIDLIST_ABSOLUTE {
|
|
823
|
+
return Shell32.Load('SHBrowseForFolder')(lpbi);
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shbrowseforfoldera
|
|
827
|
+
public static SHBrowseForFolderA(lpbi: LPBROWSEINFOA): PIDLIST_ABSOLUTE {
|
|
828
|
+
return Shell32.Load('SHBrowseForFolderA')(lpbi);
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shbrowseforfolderw
|
|
832
|
+
public static SHBrowseForFolderW(lpbi: LPBROWSEINFOW): PIDLIST_ABSOLUTE {
|
|
833
|
+
return Shell32.Load('SHBrowseForFolderW')(lpbi);
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shchangenotification_lock
|
|
837
|
+
public static SHChangeNotification_Lock(hChange: HANDLE, dwProcId: DWORD, pppidl: LPVOID, plEvent: LPVOID): HANDLE {
|
|
838
|
+
return Shell32.Load('SHChangeNotification_Lock')(hChange, dwProcId, pppidl, plEvent);
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shchangenotification_unlock
|
|
842
|
+
public static SHChangeNotification_Unlock(hLock: HANDLE): BOOL {
|
|
843
|
+
return Shell32.Load('SHChangeNotification_Unlock')(hLock);
|
|
844
|
+
}
|
|
845
|
+
|
|
846
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shchangenotify
|
|
847
|
+
public static SHChangeNotify(wEventId: LONG, uFlags: UINT, dwItem1: LPCVOID | NULL, dwItem2: LPCVOID | NULL): void {
|
|
848
|
+
return Shell32.Load('SHChangeNotify')(wEventId, uFlags, dwItem1, dwItem2);
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shchangenotifyderegister
|
|
852
|
+
public static SHChangeNotifyDeregister(ulID: ULONG): BOOL {
|
|
853
|
+
return Shell32.Load('SHChangeNotifyDeregister')(ulID);
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shchangenotifyregister
|
|
857
|
+
public static SHChangeNotifyRegister(hwnd: HWND, fSources: INT, fEvents: LONG, wMsg: UINT, cEntries: INT, pshcne: PSHCHANGENOTIFYENTRY): ULONG {
|
|
858
|
+
return Shell32.Load('SHChangeNotifyRegister')(hwnd, fSources, fEvents, wMsg, cEntries, pshcne);
|
|
859
|
+
}
|
|
860
|
+
|
|
861
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shcreateassociationregistration
|
|
862
|
+
public static SHCreateAssociationRegistration(riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
863
|
+
return Shell32.Load('SHCreateAssociationRegistration')(riid, ppv);
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shcreatedataobject
|
|
867
|
+
public static SHCreateDataObject(pidlFolder: PCIDLIST_ABSOLUTE | NULL, cidl: UINT, apidl: PCUITEMID_CHILD_ARRAY | NULL, pdtInner: LPVOID | NULL, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
868
|
+
return Shell32.Load('SHCreateDataObject')(pidlFolder, cidl, apidl, pdtInner, riid, ppv);
|
|
869
|
+
}
|
|
870
|
+
|
|
871
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shcreatedefaultcontextmenu
|
|
872
|
+
public static SHCreateDefaultContextMenu(pdcm: PCDEFCONTEXTMENU, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
873
|
+
return Shell32.Load('SHCreateDefaultContextMenu')(pdcm, riid, ppv);
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shcreatedefaultextracticon
|
|
877
|
+
public static SHCreateDefaultExtractIcon(riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
878
|
+
return Shell32.Load('SHCreateDefaultExtractIcon')(riid, ppv);
|
|
879
|
+
}
|
|
880
|
+
|
|
881
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl/nf-shobjidl-shcreatedefaultpropertiesop
|
|
882
|
+
public static SHCreateDefaultPropertiesOp(psi: LPVOID, ppFileOp: LPVOID): HRESULT {
|
|
883
|
+
return Shell32.Load('SHCreateDefaultPropertiesOp')(psi, ppFileOp);
|
|
884
|
+
}
|
|
885
|
+
|
|
886
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shcreatedirectory
|
|
887
|
+
public static SHCreateDirectory(hwnd: HWND | 0n, pszPath: LPCWSTR): INT {
|
|
888
|
+
return Shell32.Load('SHCreateDirectory')(hwnd, pszPath);
|
|
889
|
+
}
|
|
890
|
+
|
|
891
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shcreatedirectoryexa
|
|
892
|
+
public static SHCreateDirectoryExA(hwnd: HWND | 0n, pszPath: LPCSTR, psa: LPSECURITY_ATTRIBUTES | NULL): INT {
|
|
893
|
+
return Shell32.Load('SHCreateDirectoryExA')(hwnd, pszPath, psa);
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shcreatedirectoryexw
|
|
897
|
+
public static SHCreateDirectoryExW(hwnd: HWND | 0n, pszPath: LPCWSTR, psa: LPSECURITY_ATTRIBUTES | NULL): INT {
|
|
898
|
+
return Shell32.Load('SHCreateDirectoryExW')(hwnd, pszPath, psa);
|
|
899
|
+
}
|
|
900
|
+
|
|
901
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shcreatefileextracticonw
|
|
902
|
+
public static SHCreateFileExtractIconW(pszFile: LPCWSTR, dwFileAttributes: DWORD, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
903
|
+
return Shell32.Load('SHCreateFileExtractIconW')(pszFile, dwFileAttributes, riid, ppv);
|
|
904
|
+
}
|
|
905
|
+
|
|
906
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shcreateitemfromidlist
|
|
907
|
+
public static SHCreateItemFromIDList(pidl: PCIDLIST_ABSOLUTE, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
908
|
+
return Shell32.Load('SHCreateItemFromIDList')(pidl, riid, ppv);
|
|
909
|
+
}
|
|
910
|
+
|
|
911
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shcreateitemfromparsingname
|
|
912
|
+
public static SHCreateItemFromParsingName(pszPath: LPCWSTR, pbc: LPVOID | NULL, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
913
|
+
return Shell32.Load('SHCreateItemFromParsingName')(pszPath, pbc, riid, ppv);
|
|
914
|
+
}
|
|
915
|
+
|
|
916
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shcreateitemfromrelativename
|
|
917
|
+
public static SHCreateItemFromRelativeName(psiParent: LPVOID, pszName: LPCWSTR, pbc: LPVOID | NULL, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
918
|
+
return Shell32.Load('SHCreateItemFromRelativeName')(psiParent, pszName, pbc, riid, ppv);
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shcreateiteminknownfolder
|
|
922
|
+
public static SHCreateItemInKnownFolder(kfid: LPVOID, dwKFFlags: DWORD, pszItem: LPCWSTR | NULL, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
923
|
+
return Shell32.Load('SHCreateItemInKnownFolder')(kfid, dwKFFlags, pszItem, riid, ppv);
|
|
924
|
+
}
|
|
925
|
+
|
|
926
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shcreateitemwithparent
|
|
927
|
+
public static SHCreateItemWithParent(pidlParent: PCIDLIST_ABSOLUTE | NULL, psfParent: LPVOID | NULL, pidl: PCUITEMID_CHILD, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
928
|
+
return Shell32.Load('SHCreateItemWithParent')(pidlParent, psfParent, pidl, riid, ppv);
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shcreateprocessasuserw
|
|
932
|
+
public static SHCreateProcessAsUserW(pscpi: LPSHCREATEPROCESSINFOW): BOOL {
|
|
933
|
+
return Shell32.Load('SHCreateProcessAsUserW')(pscpi);
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj/nf-shlobj-shcreatepropsheetextarray
|
|
937
|
+
public static SHCreatePropSheetExtArray(hKey: HKEY, pszSubKey: LPCWSTR | NULL, max_iface: UINT): HPSXA {
|
|
938
|
+
return Shell32.Load('SHCreatePropSheetExtArray')(hKey, pszSubKey, max_iface);
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shcreatequerycancelautoplaymoniker
|
|
942
|
+
public static SHCreateQueryCancelAutoPlayMoniker(ppmoniker: LPVOID): HRESULT {
|
|
943
|
+
return Shell32.Load('SHCreateQueryCancelAutoPlayMoniker')(ppmoniker);
|
|
944
|
+
}
|
|
945
|
+
|
|
946
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shcreateshellfolderview
|
|
947
|
+
public static SHCreateShellFolderView(pcsfv: PSFV_CREATE, ppsv: LPVOID): HRESULT {
|
|
948
|
+
return Shell32.Load('SHCreateShellFolderView')(pcsfv, ppsv);
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shcreateshellfolderviewex
|
|
952
|
+
public static SHCreateShellFolderViewEx(pcsfv: LPVOID, ppsv: LPVOID): HRESULT {
|
|
953
|
+
return Shell32.Load('SHCreateShellFolderViewEx')(pcsfv, ppsv);
|
|
954
|
+
}
|
|
955
|
+
|
|
956
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shcreateshellitem
|
|
957
|
+
public static SHCreateShellItem(pidlParent: PCIDLIST_ABSOLUTE | NULL, psfParent: LPVOID | NULL, pidl: PCUITEMID_CHILD, ppsi: LPVOID): HRESULT {
|
|
958
|
+
return Shell32.Load('SHCreateShellItem')(pidlParent, psfParent, pidl, ppsi);
|
|
959
|
+
}
|
|
960
|
+
|
|
961
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shcreateshellitemarray
|
|
962
|
+
public static SHCreateShellItemArray(pidlParent: PCIDLIST_ABSOLUTE | NULL, psf: LPVOID | NULL, cidl: UINT, ppidl: PCUITEMID_CHILD_ARRAY, ppsiItemArray: LPVOID): HRESULT {
|
|
963
|
+
return Shell32.Load('SHCreateShellItemArray')(pidlParent, psf, cidl, ppidl, ppsiItemArray);
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shcreateshellitemarrayfromdataobject
|
|
967
|
+
public static SHCreateShellItemArrayFromDataObject(pdo: LPVOID, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
968
|
+
return Shell32.Load('SHCreateShellItemArrayFromDataObject')(pdo, riid, ppv);
|
|
969
|
+
}
|
|
970
|
+
|
|
971
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shcreateshellitemarrayfromidlists
|
|
972
|
+
public static SHCreateShellItemArrayFromIDLists(cidl: UINT, rgpidl: LPVOID, ppsiItemArray: LPVOID): HRESULT {
|
|
973
|
+
return Shell32.Load('SHCreateShellItemArrayFromIDLists')(cidl, rgpidl, ppsiItemArray);
|
|
974
|
+
}
|
|
975
|
+
|
|
976
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shcreateshellitemarrayfromshellitem
|
|
977
|
+
public static SHCreateShellItemArrayFromShellItem(psi: LPVOID, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
978
|
+
return Shell32.Load('SHCreateShellItemArrayFromShellItem')(psi, riid, ppv);
|
|
979
|
+
}
|
|
980
|
+
|
|
981
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shcreatestdenumfmtetc
|
|
982
|
+
public static SHCreateStdEnumFmtEtc(cfmt: UINT, afmt: LPVOID, ppenumFormatEtc: LPVOID): HRESULT {
|
|
983
|
+
return Shell32.Load('SHCreateStdEnumFmtEtc')(cfmt, afmt, ppenumFormatEtc);
|
|
984
|
+
}
|
|
985
|
+
|
|
986
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shdefextracticona
|
|
987
|
+
public static SHDefExtractIconA(pszIconFile: LPCSTR, iIndex: INT, uFlags: UINT, phiconLarge: LPVOID | NULL, phiconSmall: LPVOID | NULL, nIconSize: UINT): HRESULT {
|
|
988
|
+
return Shell32.Load('SHDefExtractIconA')(pszIconFile, iIndex, uFlags, phiconLarge, phiconSmall, nIconSize);
|
|
989
|
+
}
|
|
990
|
+
|
|
991
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shdefextracticonw
|
|
992
|
+
public static SHDefExtractIconW(pszIconFile: LPCWSTR, iIndex: INT, uFlags: UINT, phiconLarge: LPVOID | NULL, phiconSmall: LPVOID | NULL, nIconSize: UINT): HRESULT {
|
|
993
|
+
return Shell32.Load('SHDefExtractIconW')(pszIconFile, iIndex, uFlags, phiconLarge, phiconSmall, nIconSize);
|
|
994
|
+
}
|
|
995
|
+
|
|
996
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj/nf-shlobj-shdestroypropsheetextarray
|
|
997
|
+
public static SHDestroyPropSheetExtArray(hpsxa: HPSXA): void {
|
|
998
|
+
return Shell32.Load('SHDestroyPropSheetExtArray')(hpsxa);
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shdodragdrop
|
|
1002
|
+
public static SHDoDragDrop(hwnd: HWND, pdata: LPVOID, pdsrc: LPVOID | NULL, dwEffect: DWORD, pdwEffect: LPDWORD): HRESULT {
|
|
1003
|
+
return Shell32.Load('SHDoDragDrop')(hwnd, pdata, pdsrc, dwEffect, pdwEffect);
|
|
1004
|
+
}
|
|
1005
|
+
|
|
1006
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shemptyrecyclebina
|
|
1007
|
+
public static SHEmptyRecycleBinA(hwnd: HWND | 0n, pszRootPath: LPCSTR | NULL, dwFlags: DWORD): HRESULT {
|
|
1008
|
+
return Shell32.Load('SHEmptyRecycleBinA')(hwnd, pszRootPath, dwFlags);
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shemptyrecyclebinw
|
|
1012
|
+
public static SHEmptyRecycleBinW(hwnd: HWND | 0n, pszRootPath: LPCWSTR | NULL, dwFlags: DWORD): HRESULT {
|
|
1013
|
+
return Shell32.Load('SHEmptyRecycleBinW')(hwnd, pszRootPath, dwFlags);
|
|
1014
|
+
}
|
|
1015
|
+
|
|
1016
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shenumerateunreadmailaccountsw
|
|
1017
|
+
public static SHEnumerateUnreadMailAccountsW(hKeyUser: HKEY | 0n, dwIndex: DWORD, pszMailAddress: LPWSTR, cchMailAddress: INT): HRESULT {
|
|
1018
|
+
return Shell32.Load('SHEnumerateUnreadMailAccountsW')(hKeyUser, dwIndex, pszMailAddress, cchMailAddress);
|
|
1019
|
+
}
|
|
1020
|
+
|
|
1021
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shevaluatesystemcommandtemplate
|
|
1022
|
+
public static SHEvaluateSystemCommandTemplate(pszCmdTemplate: LPCWSTR, ppszApplication: LPVOID, ppszCommandLine: LPVOID, ppszParameters: LPVOID): HRESULT {
|
|
1023
|
+
return Shell32.Load('SHEvaluateSystemCommandTemplate')(pszCmdTemplate, ppszApplication, ppszCommandLine, ppszParameters);
|
|
1024
|
+
}
|
|
1025
|
+
|
|
1026
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shextracticonsw
|
|
1027
|
+
public static SHExtractIconsW(pszFileName: LPCWSTR, nIconIndex: INT, cxIcon: INT, cyIcon: INT, phicon: LPVOID, piconid: LPVOID | NULL, nIcons: UINT, flags: UINT): UINT {
|
|
1028
|
+
return Shell32.Load('SHExtractIconsW')(pszFileName, nIconIndex, cxIcon, cyIcon, phicon, piconid, nIcons, flags);
|
|
1029
|
+
}
|
|
1030
|
+
|
|
1031
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shfileoperationa
|
|
1032
|
+
public static SHFileOperation(lpFileOp: LPSHFILEOPSTRUCTA): INT {
|
|
1033
|
+
return Shell32.Load('SHFileOperation')(lpFileOp);
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shfileoperationa
|
|
1037
|
+
public static SHFileOperationA(lpFileOp: LPSHFILEOPSTRUCTA): INT {
|
|
1038
|
+
return Shell32.Load('SHFileOperationA')(lpFileOp);
|
|
1039
|
+
}
|
|
1040
|
+
|
|
1041
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shfileoperationw
|
|
1042
|
+
public static SHFileOperationW(lpFileOp: LPSHFILEOPSTRUCTW): INT {
|
|
1043
|
+
return Shell32.Load('SHFileOperationW')(lpFileOp);
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shformatdrive
|
|
1047
|
+
public static SHFormatDrive(hwnd: HWND, drive: UINT, fmtID: UINT, options: UINT): DWORD {
|
|
1048
|
+
return Shell32.Load('SHFormatDrive')(hwnd, drive, fmtID, options);
|
|
1049
|
+
}
|
|
1050
|
+
|
|
1051
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shfree
|
|
1052
|
+
public static SHFree(pv: LPVOID | NULL): void {
|
|
1053
|
+
return Shell32.Load('SHFree')(pv);
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1056
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shfreenamemappings
|
|
1057
|
+
public static SHFreeNameMappings(hNameMappings: HANDLE): void {
|
|
1058
|
+
return Shell32.Load('SHFreeNameMappings')(hNameMappings);
|
|
1059
|
+
}
|
|
1060
|
+
|
|
1061
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetattributesfromdataobject
|
|
1062
|
+
public static SHGetAttributesFromDataObject(pdo: LPVOID, dwAttributeMask: DWORD, pdwAttributes: LPDWORD, pcItems: LPVOID): HRESULT {
|
|
1063
|
+
return Shell32.Load('SHGetAttributesFromDataObject')(pdo, dwAttributeMask, pdwAttributes, pcItems);
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1066
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetdatafromidlista
|
|
1067
|
+
public static SHGetDataFromIDListA(psf: LPVOID, pidl: PCUITEMID_CHILD, nFormat: INT, pv: LPVOID, cb: INT): HRESULT {
|
|
1068
|
+
return Shell32.Load('SHGetDataFromIDListA')(psf, pidl, nFormat, pv, cb);
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1071
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetdatafromidlistw
|
|
1072
|
+
public static SHGetDataFromIDListW(psf: LPVOID, pidl: PCUITEMID_CHILD, nFormat: INT, pv: LPVOID, cb: INT): HRESULT {
|
|
1073
|
+
return Shell32.Load('SHGetDataFromIDListW')(psf, pidl, nFormat, pv, cb);
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetdesktopfolder
|
|
1077
|
+
public static SHGetDesktopFolder(ppshf: LPVOID): HRESULT {
|
|
1078
|
+
return Shell32.Load('SHGetDesktopFolder')(ppshf);
|
|
1079
|
+
}
|
|
1080
|
+
|
|
1081
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shgetdiskfreespaceexa
|
|
1082
|
+
public static SHGetDiskFreeSpaceA(pszDirectoryName: LPCSTR, pFreeBytesAvailableToCaller: LPVOID | NULL, pTotalNumberOfBytes: LPVOID | NULL, pTotalNumberOfFreeBytes: LPVOID | NULL): BOOL {
|
|
1083
|
+
return Shell32.Load('SHGetDiskFreeSpaceA')(pszDirectoryName, pFreeBytesAvailableToCaller, pTotalNumberOfBytes, pTotalNumberOfFreeBytes);
|
|
1084
|
+
}
|
|
1085
|
+
|
|
1086
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shgetdiskfreespaceexa
|
|
1087
|
+
public static SHGetDiskFreeSpaceExA(pszDirectoryName: LPCSTR, pFreeBytesAvailableToCaller: LPVOID | NULL, pTotalNumberOfBytes: LPVOID | NULL, pTotalNumberOfFreeBytes: LPVOID | NULL): BOOL {
|
|
1088
|
+
return Shell32.Load('SHGetDiskFreeSpaceExA')(pszDirectoryName, pFreeBytesAvailableToCaller, pTotalNumberOfBytes, pTotalNumberOfFreeBytes);
|
|
1089
|
+
}
|
|
1090
|
+
|
|
1091
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shgetdiskfreespaceexw
|
|
1092
|
+
public static SHGetDiskFreeSpaceExW(pszDirectoryName: LPCWSTR, pFreeBytesAvailableToCaller: LPVOID | NULL, pTotalNumberOfBytes: LPVOID | NULL, pTotalNumberOfFreeBytes: LPVOID | NULL): BOOL {
|
|
1093
|
+
return Shell32.Load('SHGetDiskFreeSpaceExW')(pszDirectoryName, pFreeBytesAvailableToCaller, pTotalNumberOfBytes, pTotalNumberOfFreeBytes);
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetdrivemedia
|
|
1097
|
+
public static SHGetDriveMedia(pszDrive: LPCWSTR, pdwMediaContent: LPDWORD): HRESULT {
|
|
1098
|
+
return Shell32.Load('SHGetDriveMedia')(pszDrive, pdwMediaContent);
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shgetfileinfoa
|
|
1102
|
+
public static SHGetFileInfo(pszPath: LPCSTR, dwFileAttributes: DWORD, psfi: LPSHFILEINFOA, cbFileInfo: UINT, uFlags: UINT): DWORD_PTR {
|
|
1103
|
+
return Shell32.Load('SHGetFileInfo')(pszPath, dwFileAttributes, psfi, cbFileInfo, uFlags);
|
|
1104
|
+
}
|
|
1105
|
+
|
|
1106
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shgetfileinfoa
|
|
1107
|
+
public static SHGetFileInfoA(pszPath: LPCSTR, dwFileAttributes: DWORD, psfi: LPSHFILEINFOA, cbFileInfo: UINT, uFlags: UINT): DWORD_PTR {
|
|
1108
|
+
return Shell32.Load('SHGetFileInfoA')(pszPath, dwFileAttributes, psfi, cbFileInfo, uFlags);
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shgetfileinfow
|
|
1112
|
+
public static SHGetFileInfoW(pszPath: LPCWSTR, dwFileAttributes: DWORD, psfi: LPSHFILEINFOW, cbFileInfo: UINT, uFlags: UINT): DWORD_PTR {
|
|
1113
|
+
return Shell32.Load('SHGetFileInfoW')(pszPath, dwFileAttributes, psfi, cbFileInfo, uFlags);
|
|
1114
|
+
}
|
|
1115
|
+
|
|
1116
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetfolderlocation
|
|
1117
|
+
public static SHGetFolderLocation(hwnd: HWND | 0n, csidl: INT, hToken: HANDLE | 0n, dwFlags: DWORD, ppidl: LPVOID): HRESULT {
|
|
1118
|
+
return Shell32.Load('SHGetFolderLocation')(hwnd, csidl, hToken, dwFlags, ppidl);
|
|
1119
|
+
}
|
|
1120
|
+
|
|
1121
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetfolderpatha
|
|
1122
|
+
public static SHGetFolderPathA(hwnd: HWND | 0n, csidl: INT, hToken: HANDLE | 0n, dwFlags: DWORD, pszPath: LPSTR): HRESULT {
|
|
1123
|
+
return Shell32.Load('SHGetFolderPathA')(hwnd, csidl, hToken, dwFlags, pszPath);
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetfolderpathandsubdira
|
|
1127
|
+
public static SHGetFolderPathAndSubDirA(hwnd: HWND | 0n, csidl: INT, hToken: HANDLE | 0n, dwFlags: DWORD, pszSubDir: LPCSTR, pszPath: LPSTR): HRESULT {
|
|
1128
|
+
return Shell32.Load('SHGetFolderPathAndSubDirA')(hwnd, csidl, hToken, dwFlags, pszSubDir, pszPath);
|
|
1129
|
+
}
|
|
1130
|
+
|
|
1131
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetfolderpathandsubdirw
|
|
1132
|
+
public static SHGetFolderPathAndSubDirW(hwnd: HWND | 0n, csidl: INT, hToken: HANDLE | 0n, dwFlags: DWORD, pszSubDir: LPCWSTR, pszPath: LPWSTR): HRESULT {
|
|
1133
|
+
return Shell32.Load('SHGetFolderPathAndSubDirW')(hwnd, csidl, hToken, dwFlags, pszSubDir, pszPath);
|
|
1134
|
+
}
|
|
1135
|
+
|
|
1136
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetfolderpathex
|
|
1137
|
+
public static SHGetFolderPathEx(rfid: LPVOID, dwFlags: DWORD, hToken: HANDLE | 0n, pszPath: LPWSTR, cchPath: UINT): HRESULT {
|
|
1138
|
+
return Shell32.Load('SHGetFolderPathEx')(rfid, dwFlags, hToken, pszPath, cchPath);
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetfolderpathw
|
|
1142
|
+
public static SHGetFolderPathW(hwnd: HWND | 0n, csidl: INT, hToken: HANDLE | 0n, dwFlags: DWORD, pszPath: LPWSTR): HRESULT {
|
|
1143
|
+
return Shell32.Load('SHGetFolderPathW')(hwnd, csidl, hToken, dwFlags, pszPath);
|
|
1144
|
+
}
|
|
1145
|
+
|
|
1146
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shgetidlistfromobject
|
|
1147
|
+
public static SHGetIDListFromObject(punk: LPVOID, ppidl: LPVOID): HRESULT {
|
|
1148
|
+
return Shell32.Load('SHGetIDListFromObject')(punk, ppidl);
|
|
1149
|
+
}
|
|
1150
|
+
|
|
1151
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgeticonoverlayindexa
|
|
1152
|
+
public static SHGetIconOverlayIndexA(pszIconPath: LPCSTR | NULL, iIconIndex: INT): INT {
|
|
1153
|
+
return Shell32.Load('SHGetIconOverlayIndexA')(pszIconPath, iIconIndex);
|
|
1154
|
+
}
|
|
1155
|
+
|
|
1156
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgeticonoverlayindexw
|
|
1157
|
+
public static SHGetIconOverlayIndexW(pszIconPath: LPCWSTR | NULL, iIconIndex: INT): INT {
|
|
1158
|
+
return Shell32.Load('SHGetIconOverlayIndexW')(pszIconPath, iIconIndex);
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1161
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shgetimagelist
|
|
1162
|
+
public static SHGetImageList(iImageList: INT, riid: LPVOID, ppvObj: LPVOID): HRESULT {
|
|
1163
|
+
return Shell32.Load('SHGetImageList')(iImageList, riid, ppvObj);
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1166
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetinstanceexplorer
|
|
1167
|
+
public static SHGetInstanceExplorer(ppunk: LPVOID): HRESULT {
|
|
1168
|
+
return Shell32.Load('SHGetInstanceExplorer')(ppunk);
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shgetitemfromdataobject
|
|
1172
|
+
public static SHGetItemFromDataObject(pdtobj: LPVOID, dwFlags: DWORD, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
1173
|
+
return Shell32.Load('SHGetItemFromDataObject')(pdtobj, dwFlags, riid, ppv);
|
|
1174
|
+
}
|
|
1175
|
+
|
|
1176
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shgetitemfromobject
|
|
1177
|
+
public static SHGetItemFromObject(punk: LPVOID, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
1178
|
+
return Shell32.Load('SHGetItemFromObject')(punk, riid, ppv);
|
|
1179
|
+
}
|
|
1180
|
+
|
|
1181
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderidlist
|
|
1182
|
+
public static SHGetKnownFolderIDList(rfid: LPVOID, dwFlags: DWORD, hToken: HANDLE | 0n, ppidl: LPVOID): HRESULT {
|
|
1183
|
+
return Shell32.Load('SHGetKnownFolderIDList')(rfid, dwFlags, hToken, ppidl);
|
|
1184
|
+
}
|
|
1185
|
+
|
|
1186
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderitem
|
|
1187
|
+
public static SHGetKnownFolderItem(rfid: LPVOID, flags: DWORD, hToken: HANDLE | 0n, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
1188
|
+
return Shell32.Load('SHGetKnownFolderItem')(rfid, flags, hToken, riid, ppv);
|
|
1189
|
+
}
|
|
1190
|
+
|
|
1191
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
|
|
1192
|
+
public static SHGetKnownFolderPath(rfid: LPVOID, dwFlags: DWORD, hToken: HANDLE | 0n, ppszPath: LPVOID): HRESULT {
|
|
1193
|
+
return Shell32.Load('SHGetKnownFolderPath')(rfid, dwFlags, hToken, ppszPath);
|
|
1194
|
+
}
|
|
1195
|
+
|
|
1196
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shgetlocalizedname
|
|
1197
|
+
public static SHGetLocalizedName(pszPath: LPCWSTR, pszResModule: LPWSTR, cch: UINT, pidsRes: LPVOID): HRESULT {
|
|
1198
|
+
return Shell32.Load('SHGetLocalizedName')(pszPath, pszResModule, cch, pidsRes);
|
|
1199
|
+
}
|
|
1200
|
+
|
|
1201
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetmalloc
|
|
1202
|
+
public static SHGetMalloc(ppMalloc: LPVOID): HRESULT {
|
|
1203
|
+
return Shell32.Load('SHGetMalloc')(ppMalloc);
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shgetnamefromidlist
|
|
1207
|
+
public static SHGetNameFromIDList(pidl: PCIDLIST_ABSOLUTE, sigdnName: SIGDN, ppszName: LPVOID): HRESULT {
|
|
1208
|
+
return Shell32.Load('SHGetNameFromIDList')(pidl, sigdnName, ppszName);
|
|
1209
|
+
}
|
|
1210
|
+
|
|
1211
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shgetnewlinkinfoa
|
|
1212
|
+
public static SHGetNewLinkInfo(pszLinkTo: LPCSTR, pszDir: LPCSTR, pszName: LPSTR, pfMustCopy: LPVOID, uFlags: UINT): BOOL {
|
|
1213
|
+
return Shell32.Load('SHGetNewLinkInfo')(pszLinkTo, pszDir, pszName, pfMustCopy, uFlags);
|
|
1214
|
+
}
|
|
1215
|
+
|
|
1216
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shgetnewlinkinfoa
|
|
1217
|
+
public static SHGetNewLinkInfoA(pszLinkTo: LPCSTR, pszDir: LPCSTR, pszName: LPSTR, pfMustCopy: LPVOID, uFlags: UINT): BOOL {
|
|
1218
|
+
return Shell32.Load('SHGetNewLinkInfoA')(pszLinkTo, pszDir, pszName, pfMustCopy, uFlags);
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shgetnewlinkinfow
|
|
1222
|
+
public static SHGetNewLinkInfoW(pszLinkTo: LPCWSTR, pszDir: LPCWSTR, pszName: LPWSTR, pfMustCopy: LPVOID, uFlags: UINT): BOOL {
|
|
1223
|
+
return Shell32.Load('SHGetNewLinkInfoW')(pszLinkTo, pszDir, pszName, pfMustCopy, uFlags);
|
|
1224
|
+
}
|
|
1225
|
+
|
|
1226
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetpathfromidlista
|
|
1227
|
+
public static SHGetPathFromIDList(pidl: PCIDLIST_ABSOLUTE, pszPath: LPSTR): BOOL {
|
|
1228
|
+
return Shell32.Load('SHGetPathFromIDList')(pidl, pszPath);
|
|
1229
|
+
}
|
|
1230
|
+
|
|
1231
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetpathfromidlista
|
|
1232
|
+
public static SHGetPathFromIDListA(pidl: PCIDLIST_ABSOLUTE, pszPath: LPSTR): BOOL {
|
|
1233
|
+
return Shell32.Load('SHGetPathFromIDListA')(pidl, pszPath);
|
|
1234
|
+
}
|
|
1235
|
+
|
|
1236
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetpathfromidlistex
|
|
1237
|
+
public static SHGetPathFromIDListEx(pidl: PCIDLIST_ABSOLUTE, pszPath: LPWSTR, cchPath: DWORD, uOpts: DWORD): BOOL {
|
|
1238
|
+
return Shell32.Load('SHGetPathFromIDListEx')(pidl, pszPath, cchPath, uOpts);
|
|
1239
|
+
}
|
|
1240
|
+
|
|
1241
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetpathfromidlistw
|
|
1242
|
+
public static SHGetPathFromIDListW(pidl: PCIDLIST_ABSOLUTE, pszPath: LPWSTR): BOOL {
|
|
1243
|
+
return Shell32.Load('SHGetPathFromIDListW')(pidl, pszPath);
|
|
1244
|
+
}
|
|
1245
|
+
|
|
1246
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shgetpropertystoreforwindow
|
|
1247
|
+
public static SHGetPropertyStoreForWindow(hwnd: HWND, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
1248
|
+
return Shell32.Load('SHGetPropertyStoreForWindow')(hwnd, riid, ppv);
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1251
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shgetpropertystorefromidlist
|
|
1252
|
+
public static SHGetPropertyStoreFromIDList(pidl: PCIDLIST_ABSOLUTE, flags: GETPROPERTYSTOREFLAGS, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
1253
|
+
return Shell32.Load('SHGetPropertyStoreFromIDList')(pidl, flags, riid, ppv);
|
|
1254
|
+
}
|
|
1255
|
+
|
|
1256
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shgetpropertystorefromparsingname
|
|
1257
|
+
public static SHGetPropertyStoreFromParsingName(pszPath: LPCWSTR, pbc: LPVOID | NULL, flags: GETPROPERTYSTOREFLAGS, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
1258
|
+
return Shell32.Load('SHGetPropertyStoreFromParsingName')(pszPath, pbc, flags, riid, ppv);
|
|
1259
|
+
}
|
|
1260
|
+
|
|
1261
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetrealidl
|
|
1262
|
+
public static SHGetRealIDL(psf: LPVOID, pidlSimple: PCUITEMID_CHILD, ppidlReal: LPVOID): HRESULT {
|
|
1263
|
+
return Shell32.Load('SHGetRealIDL')(psf, pidlSimple, ppidlReal);
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1266
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj/nf-shlobj-shgetsetfoldercustomsettings
|
|
1267
|
+
public static SHGetSetFolderCustomSettings(pfcs: LPSHFOLDERCUSTOMSETTINGS, pszPath: LPCWSTR, dwReadWrite: DWORD): HRESULT {
|
|
1268
|
+
return Shell32.Load('SHGetSetFolderCustomSettings')(pfcs, pszPath, dwReadWrite);
|
|
1269
|
+
}
|
|
1270
|
+
|
|
1271
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetsetsettings
|
|
1272
|
+
public static SHGetSetSettings(lpss: LPSHELLSTATE, dwMask: DWORD, bSet: BOOL): void {
|
|
1273
|
+
return Shell32.Load('SHGetSetSettings')(lpss, dwMask, bSet);
|
|
1274
|
+
}
|
|
1275
|
+
|
|
1276
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetsettings
|
|
1277
|
+
public static SHGetSettings(lpsfs: LPSHELLFLAGSTATE, dwMask: DWORD): void {
|
|
1278
|
+
return Shell32.Load('SHGetSettings')(lpsfs, dwMask);
|
|
1279
|
+
}
|
|
1280
|
+
|
|
1281
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetspecialfolderlocation
|
|
1282
|
+
public static SHGetSpecialFolderLocation(hwnd: HWND | 0n, csidl: INT, ppidl: LPVOID): HRESULT {
|
|
1283
|
+
return Shell32.Load('SHGetSpecialFolderLocation')(hwnd, csidl, ppidl);
|
|
1284
|
+
}
|
|
1285
|
+
|
|
1286
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetspecialfolderpatha
|
|
1287
|
+
public static SHGetSpecialFolderPathA(hwnd: HWND | 0n, pszPath: LPSTR, csidl: INT, fCreate: BOOL): BOOL {
|
|
1288
|
+
return Shell32.Load('SHGetSpecialFolderPathA')(hwnd, pszPath, csidl, fCreate);
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetspecialfolderpathw
|
|
1292
|
+
public static SHGetSpecialFolderPathW(hwnd: HWND | 0n, pszPath: LPWSTR, csidl: INT, fCreate: BOOL): BOOL {
|
|
1293
|
+
return Shell32.Load('SHGetSpecialFolderPathW')(hwnd, pszPath, csidl, fCreate);
|
|
1294
|
+
}
|
|
1295
|
+
|
|
1296
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shgetstockiconinfo
|
|
1297
|
+
public static SHGetStockIconInfo(siid: UINT, uFlags: UINT, psii: LPSHSTOCKICONINFO): HRESULT {
|
|
1298
|
+
return Shell32.Load('SHGetStockIconInfo')(siid, uFlags, psii);
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shgettemporarypropertyforitem
|
|
1302
|
+
public static SHGetTemporaryPropertyForItem(psi: LPVOID, propkey: LPVOID, ppropvar: LPVOID): HRESULT {
|
|
1303
|
+
return Shell32.Load('SHGetTemporaryPropertyForItem')(psi, propkey, ppropvar);
|
|
1304
|
+
}
|
|
1305
|
+
|
|
1306
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shgetunreadmailcountw
|
|
1307
|
+
public static SHGetUnreadMailCountW(hKeyUser: HKEY | 0n, pszMailAddress: LPCWSTR | NULL, pdwCount: LPDWORD | NULL, pFileTime: LPVOID | NULL, pszShellExecuteCommand: LPWSTR | NULL, cchShellExecuteCommand: INT): HRESULT {
|
|
1308
|
+
return Shell32.Load('SHGetUnreadMailCountW')(hKeyUser, pszMailAddress, pdwCount, pFileTime, pszShellExecuteCommand, cchShellExecuteCommand);
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shhandleupdateimage
|
|
1312
|
+
public static SHHandleUpdateImage(pidlExtra: PCIDLIST_ABSOLUTE): INT {
|
|
1313
|
+
return Shell32.Load('SHHandleUpdateImage')(pidlExtra);
|
|
1314
|
+
}
|
|
1315
|
+
|
|
1316
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shilcreatefrompath
|
|
1317
|
+
public static SHILCreateFromPath(pszPath: LPCWSTR, ppidl: LPVOID, rgfInOut: LPDWORD | NULL): HRESULT {
|
|
1318
|
+
return Shell32.Load('SHILCreateFromPath')(pszPath, ppidl, rgfInOut);
|
|
1319
|
+
}
|
|
1320
|
+
|
|
1321
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shinvokeprintercommanda
|
|
1322
|
+
public static SHInvokePrinterCommandA(hwnd: HWND | 0n, uAction: UINT, lpBuf1: LPCSTR, lpBuf2: LPCSTR | NULL, fModal: BOOL): BOOL {
|
|
1323
|
+
return Shell32.Load('SHInvokePrinterCommandA')(hwnd, uAction, lpBuf1, lpBuf2, fModal);
|
|
1324
|
+
}
|
|
1325
|
+
|
|
1326
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shinvokeprintercommandw
|
|
1327
|
+
public static SHInvokePrinterCommandW(hwnd: HWND | 0n, uAction: UINT, lpBuf1: LPCWSTR, lpBuf2: LPCWSTR | NULL, fModal: BOOL): BOOL {
|
|
1328
|
+
return Shell32.Load('SHInvokePrinterCommandW')(hwnd, uAction, lpBuf1, lpBuf2, fModal);
|
|
1329
|
+
}
|
|
1330
|
+
|
|
1331
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shisfileavailableoffline
|
|
1332
|
+
public static SHIsFileAvailableOffline(pwszPath: LPCWSTR, pdwStatus: LPDWORD | NULL): HRESULT {
|
|
1333
|
+
return Shell32.Load('SHIsFileAvailableOffline')(pwszPath, pdwStatus);
|
|
1334
|
+
}
|
|
1335
|
+
|
|
1336
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shlimitinputedit
|
|
1337
|
+
public static SHLimitInputEdit(hwndEdit: HWND, psf: LPVOID): HRESULT {
|
|
1338
|
+
return Shell32.Load('SHLimitInputEdit')(hwndEdit, psf);
|
|
1339
|
+
}
|
|
1340
|
+
|
|
1341
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shloadinproc
|
|
1342
|
+
public static SHLoadInProc(rclsid: LPVOID): HRESULT {
|
|
1343
|
+
return Shell32.Load('SHLoadInProc')(rclsid);
|
|
1344
|
+
}
|
|
1345
|
+
|
|
1346
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shloadnonloadediconoverlayidentifiers
|
|
1347
|
+
public static SHLoadNonloadedIconOverlayIdentifiers(): HRESULT {
|
|
1348
|
+
return Shell32.Load('SHLoadNonloadedIconOverlayIdentifiers')();
|
|
1349
|
+
}
|
|
1350
|
+
|
|
1351
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shmappidltosystemiconlistindex
|
|
1352
|
+
public static SHMapPIDLToSystemImageListIndex(pshf: LPVOID, pidl: PCUITEMID_CHILD, piIndexSel: LPVOID | NULL): INT {
|
|
1353
|
+
return Shell32.Load('SHMapPIDLToSystemImageListIndex')(pshf, pidl, piIndexSel);
|
|
1354
|
+
}
|
|
1355
|
+
|
|
1356
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj/nf-shlobj-shmultifileproperties
|
|
1357
|
+
public static SHMultiFileProperties(pdtobj: LPVOID, dwFlags: DWORD): HRESULT {
|
|
1358
|
+
return Shell32.Load('SHMultiFileProperties')(pdtobj, dwFlags);
|
|
1359
|
+
}
|
|
1360
|
+
|
|
1361
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shobjectproperties
|
|
1362
|
+
public static SHObjectProperties(hwnd: HWND | 0n, shopObjectType: DWORD, pszObjectName: LPCWSTR, pszPropertyPage: LPCWSTR | NULL): BOOL {
|
|
1363
|
+
return Shell32.Load('SHObjectProperties')(hwnd, shopObjectType, pszObjectName, pszPropertyPage);
|
|
1364
|
+
}
|
|
1365
|
+
|
|
1366
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shopenfolderandselectitems
|
|
1367
|
+
public static SHOpenFolderAndSelectItems(pidlFolder: PCIDLIST_ABSOLUTE, cidl: UINT, apidl: PCUITEMID_CHILD_ARRAY | NULL, dwFlags: DWORD): HRESULT {
|
|
1368
|
+
return Shell32.Load('SHOpenFolderAndSelectItems')(pidlFolder, cidl, apidl, dwFlags);
|
|
1369
|
+
}
|
|
1370
|
+
|
|
1371
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj/nf-shlobj-shopenpropsheetw
|
|
1372
|
+
public static SHOpenPropSheetW(pszCaption: LPCWSTR | NULL, ahkeys: LPVOID, ckeys: UINT, pclsidDefault: LPVOID | NULL, pdtobj: LPVOID, psb: LPVOID | NULL, pszStartPage: LPCWSTR | NULL): BOOL {
|
|
1373
|
+
return Shell32.Load('SHOpenPropSheetW')(pszCaption, ahkeys, ckeys, pclsidDefault, pdtobj, psb, pszStartPage);
|
|
1374
|
+
}
|
|
1375
|
+
|
|
1376
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shopenwithdialog
|
|
1377
|
+
public static SHOpenWithDialog(hwndParent: HWND | 0n, poainfo: POPENASINFO): HRESULT {
|
|
1378
|
+
return Shell32.Load('SHOpenWithDialog')(hwndParent, poainfo);
|
|
1379
|
+
}
|
|
1380
|
+
|
|
1381
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shparsedisplayname
|
|
1382
|
+
public static SHParseDisplayName(pszName: LPCWSTR, pbc: LPVOID | NULL, ppidl: LPVOID, sfgaoIn: SFGAOF, psfgaoOut: LPVOID | NULL): HRESULT {
|
|
1383
|
+
return Shell32.Load('SHParseDisplayName')(pszName, pbc, ppidl, sfgaoIn, psfgaoOut);
|
|
1384
|
+
}
|
|
1385
|
+
|
|
1386
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shpathprepareforwritea
|
|
1387
|
+
public static SHPathPrepareForWriteA(hwnd: HWND | 0n, punkEnableModless: LPVOID | NULL, pszPath: LPCSTR, dwFlags: DWORD): HRESULT {
|
|
1388
|
+
return Shell32.Load('SHPathPrepareForWriteA')(hwnd, punkEnableModless, pszPath, dwFlags);
|
|
1389
|
+
}
|
|
1390
|
+
|
|
1391
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shpathprepareforwritew
|
|
1392
|
+
public static SHPathPrepareForWriteW(hwnd: HWND | 0n, punkEnableModless: LPVOID | NULL, pszPath: LPCWSTR, dwFlags: DWORD): HRESULT {
|
|
1393
|
+
return Shell32.Load('SHPathPrepareForWriteW')(hwnd, punkEnableModless, pszPath, dwFlags);
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shpropstgcreate
|
|
1397
|
+
public static SHPropStgCreate(psstg: LPVOID, fmtid: LPVOID, pclsid: LPVOID | NULL, grfFlags: DWORD, grfMode: DWORD, dwDisposition: DWORD, ppstg: LPVOID, puCodePage: LPVOID | NULL): HRESULT {
|
|
1398
|
+
return Shell32.Load('SHPropStgCreate')(psstg, fmtid, pclsid, grfFlags, grfMode, dwDisposition, ppstg, puCodePage);
|
|
1399
|
+
}
|
|
1400
|
+
|
|
1401
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shpropstgreadmultiple
|
|
1402
|
+
public static SHPropStgReadMultiple(pps: LPVOID, uCodePage: UINT, cpspec: ULONG, rgpspec: LPVOID, rgvar: LPVOID): HRESULT {
|
|
1403
|
+
return Shell32.Load('SHPropStgReadMultiple')(pps, uCodePage, cpspec, rgpspec, rgvar);
|
|
1404
|
+
}
|
|
1405
|
+
|
|
1406
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shpropstgwritemultiple
|
|
1407
|
+
public static SHPropStgWriteMultiple(pps: LPVOID, puCodePage: LPVOID | NULL, cpspec: ULONG, rgpspec: LPVOID, rgvar: LPVOID, propidNameFirst: UINT): HRESULT {
|
|
1408
|
+
return Shell32.Load('SHPropStgWriteMultiple')(pps, puCodePage, cpspec, rgpspec, rgvar, propidNameFirst);
|
|
1409
|
+
}
|
|
1410
|
+
|
|
1411
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shqueryrecyclebina
|
|
1412
|
+
public static SHQueryRecycleBinA(pszRootPath: LPCSTR | NULL, pSHQueryRBInfo: PSHQUERYRBINFO): HRESULT {
|
|
1413
|
+
return Shell32.Load('SHQueryRecycleBinA')(pszRootPath, pSHQueryRBInfo);
|
|
1414
|
+
}
|
|
1415
|
+
|
|
1416
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shqueryrecyclebinw
|
|
1417
|
+
public static SHQueryRecycleBinW(pszRootPath: LPCWSTR | NULL, pSHQueryRBInfo: PSHQUERYRBINFO): HRESULT {
|
|
1418
|
+
return Shell32.Load('SHQueryRecycleBinW')(pszRootPath, pSHQueryRBInfo);
|
|
1419
|
+
}
|
|
1420
|
+
|
|
1421
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shqueryusernotificationstate
|
|
1422
|
+
public static SHQueryUserNotificationState(pquns: LPVOID): HRESULT {
|
|
1423
|
+
return Shell32.Load('SHQueryUserNotificationState')(pquns);
|
|
1424
|
+
}
|
|
1425
|
+
|
|
1426
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shremovelocalizedname
|
|
1427
|
+
public static SHRemoveLocalizedName(pszPath: LPCWSTR): HRESULT {
|
|
1428
|
+
return Shell32.Load('SHRemoveLocalizedName')(pszPath);
|
|
1429
|
+
}
|
|
1430
|
+
|
|
1431
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj/nf-shlobj-shreplacefromPropSheetextarray
|
|
1432
|
+
public static SHReplaceFromPropSheetExtArray(hpsxa: HPSXA, uPageID: UINT, lpfnReplaceWith: LPFNADDPROPSHEETPAGE, lParam: LPARAM): UINT {
|
|
1433
|
+
return Shell32.Load('SHReplaceFromPropSheetExtArray')(hpsxa, uPageID, lpfnReplaceWith, lParam);
|
|
1434
|
+
}
|
|
1435
|
+
|
|
1436
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shresolvelibrary
|
|
1437
|
+
public static SHResolveLibrary(psiLibrary: LPVOID): HRESULT {
|
|
1438
|
+
return Shell32.Load('SHResolveLibrary')(psiLibrary);
|
|
1439
|
+
}
|
|
1440
|
+
|
|
1441
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shrestricted
|
|
1442
|
+
public static SHRestricted(rest: DWORD): DWORD {
|
|
1443
|
+
return Shell32.Load('SHRestricted')(rest);
|
|
1444
|
+
}
|
|
1445
|
+
|
|
1446
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl/nf-shobjidl-shsetdefaultproperties
|
|
1447
|
+
public static SHSetDefaultProperties(hwnd: HWND | 0n, psi: LPVOID, dwFileOpFlags: DWORD, pfops: LPVOID | NULL): HRESULT {
|
|
1448
|
+
return Shell32.Load('SHSetDefaultProperties')(hwnd, psi, dwFileOpFlags, pfops);
|
|
1449
|
+
}
|
|
1450
|
+
|
|
1451
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shsetfolderpatha
|
|
1452
|
+
public static SHSetFolderPathA(csidl: INT, hToken: HANDLE | 0n, dwFlags: DWORD, pszPath: LPCSTR): HRESULT {
|
|
1453
|
+
return Shell32.Load('SHSetFolderPathA')(csidl, hToken, dwFlags, pszPath);
|
|
1454
|
+
}
|
|
1455
|
+
|
|
1456
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shsetfolderpathw
|
|
1457
|
+
public static SHSetFolderPathW(csidl: INT, hToken: HANDLE | 0n, dwFlags: DWORD, pszPath: LPCWSTR): HRESULT {
|
|
1458
|
+
return Shell32.Load('SHSetFolderPathW')(csidl, hToken, dwFlags, pszPath);
|
|
1459
|
+
}
|
|
1460
|
+
|
|
1461
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shsetinstanceexplorer
|
|
1462
|
+
public static SHSetInstanceExplorer(punk: LPVOID): void {
|
|
1463
|
+
return Shell32.Load('SHSetInstanceExplorer')(punk);
|
|
1464
|
+
}
|
|
1465
|
+
|
|
1466
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shsetknownfolderpath
|
|
1467
|
+
public static SHSetKnownFolderPath(rfid: LPVOID, dwFlags: DWORD, hToken: HANDLE | 0n, pszPath: LPCWSTR): HRESULT {
|
|
1468
|
+
return Shell32.Load('SHSetKnownFolderPath')(rfid, dwFlags, hToken, pszPath);
|
|
1469
|
+
}
|
|
1470
|
+
|
|
1471
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shsetlocalizedname
|
|
1472
|
+
public static SHSetLocalizedName(pszPath: LPCWSTR, pszResModule: LPCWSTR, idsRes: INT): HRESULT {
|
|
1473
|
+
return Shell32.Load('SHSetLocalizedName')(pszPath, pszResModule, idsRes);
|
|
1474
|
+
}
|
|
1475
|
+
|
|
1476
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-shsettemporarypropertyforitem
|
|
1477
|
+
public static SHSetTemporaryPropertyForItem(psi: LPVOID, propkey: LPVOID, propvar: LPVOID): HRESULT {
|
|
1478
|
+
return Shell32.Load('SHSetTemporaryPropertyForItem')(psi, propkey, propvar);
|
|
1479
|
+
}
|
|
1480
|
+
|
|
1481
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shsetunreadmailcountw
|
|
1482
|
+
public static SHSetUnreadMailCountW(pszMailAddress: LPCWSTR, dwCount: DWORD, pszShellExecuteCommand: LPCWSTR): HRESULT {
|
|
1483
|
+
return Shell32.Load('SHSetUnreadMailCountW')(pszMailAddress, dwCount, pszShellExecuteCommand);
|
|
1484
|
+
}
|
|
1485
|
+
|
|
1486
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shshellfolderview_message
|
|
1487
|
+
public static SHShellFolderView_Message(hwndMain: HWND, uMsg: UINT, lParam: LPARAM): LRESULT {
|
|
1488
|
+
return Shell32.Load('SHShellFolderView_Message')(hwndMain, uMsg, lParam);
|
|
1489
|
+
}
|
|
1490
|
+
|
|
1491
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl/nf-shobjidl-shshowmanagelibraryui
|
|
1492
|
+
public static SHShowManageLibraryUI(psiLibrary: LPVOID, hwndOwner: HWND | 0n, pszTitle: LPCWSTR | NULL, pszInstruction: LPCWSTR | NULL, lmdOptions: DWORD): HRESULT {
|
|
1493
|
+
return Shell32.Load('SHShowManageLibraryUI')(psiLibrary, hwndOwner, pszTitle, pszInstruction, lmdOptions);
|
|
1494
|
+
}
|
|
1495
|
+
|
|
1496
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shsimpleidlistfrompath
|
|
1497
|
+
public static SHSimpleIDListFromPath(pszPath: LPCWSTR): PIDLIST_ABSOLUTE {
|
|
1498
|
+
return Shell32.Load('SHSimpleIDListFromPath')(pszPath);
|
|
1499
|
+
}
|
|
1500
|
+
|
|
1501
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shstartnetconnectiondialogw
|
|
1502
|
+
public static SHStartNetConnectionDialogW(hwnd: HWND | 0n, pszRemoteName: LPCWSTR, dwType: DWORD): HRESULT {
|
|
1503
|
+
return Shell32.Load('SHStartNetConnectionDialogW')(hwnd, pszRemoteName, dwType);
|
|
1504
|
+
}
|
|
1505
|
+
|
|
1506
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj/nf-shlobj-shtesttokenmembership
|
|
1507
|
+
public static SHTestTokenMembership(hToken: HANDLE | 0n, ulRID: ULONG): BOOL {
|
|
1508
|
+
return Shell32.Load('SHTestTokenMembership')(hToken, ulRID);
|
|
1509
|
+
}
|
|
1510
|
+
|
|
1511
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shupdateimagea
|
|
1512
|
+
public static SHUpdateImageA(pszHashItem: LPCSTR, iIndex: INT, uFlags: UINT, iImageIndex: INT): void {
|
|
1513
|
+
return Shell32.Load('SHUpdateImageA')(pszHashItem, iIndex, uFlags, iImageIndex);
|
|
1514
|
+
}
|
|
1515
|
+
|
|
1516
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shupdateimagew
|
|
1517
|
+
public static SHUpdateImageW(pszHashItem: LPCWSTR, iIndex: INT, uFlags: UINT, iImageIndex: INT): void {
|
|
1518
|
+
return Shell32.Load('SHUpdateImageW')(pszHashItem, iIndex, uFlags, iImageIndex);
|
|
1519
|
+
}
|
|
1520
|
+
|
|
1521
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shupdaterecyclebinicon
|
|
1522
|
+
public static SHUpdateRecycleBinIcon(): void {
|
|
1523
|
+
return Shell32.Load('SHUpdateRecycleBinIcon')();
|
|
1524
|
+
}
|
|
1525
|
+
|
|
1526
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shvalidateunc
|
|
1527
|
+
public static SHValidateUNC(hwndOwner: HWND | 0n, pszFile: LPWSTR, fConnect: UINT): BOOL {
|
|
1528
|
+
return Shell32.Load('SHValidateUNC')(hwndOwner, pszFile, fConnect);
|
|
1529
|
+
}
|
|
1530
|
+
|
|
1531
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-setcurrentprocessexplicitappusermodelid
|
|
1532
|
+
public static SetCurrentProcessExplicitAppUserModelID(AppID: LPCWSTR): HRESULT {
|
|
1533
|
+
return Shell32.Load('SetCurrentProcessExplicitAppUserModelID')(AppID);
|
|
1534
|
+
}
|
|
1535
|
+
|
|
1536
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellobouta
|
|
1537
|
+
public static ShellAboutA(hWnd: HWND | 0n, szApp: LPCSTR, szOtherStuff: LPCSTR | NULL, hIcon: HICON | 0n): INT_PTR {
|
|
1538
|
+
return Shell32.Load('ShellAboutA')(hWnd, szApp, szOtherStuff, hIcon);
|
|
1539
|
+
}
|
|
1540
|
+
|
|
1541
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shelloboutw
|
|
1542
|
+
public static ShellAboutW(hWnd: HWND | 0n, szApp: LPCWSTR, szOtherStuff: LPCWSTR | NULL, hIcon: HICON | 0n): INT_PTR {
|
|
1543
|
+
return Shell32.Load('ShellAboutW')(hWnd, szApp, szOtherStuff, hIcon);
|
|
1544
|
+
}
|
|
1545
|
+
|
|
1546
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecutea
|
|
1547
|
+
public static ShellExecuteA(hwnd: HWND | 0n, lpOperation: LPCSTR | NULL, lpFile: LPCSTR, lpParameters: LPCSTR | NULL, lpDirectory: LPCSTR | NULL, nShowCmd: INT): HINSTANCE {
|
|
1548
|
+
return Shell32.Load('ShellExecuteA')(hwnd, lpOperation, lpFile, lpParameters, lpDirectory, nShowCmd);
|
|
1549
|
+
}
|
|
1550
|
+
|
|
1551
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecuteexa
|
|
1552
|
+
public static ShellExecuteEx(pExecInfo: LPSHELLEXECUTEINFOA): BOOL {
|
|
1553
|
+
return Shell32.Load('ShellExecuteEx')(pExecInfo);
|
|
1554
|
+
}
|
|
1555
|
+
|
|
1556
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecuteexa
|
|
1557
|
+
public static ShellExecuteExA(pExecInfo: LPSHELLEXECUTEINFOA): BOOL {
|
|
1558
|
+
return Shell32.Load('ShellExecuteExA')(pExecInfo);
|
|
1559
|
+
}
|
|
1560
|
+
|
|
1561
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecuteexw
|
|
1562
|
+
public static ShellExecuteExW(pExecInfo: LPSHELLEXECUTEINFOW): BOOL {
|
|
1563
|
+
return Shell32.Load('ShellExecuteExW')(pExecInfo);
|
|
1564
|
+
}
|
|
1565
|
+
|
|
1566
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecutew
|
|
1567
|
+
public static ShellExecuteW(hwnd: HWND | 0n, lpOperation: LPCWSTR | NULL, lpFile: LPCWSTR, lpParameters: LPCWSTR | NULL, lpDirectory: LPCWSTR | NULL, nShowCmd: INT): HINSTANCE {
|
|
1568
|
+
return Shell32.Load('ShellExecuteW')(hwnd, lpOperation, lpFile, lpParameters, lpDirectory, nShowCmd);
|
|
1569
|
+
}
|
|
1570
|
+
|
|
1571
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shell_getimagelists
|
|
1572
|
+
public static Shell_GetImageLists(phiml: LPVOID, phimlSmall: LPVOID): BOOL {
|
|
1573
|
+
return Shell32.Load('Shell_GetImageLists')(phiml, phimlSmall);
|
|
1574
|
+
}
|
|
1575
|
+
|
|
1576
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shell_mergemenus
|
|
1577
|
+
public static Shell_MergeMenus(hmDst: HMENU, hmSrc: HMENU, uInsert: UINT, uIDAdjust: UINT, uIDAdjustMax: UINT, uFlags: ULONG): UINT {
|
|
1578
|
+
return Shell32.Load('Shell_MergeMenus')(hmDst, hmSrc, uInsert, uIDAdjust, uIDAdjustMax, uFlags);
|
|
1579
|
+
}
|
|
1580
|
+
|
|
1581
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shell_notifyicona
|
|
1582
|
+
public static Shell_NotifyIcon(dwMessage: DWORD, lpData: PNOTIFYICONDATAA): BOOL {
|
|
1583
|
+
return Shell32.Load('Shell_NotifyIcon')(dwMessage, lpData);
|
|
1584
|
+
}
|
|
1585
|
+
|
|
1586
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shell_notifyicona
|
|
1587
|
+
public static Shell_NotifyIconA(dwMessage: DWORD, lpData: PNOTIFYICONDATAA): BOOL {
|
|
1588
|
+
return Shell32.Load('Shell_NotifyIconA')(dwMessage, lpData);
|
|
1589
|
+
}
|
|
1590
|
+
|
|
1591
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shell_notifyicongetrect
|
|
1592
|
+
public static Shell_NotifyIconGetRect(identifier: PNOTIFYICONIDENTIFIER, iconLocation: LPRECT): HRESULT {
|
|
1593
|
+
return Shell32.Load('Shell_NotifyIconGetRect')(identifier, iconLocation);
|
|
1594
|
+
}
|
|
1595
|
+
|
|
1596
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shell_notifyiconw
|
|
1597
|
+
public static Shell_NotifyIconW(dwMessage: DWORD, lpData: PNOTIFYICONDATAW): BOOL {
|
|
1598
|
+
return Shell32.Load('Shell_NotifyIconW')(dwMessage, lpData);
|
|
1599
|
+
}
|
|
1600
|
+
|
|
1601
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-signalfileopen
|
|
1602
|
+
public static SignalFileOpen(pidl: PCIDLIST_ABSOLUTE): BOOL {
|
|
1603
|
+
return Shell32.Load('SignalFileOpen')(pidl);
|
|
1604
|
+
}
|
|
1605
|
+
|
|
1606
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shobjidl/nf-shobjidl-stgmakeuniquename
|
|
1607
|
+
public static StgMakeUniqueName(pstgParent: LPVOID, pszFileSpec: LPCWSTR, grfMode: DWORD, riid: LPVOID, ppv: LPVOID): HRESULT {
|
|
1608
|
+
return Shell32.Load('StgMakeUniqueName')(pstgParent, pszFileSpec, grfMode, riid, ppv);
|
|
1609
|
+
}
|
|
1610
|
+
|
|
1611
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strchra
|
|
1612
|
+
public static StrChrA(pszStart: LPCSTR, wMatch: WORD): LPSTR {
|
|
1613
|
+
return Shell32.Load('StrChrA')(pszStart, wMatch);
|
|
1614
|
+
}
|
|
1615
|
+
|
|
1616
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strchria
|
|
1617
|
+
public static StrChrIA(pszStart: LPCSTR, wMatch: WORD): LPSTR {
|
|
1618
|
+
return Shell32.Load('StrChrIA')(pszStart, wMatch);
|
|
1619
|
+
}
|
|
1620
|
+
|
|
1621
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strchriw
|
|
1622
|
+
public static StrChrIW(pszStart: LPCWSTR, wMatch: WORD): LPWSTR {
|
|
1623
|
+
return Shell32.Load('StrChrIW')(pszStart, wMatch);
|
|
1624
|
+
}
|
|
1625
|
+
|
|
1626
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strchrw
|
|
1627
|
+
public static StrChrW(pszStart: LPCWSTR, wMatch: WORD): LPWSTR {
|
|
1628
|
+
return Shell32.Load('StrChrW')(pszStart, wMatch);
|
|
1629
|
+
}
|
|
1630
|
+
|
|
1631
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strcmpna
|
|
1632
|
+
public static StrCmpNA(psz1: LPCSTR, psz2: LPCSTR, nChar: INT): INT {
|
|
1633
|
+
return Shell32.Load('StrCmpNA')(psz1, psz2, nChar);
|
|
1634
|
+
}
|
|
1635
|
+
|
|
1636
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strcmpnia
|
|
1637
|
+
public static StrCmpNIA(psz1: LPCSTR, psz2: LPCSTR, nChar: INT): INT {
|
|
1638
|
+
return Shell32.Load('StrCmpNIA')(psz1, psz2, nChar);
|
|
1639
|
+
}
|
|
1640
|
+
|
|
1641
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strcmpniw
|
|
1642
|
+
public static StrCmpNIW(psz1: LPCWSTR, psz2: LPCWSTR, nChar: INT): INT {
|
|
1643
|
+
return Shell32.Load('StrCmpNIW')(psz1, psz2, nChar);
|
|
1644
|
+
}
|
|
1645
|
+
|
|
1646
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strcmpnw
|
|
1647
|
+
public static StrCmpNW(psz1: LPCWSTR, psz2: LPCWSTR, nChar: INT): INT {
|
|
1648
|
+
return Shell32.Load('StrCmpNW')(psz1, psz2, nChar);
|
|
1649
|
+
}
|
|
1650
|
+
|
|
1651
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strrchra
|
|
1652
|
+
public static StrRChrA(pszStart: LPCSTR, pszEnd: LPCSTR | NULL, wMatch: WORD): LPSTR {
|
|
1653
|
+
return Shell32.Load('StrRChrA')(pszStart, pszEnd, wMatch);
|
|
1654
|
+
}
|
|
1655
|
+
|
|
1656
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strrchria
|
|
1657
|
+
public static StrRChrIA(pszStart: LPCSTR, pszEnd: LPCSTR | NULL, wMatch: WORD): LPSTR {
|
|
1658
|
+
return Shell32.Load('StrRChrIA')(pszStart, pszEnd, wMatch);
|
|
1659
|
+
}
|
|
1660
|
+
|
|
1661
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strrchriw
|
|
1662
|
+
public static StrRChrIW(pszStart: LPCWSTR, pszEnd: LPCWSTR | NULL, wMatch: WORD): LPWSTR {
|
|
1663
|
+
return Shell32.Load('StrRChrIW')(pszStart, pszEnd, wMatch);
|
|
1664
|
+
}
|
|
1665
|
+
|
|
1666
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strrchrw
|
|
1667
|
+
public static StrRChrW(pszStart: LPCWSTR, pszEnd: LPCWSTR | NULL, wMatch: WORD): LPWSTR {
|
|
1668
|
+
return Shell32.Load('StrRChrW')(pszStart, pszEnd, wMatch);
|
|
1669
|
+
}
|
|
1670
|
+
|
|
1671
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strrstria
|
|
1672
|
+
public static StrRStrIA(pszSource: LPCSTR, pszLast: LPCSTR | NULL, pszSrch: LPCSTR): LPSTR {
|
|
1673
|
+
return Shell32.Load('StrRStrIA')(pszSource, pszLast, pszSrch);
|
|
1674
|
+
}
|
|
1675
|
+
|
|
1676
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strrstriw
|
|
1677
|
+
public static StrRStrIW(pszSource: LPCWSTR, pszLast: LPCWSTR | NULL, pszSrch: LPCWSTR): LPWSTR {
|
|
1678
|
+
return Shell32.Load('StrRStrIW')(pszSource, pszLast, pszSrch);
|
|
1679
|
+
}
|
|
1680
|
+
|
|
1681
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strstra
|
|
1682
|
+
public static StrStrA(pszFirst: LPCSTR, pszSrch: LPCSTR): LPSTR {
|
|
1683
|
+
return Shell32.Load('StrStrA')(pszFirst, pszSrch);
|
|
1684
|
+
}
|
|
1685
|
+
|
|
1686
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strstria
|
|
1687
|
+
public static StrStrIA(pszFirst: LPCSTR, pszSrch: LPCSTR): LPSTR {
|
|
1688
|
+
return Shell32.Load('StrStrIA')(pszFirst, pszSrch);
|
|
1689
|
+
}
|
|
1690
|
+
|
|
1691
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strstriw
|
|
1692
|
+
public static StrStrIW(pszFirst: LPCWSTR, pszSrch: LPCWSTR): LPWSTR {
|
|
1693
|
+
return Shell32.Load('StrStrIW')(pszFirst, pszSrch);
|
|
1694
|
+
}
|
|
1695
|
+
|
|
1696
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-strstrw
|
|
1697
|
+
public static StrStrW(pszFirst: LPCWSTR, pszSrch: LPCWSTR): LPWSTR {
|
|
1698
|
+
return Shell32.Load('StrStrW')(pszFirst, pszSrch);
|
|
1699
|
+
}
|
|
1700
|
+
|
|
1701
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-wowshellexecute
|
|
1702
|
+
public static WOWShellExecute(hwnd: HWND | 0n, lpOperation: LPCSTR | NULL, lpFile: LPCSTR, lpParameters: LPCSTR | NULL, lpDirectory: LPCSTR | NULL, nShowCmd: INT, lpfnCBWinExec: LPVOID): HINSTANCE {
|
|
1703
|
+
return Shell32.Load('WOWShellExecute')(hwnd, lpOperation, lpFile, lpParameters, lpDirectory, nShowCmd, lpfnCBWinExec);
|
|
1704
|
+
}
|
|
1705
|
+
|
|
1706
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-win32deletefile
|
|
1707
|
+
public static Win32DeleteFile(pszPath: LPCWSTR): BOOL {
|
|
1708
|
+
return Shell32.Load('Win32DeleteFile')(pszPath);
|
|
1709
|
+
}
|
|
1710
|
+
|
|
1711
|
+
// https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-writecabinetstate
|
|
1712
|
+
public static WriteCabinetState(pcs: PCABINETSTATE): BOOL {
|
|
1713
|
+
return Shell32.Load('WriteCabinetState')(pcs);
|
|
1714
|
+
}
|
|
1715
|
+
}
|
|
1716
|
+
|
|
1717
|
+
export default Shell32;
|