Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
1.8 KiB

  1. #ifndef __SHELLEXT_H_INCLUDED
  2. #define __SHELLEXT_H_INCLUDED
  3. #include <windows.h>
  4. #include <shlobj.h>
  5. #include <wiapropui.h>
  6. interface IWiaItem;
  7. interface IWiaItem;
  8. interface IWiaPropUI;
  9. STDAPI_(HRESULT) PropertySheetFromDevice(
  10. IN LPCWSTR szDeviceId,
  11. DWORD dwFlags,
  12. HWND hParent
  13. );
  14. STDAPI_(HRESULT) PropertySheetFromItem(
  15. IN LPCWSTR szDeviceId,
  16. IN LPCWSTR szItemName,
  17. DWORD dwFlags,
  18. HWND hParent
  19. );
  20. STDAPI_(HRESULT) CreateWiaPropertySheetPages(
  21. LPPROPSHEETHEADER ppsh,
  22. IWiaItem *pItem
  23. );
  24. STDAPI_(HRESULT) IMGetDeviceIdFromIDL( LPITEMIDLIST pidl, CSimpleStringWide &strDeviceId);
  25. STDAPI_(HRESULT) GetDeviceFromDeviceId( LPCWSTR pWiaItemRootId, REFIID riid, LPVOID * ppWiaItemRoot, BOOL bShowProgress );
  26. HRESULT IMGetItemFromIDL (LPITEMIDLIST pidl, IWiaItem **ppItem, BOOL bShowProgress=FALSE);
  27. STDAPI_(HKEY) GetDeviceUIKey (IUnknown *pWiaItemRoot, DWORD dwType);
  28. STDAPI_(HKEY) GetGeneralUIKey (IUnknown *pWiaItemRoot, DWORD dwType);
  29. STDAPI_(HRESULT) DoDeleteAllItems(BSTR bstrDeviceId, HWND hwndOwner);
  30. STDAPI_(HRESULT) TakeAPicture (BSTR strDeviceId);
  31. // types of extensions
  32. #define WIA_UI_PROPSHEETHANDLER 0
  33. #define WIA_UI_CONTEXTMENUHANDLER 1
  34. #define WIA_UI_ICONHANDLER 2
  35. typedef HRESULT (WINAPI *WIAMAKEFULLPIDLFORDEVICE)(
  36. LPWSTR pDeviceId,
  37. IN OUT LPITEMIDLIST * ppidl
  38. );
  39. // Module name. To be used with LoadLibrary
  40. #define WIA_SHELL_EXTENSION_MODULE TEXT("wiashext.dll")
  41. // Exported function names
  42. #define WIA_PROPERTYSHEETFROMDEVICE "PropertySheetFromDevice"
  43. #define WIA_CREATEWIAPROPERTYSHEETPAGES "CreateWiaPropertySheetPages"
  44. // Exported function prototypes
  45. typedef HRESULT (WINAPI *CreateWiaPropertySheetPagesProc)( LPPROPSHEETHEADER, IWiaItem * );
  46. typedef HRESULT (WINAPI *PropertySheetFromDeviceProc)( LPWSTR, DWORD, HWND );
  47. #endif //__SHELLEXT_H_INCLUDED