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.

81 lines
2.5 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. // INTEL Corporation Proprietary Information
  3. // This listing is supplied under the terms of a license agreement with Intel
  4. // Corporation and many not be copied nor disclosed except in accordance
  5. // with the terms of that agreement.
  6. // Copyright (c) 11/95 Intel Corporation.
  7. //
  8. //
  9. // Module Name: isubmit.h
  10. // Abstract: Header file for Generic Submit Interfaces
  11. // Environment: MSVC 4.0, OLE 2
  12. /////////////////////////////////////////////////////////////////////////////////
  13. #ifndef ISUBMIT_H
  14. #define ISUBMIT_H
  15. #include <winsock2.h>
  16. #ifdef __cplusplus
  17. #define DEFAULT_PARAM_ZERO =0
  18. #else
  19. #define DEFAULT_PARAM_ZERO
  20. #endif
  21. //Interfaces
  22. #undef INTERFACE
  23. #define INTERFACE ISubmitCallback
  24. DECLARE_INTERFACE_(ISubmitCallback,IUnknown)
  25. {
  26. // *** IUnknown methods ***
  27. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj)PURE;
  28. STDMETHOD_(ULONG,AddRef)(THIS)PURE;
  29. STDMETHOD_(ULONG,Release)(THIS)PURE;
  30. STDMETHOD_(void,SubmitComplete)(THIS_ void *pUserToken, HRESULT Error)PURE;
  31. STDMETHOD_(void,ReportError)(THIS_ HRESULT Error, int DEFAULT_PARAM_ZERO)PURE;
  32. };
  33. #undef INTERFACE
  34. #define INTERFACE ISubmit
  35. DECLARE_INTERFACE_(ISubmit,IUnknown)
  36. {
  37. // *** IUnknown methods ***
  38. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj)PURE;
  39. STDMETHOD_(ULONG,AddRef)(THIS)PURE;
  40. STDMETHOD_(ULONG,Release)(THIS)PURE;
  41. STDMETHOD(InitSubmit)(THIS_ ISubmitCallback *pSubmitCallback)PURE;
  42. STDMETHOD(Submit)(THIS_ WSABUF *pWSABuffer, DWORD BufferCount,
  43. void *pUserToken, HRESULT Error)PURE;
  44. STDMETHOD_(void,ReportError)(THIS_ HRESULT Error)PURE;
  45. STDMETHOD(Flush)(THIS)PURE;
  46. };
  47. #undef INTERFACE
  48. #define INTERFACE ISubmitUser
  49. DECLARE_INTERFACE_(ISubmitUser,IUnknown)
  50. {
  51. // *** IUnknown methods ***
  52. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj)PURE;
  53. STDMETHOD_(ULONG,AddRef)(THIS)PURE;
  54. STDMETHOD_(ULONG,Release)(THIS)PURE;
  55. STDMETHOD(SetOutput)(THIS_ IUnknown *pSubmit)PURE;
  56. };
  57. /////////////////////////////////////////////////////////////////////////////
  58. // Interface ids
  59. //
  60. // {A92D97A1-66CD-11cf-B9BA-00AA00A89C1D}
  61. DEFINE_GUID( IID_ISubmitCallback, 0xa92d97a1, 0x66cd, 0x11cf, 0xb9, 0xba, 0x0, 0xaa, 0x0, 0xa8, 0x9c, 0x1d);
  62. // {A92D97A2-66CD-11cf-B9BA-00AA00A89C1D}
  63. DEFINE_GUID( IID_ISubmit, 0xa92d97a2, 0x66cd, 0x11cf, 0xb9, 0xba, 0x0, 0xaa, 0x0, 0xa8, 0x9c, 0x1d);
  64. // {0C1EA742-C917-11cf-A9C3-00AA00A4BE0C}
  65. DEFINE_GUID( IID_ISubmitUser, 0xc1ea742, 0xc917, 0x11cf, 0xa9, 0xc3, 0x0, 0xaa, 0x0, 0xa4, 0xbe, 0xc);
  66. #endif /* ISUBMIT_H */