mirror of https://github.com/tongzx/nt5src
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.
80 lines
1.7 KiB
80 lines
1.7 KiB
class CNWCOMPATPrintQueue:INHERIT_TRACKING,
|
|
public ISupportErrorInfo,
|
|
public IADsPrintQueue,
|
|
public IADsPrintQueueOperations,
|
|
public IADsPropertyList,
|
|
public CCoreADsObject
|
|
{
|
|
|
|
public:
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj);
|
|
|
|
DECLARE_STD_REFCOUNTING;
|
|
|
|
DECLARE_IDispatch_METHODS;
|
|
|
|
NW_DECLARE_ISupportErrorInfo_METHODS;
|
|
|
|
DECLARE_IADs_METHODS;
|
|
|
|
DECLARE_IADsPrintQueue_METHODS;
|
|
|
|
DECLARE_IADsPrintQueueOperations_METHODS;
|
|
|
|
DECLARE_IADsPropertyList_METHODS;
|
|
|
|
|
|
CNWCOMPATPrintQueue();
|
|
|
|
~CNWCOMPATPrintQueue();
|
|
|
|
static
|
|
HRESULT
|
|
CNWCOMPATPrintQueue::CreatePrintQueue(
|
|
LPTSTR lpszADsParent,
|
|
LPTSTR pszPrinterName,
|
|
CCredentials &Credentials,
|
|
DWORD dwObjectState,
|
|
REFIID riid,
|
|
LPVOID * ppvoid
|
|
);
|
|
|
|
static
|
|
HRESULT
|
|
CNWCOMPATPrintQueue::AllocatePrintQueueObject(
|
|
CNWCOMPATPrintQueue FAR * FAR * ppPrintQueue
|
|
);
|
|
|
|
protected:
|
|
|
|
STDMETHOD(GetInfo)(
|
|
THIS_ BOOL fExplicit,
|
|
DWORD dwPropertyID
|
|
);
|
|
|
|
HRESULT
|
|
CNWCOMPATPrintQueue::UnMarshall_GeneralInfo(
|
|
LPPRINTER_INFO_2 lpPrinterInfo2,
|
|
BOOL fExplicit
|
|
);
|
|
|
|
HRESULT
|
|
CNWCOMPATPrintQueue::UnMarshall_Operation(
|
|
LPPRINTER_INFO_2 lpPrinterInfo2,
|
|
BOOL fExplicit
|
|
);
|
|
HRESULT
|
|
CNWCOMPATPrintQueue::MarshallAndSet(
|
|
HANDLE hPrinter,
|
|
LPPRINTER_INFO_2 lpPrinterInfo2
|
|
);
|
|
|
|
WCHAR _szUncPrinterName[MAX_PATH];
|
|
|
|
CDispatchMgr * _pDispMgr;
|
|
CPropertyCache * _pPropertyCache;
|
|
|
|
CCredentials _Credentials;
|
|
NWCONN_HANDLE _hConn;
|
|
};
|