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.

49 lines
1.4 KiB

  1. // DSPrintQueue.h : Declaration of the CDSPrintQueue
  2. #ifndef __DSPRINTQUEUE_H_
  3. #define __DSPRINTQUEUE_H_
  4. /////////////////////////////////////////////////////////////////////////////
  5. // CDSPrintQueue
  6. class ATL_NO_VTABLE CDSPrintQueue :
  7. public CComObjectRootEx<CComMultiThreadModel>,
  8. public CComCoClass<CDSPrintQueue, &CLSID_DSPrintQueue>,
  9. public ISupportErrorInfo,
  10. public IDispatchImpl<IDSPrintQueue, &IID_IDSPrintQueue, &LIBID_OLEPRNLib>
  11. {
  12. public:
  13. CDSPrintQueue();
  14. ~CDSPrintQueue();
  15. DECLARE_REGISTRY_RESOURCEID(IDR_DSPRINTQUEUE)
  16. BEGIN_COM_MAP(CDSPrintQueue)
  17. COM_INTERFACE_ENTRY(IDSPrintQueue)
  18. COM_INTERFACE_ENTRY(IDispatch)
  19. COM_INTERFACE_ENTRY(ISupportErrorInfo)
  20. END_COM_MAP()
  21. // ISupportsErrorInfo
  22. STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
  23. // IDSPrintQueue
  24. public:
  25. STDMETHOD(get_Path)(/*[out, retval]*/ BSTR *pVal);
  26. STDMETHOD(Publish)(DWORD dwAction);
  27. STDMETHOD(get_Container)(/*[out, retval]*/ BSTR *pVal);
  28. STDMETHOD(put_Container)(/*[in]*/ BSTR newVal);
  29. STDMETHOD(get_Name)(/*[out, retval]*/ BSTR *pVal);
  30. STDMETHOD(put_Name)(/*[in]*/ BSTR newVal);
  31. STDMETHOD(get_UNCName)(/*[out, retval]*/ BSTR *pVal);
  32. STDMETHOD(put_UNCName)(/*[in]*/ BSTR newVal);
  33. private:
  34. BSTR m_bstrContainer;
  35. BSTR m_bstrName;
  36. BSTR m_bstrUNCName;
  37. BSTR m_bstrADsPath;
  38. HINSTANCE m_hWinspool;
  39. BOOL (*m_pfnPublishPrinter)(HWND, PCWSTR, PCWSTR, PCWSTR, PWSTR *, DWORD);
  40. };
  41. #endif //__DSPRINTQUEUE_H_