windows-nt/Source/XPSP1/NT/printscan/print/spooler/oleprn/dsprintq.h

50 lines
1.4 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
// DSPrintQueue.h : Declaration of the CDSPrintQueue
#ifndef __DSPRINTQUEUE_H_
#define __DSPRINTQUEUE_H_
/////////////////////////////////////////////////////////////////////////////
// CDSPrintQueue
class ATL_NO_VTABLE CDSPrintQueue :
public CComObjectRootEx<CComMultiThreadModel>,
public CComCoClass<CDSPrintQueue, &CLSID_DSPrintQueue>,
public ISupportErrorInfo,
public IDispatchImpl<IDSPrintQueue, &IID_IDSPrintQueue, &LIBID_OLEPRNLib>
{
public:
CDSPrintQueue();
~CDSPrintQueue();
DECLARE_REGISTRY_RESOURCEID(IDR_DSPRINTQUEUE)
BEGIN_COM_MAP(CDSPrintQueue)
COM_INTERFACE_ENTRY(IDSPrintQueue)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()
// ISupportsErrorInfo
STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
// IDSPrintQueue
public:
STDMETHOD(get_Path)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(Publish)(DWORD dwAction);
STDMETHOD(get_Container)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_Container)(/*[in]*/ BSTR newVal);
STDMETHOD(get_Name)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_Name)(/*[in]*/ BSTR newVal);
STDMETHOD(get_UNCName)(/*[out, retval]*/ BSTR *pVal);
STDMETHOD(put_UNCName)(/*[in]*/ BSTR newVal);
private:
BSTR m_bstrContainer;
BSTR m_bstrName;
BSTR m_bstrUNCName;
BSTR m_bstrADsPath;
HINSTANCE m_hWinspool;
BOOL (*m_pfnPublishPrinter)(HWND, PCWSTR, PCWSTR, PCWSTR, PWSTR *, DWORD);
};
#endif //__DSPRINTQUEUE_H_