Source code of Windows XP (NT5)
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.
|
|
//
// Copyright 1997 - Microsoft
//
//
// CComputr.H - Computer properties class
//
#ifdef INTELLIMIRROR_GROUPS
#ifndef _CGROUP_H_
#define _CGROUP_H_
// QI Table
BEGIN_QITABLE( CGroup ) DEFINE_QI( IID_IShellExtInit, IShellExtInit , 1 ) DEFINE_QI( IID_IShellPropSheetExt, IShellPropSheetExt, 2 ) DEFINE_QI( IID_IEnumSAPs, IEnumSAPs , 4 ) END_QITABLE
// Definitions
LPVOID CGroup_CreateInstance( void );
// SAPNode Structure
typedef struct __SAPNODE { LPWSTR pszServerName; BOOL fMaster; BOOL fSlave; } SAPNODE, *LPSAPNODE;
// Private IEnumSAPs Interface
class IEnumSAPs: public IUnknown { public: STDMETHOD(Next)( ULONG celt, LPSERVICE * rgVar, ULONG *pCeltFetched) PURE; STDMETHOD(Skip)( ULONG celt) PURE; STDMETHOD(Reset)( void) PURE; STDMETHOD(Clone)( void ** ppEnum) PURE; };
// CGroup
class CGroup: public IShellExtInit, IShellPropSheetExt, IEnumSAPs { private: // Enums
enum { MODE_SHELL = 0, MODE_ADMIN };
// IUnknown
ULONG _cRef; DECLARE_QITABLE( CGroup );
UINT _uMode; // Admin or Shell mode
LPDATAOBJECT _pDataObj; // Data Object passed to ServerTab
IEnumVARIANT * _penum; // ADSI enumerator
private: // Methods
CGroup(); ~CGroup(); STDMETHOD(Init)();
public: // Methods
friend LPVOID CGroup_CreateInstance( void );
// IUnknown
STDMETHOD(QueryInterface)( REFIID riid, LPVOID *ppv ); STDMETHOD_(ULONG, AddRef)(void); STDMETHOD_(ULONG, Release)(void);
// IShellExtInit
STDMETHOD(Initialize)( LPCITEMIDLIST pidlFolder, LPDATAOBJECT lpdobj, HKEY hkeyProgID);
// IShellPropSheetExt
STDMETHOD(AddPages)( LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam); STDMETHOD(ReplacePage)( UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam);
// IEnumVARIANT
STDMETHOD(Next)( ULONG celt, LPSERVICE *rgVar, ULONG *pCeltFetched); STDMETHOD(Skip)( ULONG celt); STDMETHOD(Reset)( void); STDMETHOD(Clone)( void ** ppEnum); };
typedef CGroup* LPGROUP;
#endif // _CGROUP_H_
#endif // INTELLIMIRROR_GROUPS
|