windows-nt/Source/XPSP1/NT/ds/security/gina/samples/gptdemo/snapin.h
2020-09-26 16:20:57 +08:00

78 lines
3 KiB
C++

//
// SnapIn class
//
class CSnapIn:
public IComponent,
public IExtendPropertySheet
{
protected:
ULONG m_cRef;
LPCONSOLE m_pConsole; // Console's IFrame interface
CComponentData *m_pcd;
LPRESULTDATA m_pResult; // Result pane's interface
LPHEADERCTRL m_pHeader; // Result pane's header control interface
LPIMAGELIST m_pImageResult; // Result pane's image list interface
LPCONSOLEVERB m_pConsoleVerb; // pointer the console verb
WCHAR m_column1[20]; // Text for column 1
INT m_nColumnSize; // Size of column 1
LONG m_lViewMode; // View mode
static unsigned int m_cfNodeType;
static TCHAR m_szDefaultIcon[];
public:
CSnapIn(CComponentData *pComponent);
~CSnapIn();
//
// IUnknown methods
//
STDMETHODIMP QueryInterface(REFIID, LPVOID FAR *);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
//
// Implemented IComponent methods
//
STDMETHODIMP Initialize(LPCONSOLE);
STDMETHODIMP Destroy(long);
STDMETHODIMP Notify(LPDATAOBJECT, MMC_NOTIFY_TYPE, long, long);
STDMETHODIMP QueryDataObject(long, DATA_OBJECT_TYPES, LPDATAOBJECT *);
STDMETHODIMP GetDisplayInfo(LPRESULTDATAITEM);
STDMETHODIMP GetResultViewType(long, LPOLESTR*, long*);
STDMETHODIMP CompareObjects(LPDATAOBJECT, LPDATAOBJECT);
//
// Implemented IExtendPropertySheet methods
//
STDMETHODIMP CreatePropertyPages(LPPROPERTYSHEETCALLBACK lpProvider,
long handle, LPDATAOBJECT lpDataObject);
STDMETHODIMP QueryPagesFor(LPDATAOBJECT lpDataObject);
private:
static BOOL CALLBACK UserGroupPolDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
static BOOL CALLBACK MachineGroupPolDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
static BOOL CALLBACK GroupPolDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam, BOOL bUser);
static BOOL CALLBACK ReadmeDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
static BOOL CALLBACK NetHoodDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
static BOOL CALLBACK StartMenuDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
static BOOL AddEntry (HWND hLV, LPTSTR lpPlace, LPTSTR lpLocation);
static BOOL InitializePlacesDlg (CSnapIn* pSnapIn, HWND hDlg);
static BOOL SavePlaces (CSnapIn* pSnapIn, HWND hLV);
static BOOL RemoveEntries (CSnapIn* pSnapIn, HWND hLV);
static BOOL CALLBACK MyDocsDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
static BOOL CALLBACK AddPlaceDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
static BOOL CALLBACK MyDocsTargetDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
static BOOL CALLBACK AppearDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
};