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.

197 lines
7.5 KiB

  1. // Copyright (c) 2000-2001 Microsoft Corporation, All Rights Reserved
  2. // JobObjSecLimitInfoProv.h
  3. #pragma once
  4. _COM_SMARTPTR_TYPEDEF(IWbemServices, __uuidof(IWbemServices));
  5. /*****************************************************************************/
  6. // Component
  7. /*****************************************************************************/
  8. class CJobObjSecLimitInfoProv : public CUnknown,
  9. public IWbemServices,
  10. public IWbemProviderInit
  11. {
  12. public:
  13. // IDispatch declaration and implementation
  14. DECLARE_IUNKNOWN
  15. // Constructor
  16. CJobObjSecLimitInfoProv(){}
  17. // Destructor
  18. virtual ~CJobObjSecLimitInfoProv(){}
  19. // Creation
  20. static HRESULT CreateInstance(CUnknown** ppNewComponent);
  21. // Interface IWbemProviderInit
  22. STDMETHOD(Initialize)(
  23. /* [in] */ LPWSTR pszUser,
  24. /* [in] */ LONG lFlags,
  25. /* [in] */ LPWSTR pszNamespace,
  26. /* [in] */ LPWSTR pszLocale,
  27. /* [in] */ IWbemServices *pNamespace,
  28. /* [in] */ IWbemContext *pCtx,
  29. /* [in] */ IWbemProviderInitSink *pInitSink);
  30. SCODE GetByPath( BSTR Path, IWbemClassObject FAR* FAR* pObj, IWbemContext *pCtx);
  31. // Interface IWbemServices
  32. STDMETHOD(OpenNamespace)(
  33. /* [in] */ const BSTR Namespace,
  34. /* [in] */ long lFlags,
  35. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  36. /* [unique][in][out] */ IWbemServices __RPC_FAR *__RPC_FAR *ppWorkingNamespace,
  37. /* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppResult) {return WBEM_E_NOT_SUPPORTED;}
  38. STDMETHOD(CancelAsyncCall)(
  39. /* [in] */ IWbemObjectSink __RPC_FAR *pSink) {return WBEM_E_NOT_SUPPORTED;}
  40. HRESULT STDMETHODCALLTYPE QueryObjectSink(
  41. /* [in] */ long lFlags,
  42. /* [out] */ IWbemObjectSink __RPC_FAR *__RPC_FAR *ppResponseHandler) {return WBEM_E_NOT_SUPPORTED;}
  43. STDMETHOD(GetObject)(
  44. /* [in] */ const BSTR ObjectPath,
  45. /* [in] */ long lFlags,
  46. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  47. /* [unique][in][out] */ IWbemClassObject __RPC_FAR *__RPC_FAR *ppObject,
  48. /* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult) {return WBEM_E_NOT_SUPPORTED;}
  49. STDMETHOD(GetObjectAsync)(
  50. /* [in] */ const BSTR ObjectPath,
  51. /* [in] */ long lFlags,
  52. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  53. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler);
  54. STDMETHOD(PutClass)(
  55. /* [in] */ IWbemClassObject __RPC_FAR *pObject,
  56. /* [in] */ long lFlags,
  57. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  58. /* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult) {return WBEM_E_NOT_SUPPORTED;}
  59. STDMETHOD(PutClassAsync)(
  60. /* [in] */ IWbemClassObject __RPC_FAR *pObject,
  61. /* [in] */ long lFlags,
  62. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  63. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;}
  64. STDMETHOD(DeleteClass)(
  65. /* [in] */ const BSTR Class,
  66. /* [in] */ long lFlags,
  67. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  68. /* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult) {return WBEM_E_NOT_SUPPORTED;}
  69. STDMETHOD(DeleteClassAsync)(
  70. /* [in] */ const BSTR Class,
  71. /* [in] */ long lFlags,
  72. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  73. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;}
  74. STDMETHOD(CreateClassEnum)(
  75. /* [in] */ const BSTR Superclass,
  76. /* [in] */ long lFlags,
  77. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  78. /* [out] */ IEnumWbemClassObject __RPC_FAR *__RPC_FAR *ppEnum) {return WBEM_E_NOT_SUPPORTED;}
  79. STDMETHOD(CreateClassEnumAsync)(
  80. /* [in] */ const BSTR Superclass,
  81. /* [in] */ long lFlags,
  82. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  83. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;}
  84. STDMETHOD(PutInstance)(
  85. /* [in] */ IWbemClassObject __RPC_FAR *pInst,
  86. /* [in] */ long lFlags,
  87. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  88. /* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult) {return WBEM_E_NOT_SUPPORTED;}
  89. STDMETHOD(PutInstanceAsync)(
  90. /* [in] */ IWbemClassObject __RPC_FAR *pInst,
  91. /* [in] */ long lFlags,
  92. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  93. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;}
  94. STDMETHOD(DeleteInstance)(
  95. /* [in] */ const BSTR ObjectPath,
  96. /* [in] */ long lFlags,
  97. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  98. /* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult) {return WBEM_E_NOT_SUPPORTED;}
  99. STDMETHOD(DeleteInstanceAsync)(
  100. /* [in] */ const BSTR ObjectPath,
  101. /* [in] */ long lFlags,
  102. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  103. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;}
  104. STDMETHOD(CreateInstanceEnum)(
  105. /* [in] */ const BSTR Class,
  106. /* [in] */ long lFlags,
  107. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  108. /* [out] */ IEnumWbemClassObject __RPC_FAR *__RPC_FAR *ppEnum) {return WBEM_E_NOT_SUPPORTED;}
  109. STDMETHOD(CreateInstanceEnumAsync)(
  110. /* [in] */ const BSTR Class,
  111. /* [in] */ long lFlags,
  112. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  113. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler);
  114. STDMETHOD(ExecQuery)(
  115. /* [in] */ const BSTR QueryLanguage,
  116. /* [in] */ const BSTR Query,
  117. /* [in] */ long lFlags,
  118. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  119. /* [out] */ IEnumWbemClassObject __RPC_FAR *__RPC_FAR *ppEnum) {return WBEM_E_NOT_SUPPORTED;}
  120. STDMETHOD(ExecQueryAsync)(
  121. /* [in] */ const BSTR QueryLanguage,
  122. /* [in] */ const BSTR Query,
  123. /* [in] */ long lFlags,
  124. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  125. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler);
  126. STDMETHOD(ExecNotificationQuery)(
  127. /* [in] */ const BSTR QueryLanguage,
  128. /* [in] */ const BSTR Query,
  129. /* [in] */ long lFlags,
  130. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  131. /* [out] */ IEnumWbemClassObject __RPC_FAR *__RPC_FAR *ppEnum) {return WBEM_E_NOT_SUPPORTED;}
  132. STDMETHOD(ExecNotificationQueryAsync)(
  133. /* [in] */ const BSTR QueryLanguage,
  134. /* [in] */ const BSTR Query,
  135. /* [in] */ long lFlags,
  136. /* [in] */ IWbemContext __RPC_FAR *pCtx,
  137. /* [in] */ IWbemObjectSink __RPC_FAR *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;}
  138. STDMETHOD(ExecMethod)( const BSTR, const BSTR, long, IWbemContext*,
  139. IWbemClassObject*, IWbemClassObject**, IWbemCallResult**) {return WBEM_E_NOT_SUPPORTED;}
  140. STDMETHOD(ExecMethodAsync)( const BSTR, const BSTR, long,
  141. IWbemContext*, IWbemClassObject*, IWbemObjectSink*) {return WBEM_E_NOT_SUPPORTED;}
  142. private:
  143. HRESULT Enumerate(
  144. IWbemContext __RPC_FAR *pCtx,
  145. IWbemObjectSink __RPC_FAR *pResponseHandler,
  146. std::vector<_bstr_t>& rgNamedJOs,
  147. CJobObjSecLimitInfoProps& cjoslip,
  148. IWbemClassObject** ppStatusObject);
  149. IWbemServicesPtr m_pNamespace;
  150. CHString m_chstrNamespace;
  151. };