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.

265 lines
5.9 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright(C) Microsoft Corporation, 1997 - 1999 all rights reserved.
  4. //
  5. // Module: sdohelperfuncs.h
  6. //
  7. // Project: Everest
  8. //
  9. // Description: Helper Functions
  10. //
  11. // Log:
  12. //
  13. // When Who What
  14. // ---- --- ----
  15. // 6/08/98 TLP Initial Version
  16. // 7/03/98 MAM Adapted from \ias\sdo\sdoias to use in UI
  17. // 11/03/98 MAM Moved GetSdo/PutSdo routines here from mmcutility.h
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. #ifndef __INC_IAS_SDO_HELPER_FUNCS_H
  21. #define __INC_IAS_SDO_HELPER_FUNCS_H
  22. #include <vector>
  23. #include <utility> // For "pair"
  24. //////////////////////////////////////////////////////////////////////////////
  25. // CORE HELPER FUNCTIONS
  26. //////////////////////////////////////////////////////////////////////////////
  27. ///////////////////////////////////////////////////////////////////
  28. HRESULT SDOGetCollectionEnumerator(
  29. ISdo* pSdo,
  30. LONG lPropertyId,
  31. IEnumVARIANT** ppEnum
  32. );
  33. ///////////////////////////////////////////////////////////////////
  34. HRESULT SDONextObjectFromCollection(
  35. IEnumVARIANT* pEnum,
  36. ISdo** ppSdo
  37. );
  38. ///////////////////////////////////////////////////////////////////
  39. HRESULT SDOGetComponentIdFromObject(
  40. ISdo* pSdo,
  41. LONG lPropertyId,
  42. PLONG pComponentId
  43. );
  44. ///////////////////////////////////////////////////////////////////
  45. HRESULT SDOGetSdoFromCollection(
  46. ISdo* pSdoServer,
  47. LONG lCollectionPropertyId,
  48. LONG lComponentPropertyId,
  49. LONG lComponentId,
  50. ISdo** ppSdo
  51. );
  52. //////////////////////////////////////////////////////////////////////////////
  53. /*++
  54. GetSdoVariant
  55. Gets a Variant from the SDO's and handles any error checking.
  56. --*/
  57. //////////////////////////////////////////////////////////////////////////////
  58. HRESULT GetSdoVariant(
  59. ISdo *pSdo
  60. , LONG lPropertyID
  61. , VARIANT * pVariant
  62. , UINT uiErrorID = USE_DEFAULT
  63. , HWND hWnd = NULL
  64. , IConsole *pConsole = NULL
  65. );
  66. //////////////////////////////////////////////////////////////////////////////
  67. /*++
  68. GetSdoBSTR
  69. Gets a BSTR from the SDO's and handles any error checking.
  70. --*/
  71. //////////////////////////////////////////////////////////////////////////////
  72. HRESULT GetSdoBSTR(
  73. ISdo *pSdo
  74. , LONG lPropertyID
  75. , BSTR * pBSTR
  76. , UINT uiErrorID = USE_DEFAULT
  77. , HWND hWnd = NULL
  78. , IConsole *pConsole = NULL
  79. );
  80. //////////////////////////////////////////////////////////////////////////////
  81. /*++
  82. GetSdoBOOL
  83. Gets a BOOL from the SDO's and handles any error checking.
  84. --*/
  85. //////////////////////////////////////////////////////////////////////////////
  86. HRESULT GetSdoBOOL(
  87. ISdo *pSdo
  88. , LONG lPropertyID
  89. , BOOL * pBOOL
  90. , UINT uiErrorID = USE_DEFAULT
  91. , HWND hWnd = NULL
  92. , IConsole *pConsole = NULL
  93. );
  94. //////////////////////////////////////////////////////////////////////////////
  95. /*++
  96. GetSdoI4
  97. Gets an I4 (LONG) from the SDO's and handles any error checking.
  98. --*/
  99. //////////////////////////////////////////////////////////////////////////////
  100. HRESULT GetSdoI4(
  101. ISdo *pSdo
  102. , LONG lPropertyID
  103. , LONG * pI4
  104. , UINT uiErrorID = USE_DEFAULT
  105. , HWND hWnd = NULL
  106. , IConsole *pConsole = NULL
  107. );
  108. //////////////////////////////////////////////////////////////////////////////
  109. /*++
  110. PutSdoVariant
  111. Writes a Variant to the SDO's and handles any error checking.
  112. --*/
  113. //////////////////////////////////////////////////////////////////////////////
  114. HRESULT PutSdoVariant(
  115. ISdo *pSdo
  116. , LONG lPropertyID
  117. , VARIANT * pVariant
  118. , UINT uiErrorID = USE_DEFAULT
  119. , HWND hWnd = NULL
  120. , IConsole *pConsole = NULL
  121. );
  122. //////////////////////////////////////////////////////////////////////////////
  123. /*++
  124. PutSdoBSTR
  125. Writes a BSTR to the SDO's and handles any error checking.
  126. --*/
  127. //////////////////////////////////////////////////////////////////////////////
  128. HRESULT PutSdoBSTR(
  129. ISdo *pSdo
  130. , LONG lPropertyID
  131. , BSTR *pBSTR
  132. , UINT uiErrorID = USE_DEFAULT
  133. , HWND hWnd = NULL
  134. , IConsole *pConsole = NULL
  135. );
  136. //////////////////////////////////////////////////////////////////////////////
  137. /*++
  138. PutSdoBOOL
  139. Writes a BOOL to the SDO's and handles any error checking.
  140. --*/
  141. //////////////////////////////////////////////////////////////////////////////
  142. HRESULT PutSdoBOOL(
  143. ISdo *pSdo
  144. , LONG lPropertyID
  145. , BOOL bValue
  146. , UINT uiErrorID = USE_DEFAULT
  147. , HWND hWnd = NULL
  148. , IConsole *pConsole = NULL
  149. );
  150. //////////////////////////////////////////////////////////////////////////////
  151. /*++
  152. PutSdoI4
  153. Writes an I4 (LONG) to the SDO's and handles any error checking.
  154. --*/
  155. //////////////////////////////////////////////////////////////////////////////
  156. HRESULT PutSdoI4(
  157. ISdo *pSdo
  158. , LONG lPropertyID
  159. , LONG lValue
  160. , UINT uiErrorID = USE_DEFAULT
  161. , HWND hWnd = NULL
  162. , IConsole *pConsole = NULL
  163. );
  164. //////////////////////////////////////////////////////////////////////////////
  165. /*++
  166. GetLastOLEErrorDescription
  167. Gets an error string from an interface.
  168. --*/
  169. //////////////////////////////////////////////////////////////////////////////
  170. HRESULT GetLastOLEErrorDescription(
  171. IUnknown *pUnknown
  172. , REFIID riid
  173. , BSTR *pbstrError
  174. );
  175. //////////////////////////////////////////////////////////////////////////////
  176. /*++
  177. VendorsVector
  178. STL vector wrapper for the SDO's vendor list.
  179. --*/
  180. //////////////////////////////////////////////////////////////////////////////
  181. typedef std::pair< CComBSTR, LONG > VendorPair;
  182. class VendorsVector: public std::vector< VendorPair >
  183. {
  184. public:
  185. VendorsVector( ISdoCollection * pSdoVendors );
  186. int VendorIDToOrdinal( LONG lVendorID );
  187. };
  188. #endif // __INC_IAS_SDO_HELPER_FUNCS_H