120 lines
2.5 KiB
C++
120 lines
2.5 KiB
C++
|
/*++
|
||
|
|
||
|
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
|
||
|
);
|