|
|
/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
cprinter.hxx
Abstract: Contains definitions for
CWinNTPrintQueue
Author:
Ram Viswanathan (ramv) 11-18-95
Revision History:
--*/
class CLDAPPrintQueue:INHERIT_TRACKING, public IADsPrintQueue, public IADsPrintQueueOperations, public IPrivateUnknown, public IPrivateDispatch, public IADsExtension, public INonDelegatingUnknown
{
public:
/* IUnknown methods */ STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj);
DECLARE_DELEGATING_REFCOUNTING
//
// INonDelegatingUnkown methods declaration for NG_QI, definition for
// NG_AddRef adn NG_Release.
//
STDMETHOD(NonDelegatingQueryInterface)(THIS_ const IID&, void ** );
DECLARE_NON_DELEGATING_REFCOUNTING
DECLARE_IDispatch_METHODS;
DECLARE_IADs_METHODS;
STDMETHOD(Operate)( THIS_ DWORD dwCode, VARIANT varUserName, VARIANT varPassword, VARIANT varReserved );
STDMETHOD(PrivateGetIDsOfNames)( THIS_ REFIID riid, OLECHAR FAR* FAR* rgszNames, unsigned int cNames, LCID lcid, DISPID FAR* rgdispid) ;
STDMETHOD(PrivateInvoke)( THIS_ DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS FAR* pdispparams, VARIANT FAR* pvarResult, EXCEPINFO FAR* pexcepinfo, unsigned int FAR* puArgErr ) ;
DECLARE_IPrivateUnknown_METHODS
DECLARE_IPrivateDispatch_METHODS
DECLARE_IADsPrintQueue_METHODS;
DECLARE_IADsPrintQueueOperations_METHODS;
//
// constructor and destructor
//
CLDAPPrintQueue();
~CLDAPPrintQueue();
static HRESULT CLDAPPrintQueue:: CreatePrintQueue( IUnknown * pUnkOuter, REFIID riid, LPVOID * ppvoid );
protected:
IADs FAR * _pADs;
CAggregateeDispMgr * _pDispMgr;
CCredentials _Credentials;
BOOL _fDispInitialized;
private:
HRESULT InitCredentials( VARIANT * pvarUserName, VARIANT * pvarPassword, VARIANT * pdwAuthFlags );
};
|