@@ -8,11 +8,13 @@ use shared::guiddef::{REFGUID, REFIID};
8
8
use shared:: minwindef:: { BOOL , DWORD , UINT , ULONG , WORD } ;
9
9
use shared:: windef:: { COLORREF , HICON , HWND , RECT } ;
10
10
use um:: commctrl:: HIMAGELIST ;
11
+ use um:: minwinbase:: { WIN32_FIND_DATAA , WIN32_FIND_DATAW } ;
11
12
use um:: objidl:: IBindCtx ;
12
13
use um:: propkeydef:: REFPROPERTYKEY ;
13
14
use um:: propsys:: GETPROPERTYSTOREFLAGS ;
15
+ use um:: shtypes:: { PCIDLIST_ABSOLUTE , PIDLIST_ABSOLUTE } ;
14
16
use um:: unknwnbase:: { IUnknown , IUnknownVtbl } ;
15
- use um:: winnt:: { HRESULT , LPCWSTR , LPWSTR , ULONGLONG , WCHAR } ;
17
+ use um:: winnt:: { HRESULT , LPCSTR , LPCWSTR , LPSTR , LPWSTR , ULONGLONG , WCHAR } ;
16
18
DEFINE_GUID ! { CLSID_DesktopWallpaper ,
17
19
0xc2cf3110 , 0x460e , 0x4fc1 , 0xb9 , 0xd0 , 0x8a , 0x1c , 0x0c , 0x9c , 0xc4 , 0xbd }
18
20
DEFINE_GUID ! { CLSID_TaskbarList ,
@@ -344,6 +346,142 @@ interface IDesktopWallpaper(IDesktopWallpaperVtbl): IUnknown(IUnknownVtbl) {
344
346
enable: BOOL ,
345
347
) -> HRESULT ,
346
348
} }
349
+ RIDL ! { #[ uuid( 0x000214ee , 0x0000 , 0x0000 , 0xc0 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x46 ) ]
350
+ interface IShellLinkA ( IShellLinkAVtbl ) : IUnknown ( IUnknownVtbl ) {
351
+ fn GetPath (
352
+ pszFile: LPSTR ,
353
+ cch: c_int,
354
+ pfd: * mut WIN32_FIND_DATAA ,
355
+ fFlags: DWORD ,
356
+ ) -> HRESULT ,
357
+ fn GetIDList (
358
+ ppidl: * mut PIDLIST_ABSOLUTE ,
359
+ ) -> HRESULT ,
360
+ fn SetIDList (
361
+ pidl: PCIDLIST_ABSOLUTE ,
362
+ ) -> HRESULT ,
363
+ fn GetDescription (
364
+ pszName: LPSTR ,
365
+ cch: c_int,
366
+ ) -> HRESULT ,
367
+ fn SetDescription (
368
+ pszName: LPCSTR ,
369
+ ) -> HRESULT ,
370
+ fn GetWorkingDirectory (
371
+ pszDir: LPSTR ,
372
+ cch: c_int,
373
+ ) -> HRESULT ,
374
+ fn SetWorkingDirectory (
375
+ pszDir: LPCSTR ,
376
+ ) -> HRESULT ,
377
+ fn GetArguments (
378
+ pszArgs: LPSTR ,
379
+ cch: c_int,
380
+ ) -> HRESULT ,
381
+ fn SetArguments (
382
+ pszArgs: LPCSTR ,
383
+ ) -> HRESULT ,
384
+ fn GetHotkey (
385
+ pwHotkey: * mut WORD ,
386
+ ) -> HRESULT ,
387
+ fn SetHotkey (
388
+ wHotkey: WORD ,
389
+ ) -> HRESULT ,
390
+ fn GetShowCmd (
391
+ piShowCmd: * mut c_int,
392
+ ) -> HRESULT ,
393
+ fn SetShowCmd (
394
+ iShowCmd: c_int,
395
+ ) -> HRESULT ,
396
+ fn GetIconLocation (
397
+ pszIconPath: LPSTR ,
398
+ cch: c_int,
399
+ piIcon: * mut c_int,
400
+ ) -> HRESULT ,
401
+ fn SetIconLocation (
402
+ pszIconPath: LPCSTR ,
403
+ iIcon: c_int,
404
+ ) -> HRESULT ,
405
+ fn SetRelativePath (
406
+ pszPathRel: LPCSTR ,
407
+ dwReserved: DWORD ,
408
+ ) -> HRESULT ,
409
+ fn Resolve (
410
+ hwnd: HWND ,
411
+ fFlags: DWORD ,
412
+ ) -> HRESULT ,
413
+ fn SetPath (
414
+ pszFile: LPCSTR ,
415
+ ) -> HRESULT ,
416
+ } }
417
+ RIDL ! { #[ uuid( 0x000214f9 , 0x0000 , 0x0000 , 0xc0 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x46 ) ]
418
+ interface IShellLinkW ( IShellLinkWVtbl ) : IUnknown ( IUnknownVtbl ) {
419
+ fn GetPath (
420
+ pszFile: LPWSTR ,
421
+ cch: c_int,
422
+ pfd: * mut WIN32_FIND_DATAW ,
423
+ fFlags: DWORD ,
424
+ ) -> HRESULT ,
425
+ fn GetIDList (
426
+ ppidl: * mut PIDLIST_ABSOLUTE ,
427
+ ) -> HRESULT ,
428
+ fn SetIDList (
429
+ pidl: PCIDLIST_ABSOLUTE ,
430
+ ) -> HRESULT ,
431
+ fn GetDescription (
432
+ pszName: LPWSTR ,
433
+ cch: c_int,
434
+ ) -> HRESULT ,
435
+ fn SetDescription (
436
+ pszName: LPCWSTR ,
437
+ ) -> HRESULT ,
438
+ fn GetWorkingDirectory (
439
+ pszDir: LPWSTR ,
440
+ cch: c_int,
441
+ ) -> HRESULT ,
442
+ fn SetWorkingDirectory (
443
+ pszDir: LPCWSTR ,
444
+ ) -> HRESULT ,
445
+ fn GetArguments (
446
+ pszArgs: LPWSTR ,
447
+ cch: c_int,
448
+ ) -> HRESULT ,
449
+ fn SetArguments (
450
+ pszArgs: LPCWSTR ,
451
+ ) -> HRESULT ,
452
+ fn GetHotkey (
453
+ pwHotkey: * mut WORD ,
454
+ ) -> HRESULT ,
455
+ fn SetHotkey (
456
+ wHotkey: WORD ,
457
+ ) -> HRESULT ,
458
+ fn GetShowCmd (
459
+ piShowCmd: * mut c_int,
460
+ ) -> HRESULT ,
461
+ fn SetShowCmd (
462
+ iShowCmd: c_int,
463
+ ) -> HRESULT ,
464
+ fn GetIconLocation (
465
+ pszIconPath: LPWSTR ,
466
+ cch: c_int,
467
+ piIcon: * mut c_int,
468
+ ) -> HRESULT ,
469
+ fn SetIconLocation (
470
+ pszIconPath: LPCWSTR ,
471
+ iIcon: c_int,
472
+ ) -> HRESULT ,
473
+ fn SetRelativePath (
474
+ pszPathRel: LPCWSTR ,
475
+ dwReserved: DWORD ,
476
+ ) -> HRESULT ,
477
+ fn Resolve (
478
+ hwnd: HWND ,
479
+ fFlags: DWORD ,
480
+ ) -> HRESULT ,
481
+ fn SetPath (
482
+ pszFile: LPCWSTR ,
483
+ ) -> HRESULT ,
484
+ } }
347
485
RIDL ! { #[ uuid( 0xc2cf3110 , 0x460e , 0x4fc1 , 0xb9 , 0xd0 , 0x8a , 0x1c , 0x0c , 0x9c , 0xc4 , 0xbd ) ]
348
486
class DesktopWallpaper ; }
349
487
RIDL ! { #[ uuid( 0x00021400 , 0x0000 , 0x0000 , 0xc0 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x46 ) ]
0 commit comments