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.

50 lines
1.3 KiB

  1. #ifndef __ASYN_OBJECT_ASYNC_DJFDVINOTHDLKJ
  2. #define __ASYN_OBJECT_ASYNC_DJFDVINOTHDLKJ
  3. #include "Wbemidl.h"
  4. #include "DataSrc.h"
  5. enum ENUMTYPE
  6. {
  7. ENUM_NAMESPACE,
  8. ENUM_CLASS,
  9. ENUM_INSTANCE,
  10. ENUM_SCOPE_INSTANCE
  11. };
  12. class CAsyncObjectSink : public IWbemObjectSink
  13. {
  14. // Declare the reference count for the object.
  15. LONG m_lRef;
  16. struct NSNODE *m_pParent;
  17. HTREEITEM m_hItem;
  18. HWND m_hTreeWnd;
  19. DataSource *m_pDataSrc;
  20. ENUMTYPE m_enumType;
  21. bool m_bChildren;
  22. IWbemObjectSink *m_pStub;
  23. public:
  24. CAsyncObjectSink(HWND hTreeWnd, HTREEITEM hItem,struct NSNODE *parent,DataSource *dataSrc, ENUMTYPE eType);
  25. ~CAsyncObjectSink();
  26. // IUnknown methods
  27. virtual ULONG STDMETHODCALLTYPE AddRef();
  28. virtual ULONG STDMETHODCALLTYPE Release();
  29. virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppv);
  30. // IWbemObjectSink methods
  31. virtual HRESULT STDMETHODCALLTYPE Indicate(
  32. /* [in] */ long lObjectCount,
  33. /* [size_is][in] */ IWbemClassObject __RPC_FAR *__RPC_FAR *apObjArray);
  34. virtual HRESULT STDMETHODCALLTYPE SetStatus(
  35. /* [in] */ long lFlags,
  36. /* [in] */ HRESULT hResult,
  37. /* [in] */ BSTR strParam,
  38. /* [in] */ IWbemClassObject __RPC_FAR *pObjParam);
  39. HRESULT SetSinkStub(IWbemObjectSink *pStub);
  40. IWbemObjectSink* GetSinkStub();
  41. };
  42. #endif //__ASYN_OBJECT_ASYNC_DJFDVINOTHDLKJ