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.
119 lines
2.5 KiB
119 lines
2.5 KiB
/*++
|
|
|
|
Copyright (c) 1995 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
cenumjob.hxx
|
|
|
|
Abstract:
|
|
Contains definitions for CWinNTPrintJobsCollection
|
|
and for CWinNTJobsEnumVar
|
|
|
|
Author:
|
|
|
|
Ram Viswanathan (ramv) 11-28-95
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
class CWinNTJobsEnumVar;
|
|
|
|
class CWinNTPrintJobsCollection: INHERIT_TRACKING,
|
|
ISupportErrorInfo,
|
|
public IADsCollection
|
|
{
|
|
|
|
public:
|
|
/* IUnknown methods */
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
|
|
|
|
DECLARE_STD_REFCOUNTING;
|
|
|
|
DECLARE_IDispatch_METHODS;
|
|
|
|
DECLARE_ISupportErrorInfo_METHODS;
|
|
|
|
DECLARE_IADsCollection_METHODS;
|
|
|
|
//
|
|
// constructor and destructor
|
|
//
|
|
|
|
CWinNTPrintJobsCollection();
|
|
~CWinNTPrintJobsCollection();
|
|
|
|
static HRESULT Create(LPWSTR pszPrinterADsPath,
|
|
CWinNTCredentials& Credentials,
|
|
CWinNTPrintJobsCollection ** ppJobsCollection
|
|
);
|
|
|
|
protected:
|
|
|
|
CAggregatorDispMgr * _pDispMgr;
|
|
CWinNTJobsEnumVar *_pCJobsEnumVar;
|
|
HANDLE _hPrinter;
|
|
LPWSTR _pszPrinterName;
|
|
LPWSTR _pszADsPrinterPath;
|
|
CWinNTCredentials _Credentials;
|
|
|
|
};
|
|
|
|
class CWinNTJobsEnumVar : INHERIT_TRACKING,
|
|
public IEnumVARIANT
|
|
{
|
|
public:
|
|
|
|
/* IUnknown methods */
|
|
|
|
STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
|
|
|
|
DECLARE_STD_REFCOUNTING;
|
|
|
|
DECLARE_IEnumVARIANT_METHODS;
|
|
|
|
static HRESULT Create(HANDLE hprinter,
|
|
LPTSTR pszADsPrinterPath,
|
|
CWinNTCredentials& Credentials,
|
|
CWinNTJobsEnumVar FAR* FAR*);
|
|
|
|
CWinNTJobsEnumVar();
|
|
~CWinNTJobsEnumVar();
|
|
|
|
//
|
|
// Helper functions
|
|
//
|
|
|
|
friend HRESULT FillSafeArray(HANDLE hPrinter,
|
|
LPTSTR pszPrinterPath,
|
|
CWinNTCredentials& Credentials,
|
|
CWinNTJobsEnumVar * pJobsEnumVar);
|
|
|
|
|
|
protected:
|
|
|
|
LPWSTR _pszADsPrinterPath;
|
|
SAFEARRAY FAR* _pSafeArray;
|
|
LONG _lCurrentPosition;
|
|
ULONG _cElements;
|
|
LONG _lLBound;
|
|
ULONG _cMax;
|
|
CWinNTCredentials _Credentials;
|
|
|
|
};
|
|
|
|
|
|
//
|
|
// Helper functions
|
|
//
|
|
|
|
BOOL
|
|
MyEnumJobs(HANDLE hPrinter,
|
|
DWORD dwFirstJob,
|
|
DWORD dwNoJobs,
|
|
DWORD dwLevel,
|
|
LPBYTE *lplpbJobs,
|
|
DWORD *pcbBuf,
|
|
LPDWORD lpdwReturned
|
|
);
|