windows-nt/Source/XPSP1/NT/ds/adsi/msext/cprinter.hxx
2020-09-26 16:20:57 +08:00

135 lines
2.3 KiB
C++

/*++
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
);
};