Leaked source code of windows server 2003
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.

88 lines
3.1 KiB

  1. /*******************************************************************************
  2. *
  3. * (C) COPYRIGHT MICROSOFT CORPORATION, 2000
  4. *
  5. * TITLE: ITRANSPL.H
  6. *
  7. * VERSION: 1.0
  8. *
  9. * AUTHOR: ShaunIv
  10. *
  11. * DATE: 3/1/2000
  12. *
  13. * DESCRIPTION: Image transfer plugin declarations for the scanner and camera wizard
  14. *
  15. * 1. Implemented as an inproc, apartment-threaded COM component.
  16. *
  17. * 2. Component to display UI *only* during IImageTransferPlugin::OpenConnection.
  18. *
  19. * 3. UI displayed during IImageTransferPlugin::OpenConnection should be a modal dialog
  20. * using hwndParent as the parent window. This window may be NULL.
  21. *
  22. * 4. The icon returned from IImageTransferPlugin::GetPluginIcon must be
  23. * copied to a new icon using CopyIcon.
  24. *
  25. *******************************************************************************/
  26. #ifndef __ITRANSPL_H_INCLUDED
  27. #define __ITRANSPL_H_INCLUDED
  28. #undef INTERFACE
  29. #define INTERFACE IImageTransferPluginProgressCallback
  30. DECLARE_INTERFACE_(IImageTransferPluginProgressCallback, IUnknown)
  31. {
  32. //
  33. // *** IUnknown methods ***
  34. //
  35. STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  36. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  37. STDMETHOD_(ULONG,Release) (THIS) PURE;
  38. //
  39. // *** IImageTransferPluginProgressCallback methods ***
  40. //
  41. STDMETHOD(SetProgressMessage)( THIS_ BSTR bstrMessage );
  42. STDMETHOD(SetCurrentFile)( THIS_ UINT nIndex );
  43. STDMETHOD(SetOverallPercent)( THIS_ UINT nPercent );
  44. STDMETHOD(SetFilePercent)( THIS_ UINT nPercent );
  45. STDMETHOD(Cancelled)( THIS_ UINT *bCancelled );
  46. };
  47. //
  48. // {EC749A35-CE66-483a-B661-A22269F2B375}
  49. //
  50. DEFINE_GUID(IID_IImageTransferPluginProgressCallback, 0xEC749A35, 0xCE66, 0x483A, 0xB6, 0x61, 0xA2, 0x22, 0x69, 0xF2, 0xB3, 0x75);
  51. #undef INTERFACE
  52. #define INTERFACE IImageTransferPlugin
  53. DECLARE_INTERFACE_(IImageTransferPlugin, IUnknown)
  54. {
  55. //
  56. // *** IUnknown methods ***
  57. //
  58. STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  59. STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  60. STDMETHOD_(ULONG,Release) (THIS) PURE;
  61. //
  62. // *** IImageTransferPlugin methods ***
  63. //
  64. STDMETHOD(GetPluginCount)( THIS_ ULONG *pnCount );
  65. STDMETHOD(GetPluginName)( THIS_ ULONG nPluginId, BSTR *pbstrName );
  66. STDMETHOD(GetPluginDescription)( THIS_ ULONG nPluginId, BSTR *pbstrDescription );
  67. STDMETHOD(GetPluginIcon)( THIS_ ULONG nPluginId, HICON *phIcon, int nWidth, int nHeight );
  68. STDMETHOD(OpenConnection)( THIS_ HWND hwndParent, ULONG nPluginId, IImageTransferPluginProgressCallback *pImageTransferPluginProgressCallback );
  69. STDMETHOD(AddFile)( THIS_ BSTR bstrFilename, BSTR bstrDescription, const GUID &guidImageFormat, BOOL bDelete );
  70. STDMETHOD(TransferFiles)( THIS_ BSTR bstrGlobalDescription );
  71. STDMETHOD(OpenDestination)( THIS_ );
  72. STDMETHOD(CloseConnection)( THIS_ );
  73. };
  74. //
  75. // {2AC44F64-7156-46ef-B9BF-2A6D70ABC4BC}
  76. //
  77. DEFINE_GUID(IID_IImageTransferPlugin, 0x2AC44F64, 0x7156, 0x46EF, 0xB9, 0xBF, 0x2A, 0x6D, 0x70, 0xAB, 0xC4, 0xBC);
  78. #endif __ITRANSPL_H_INCLUDED