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.

139 lines
3.0 KiB

  1. /*****************************************************************************\
  2. * MODULE: bidispl.idl
  3. *
  4. * PURPOSE: Implementation of COM interface for BidiSpooler
  5. *
  6. * Copyright (C) 2000 Microsoft Corporation
  7. *
  8. * History:
  9. *
  10. * 03/07/00 Weihai Chen (weihaic) Created
  11. *
  12. \*****************************************************************************/
  13. #include <olectl.h>
  14. import "oaidl.idl";
  15. import "ocidl.idl";
  16. [
  17. object,
  18. uuid(8F348BD7-4B47-4755-8A9D-0F422DF3DC89),
  19. helpstring("BidiSpl Interface"),
  20. pointer_default(unique)
  21. ]
  22. interface IBidiRequest : IUnknown
  23. {
  24. HRESULT SetSchema (
  25. [in] const LPCWSTR pszSchema) ;
  26. HRESULT SetInputData (
  27. [in] const DWORD dwType,
  28. [in] const BYTE *pData,
  29. [in] const UINT uSize);
  30. HRESULT GetResult (
  31. [out] HRESULT *phr);
  32. HRESULT GetOutputData (
  33. [in] const DWORD dwIndex,
  34. [out] LPWSTR *ppszSchema,
  35. [out] DWORD *pdwType,
  36. [out] BYTE **ppData,
  37. [out] ULONG *uSize);
  38. HRESULT GetEnumCount (
  39. [out] DWORD *pdwTotal);
  40. }
  41. [
  42. object,
  43. uuid(D752F6C0-94A8-4275-A77D-8F1D1A1121AE),
  44. helpstring("BidiRequestContainer Interface"),
  45. pointer_default(unique)
  46. ]
  47. interface IBidiRequestContainer : IUnknown
  48. {
  49. HRESULT AddRequest (
  50. [in] IBidiRequest *pRequest);
  51. HRESULT GetEnumObject (
  52. [out] IEnumUnknown **ppenum);
  53. HRESULT GetRequestCount (
  54. [out] ULONG *puCount);
  55. }
  56. [
  57. object,
  58. uuid(D580DC0E-DE39-4649-BAA8-BF0B85A03A97),
  59. helpstring("BidiSpl Interface"),
  60. pointer_default(unique)
  61. ]
  62. interface IBidiSpl : IUnknown
  63. {
  64. HRESULT BindDevice (
  65. [in] const LPCWSTR pszDeviceName,
  66. [in] const DWORD dwAccess);
  67. HRESULT UnbindDevice ();
  68. HRESULT SendRecv (
  69. [in] const LPCWSTR pszAction,
  70. [in] IBidiRequest *pRequest);
  71. HRESULT MultiSendRecv (
  72. [in] const LPCWSTR pszAction,
  73. [in] IBidiRequestContainer *pRequestContainer);
  74. }
  75. [
  76. uuid (99147959-6905-46d6-A75F-E0594F012B74),
  77. version (1.0),
  78. helpstring ("bidispl 1.0 Type Library")
  79. ]
  80. library IBidiSplLib
  81. {
  82. importlib("stdole32.tlb");
  83. importlib("stdole2.tlb");
  84. [
  85. uuid (B9162A23-45F9-47cc-80F5-FE0FE9B9E1A2),
  86. helpstring ("BidiRequest Class")
  87. ]
  88. coclass BidiRequest
  89. {
  90. [default] interface IBidiRequest;
  91. };
  92. [
  93. uuid (FC5B8A24-DB05-4a01-8388-22EDF6C2BBBA),
  94. helpstring ("BidiRequestContainer Class")
  95. ]
  96. coclass BidiRequestContainer
  97. {
  98. [default] interface IBidiRequestContainer;
  99. };
  100. [
  101. uuid (2A614240-A4C5-4c33-BD87-1BC709331639),
  102. helpstring ("BidiSpl Class")
  103. ]
  104. coclass BidiSpl
  105. {
  106. [default] interface IBidiSpl;
  107. };
  108. }