windows-nt/Source/XPSP1/NT/admin/activec/samples/sdksamples/openserv/statnode.h
2020-09-26 16:20:57 +08:00

90 lines
2.7 KiB
C++

//==============================================================;
//
// This source code is only intended as a supplement to
// existing Microsoft documentation.
//
//
//
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
// PURPOSE.
//
// Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
//
//
//
//==============================================================;
#ifndef _SNAPINBASE_H
#define _SNAPINBASE_H
#include "DeleBase.h"
class CStaticNode : public CDelegationBase {
public:
CStaticNode();
virtual ~CStaticNode();
virtual const _TCHAR *GetDisplayName(int nCol = 0) {
static _TCHAR szDisplayName[256] = {0};
LoadString(g_hinst, IDS_SNAPINNAME, szDisplayName, sizeof(szDisplayName));
if (*snapInData.m_host != 0) {
_tcscat(szDisplayName, _T(" ("));
_tcscat(szDisplayName, snapInData.m_host);
_tcscat(szDisplayName, _T(")"));
}
return szDisplayName;
}
virtual const GUID & getNodeType() { return thisGuid; }
virtual const int GetBitmapIndex() { return INDEX_NONE; }
public:
// virtual functions go here (for MMCN_*)
virtual HRESULT OnExpand(IConsoleNameSpace *pConsoleNameSpace, IConsole *pConsole, HSCOPEITEM parent);
virtual HRESULT CreatePropertyPages(IPropertySheetCallback *lpProvider, LONG_PTR handle);
virtual HRESULT HasPropertySheets();
virtual HRESULT GetWatermarks(HBITMAP *lphWatermark,
HBITMAP *lphHeader,
HPALETTE *lphPalette,
BOOL *bStretch);
private:
enum { NUMBER_OF_CHILDREN = 4 };
CDelegationBase *children[NUMBER_OF_CHILDREN];
// {2974380C-4C4B-11d2-89D8-000021473128}
static const GUID thisGuid;
struct privateData {
_TCHAR m_host[MAX_PATH];
BOOL m_fIsRadioLocalMachine;
BOOL m_fAllowOverrideMachineNameOut;
bool m_isDirty;
privateData() : m_isDirty(false) {
ZeroMemory(m_host, sizeof(m_host));
m_fIsRadioLocalMachine = TRUE;
m_fAllowOverrideMachineNameOut = FALSE;
}
} snapInData;
static BOOL CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
public:
LONG getDataSize() { return sizeof(privateData); }
void *getData() { return &snapInData; }
bool isDirty() { return snapInData.m_isDirty; }
void clearDirty() { snapInData.m_isDirty = false; };
_TCHAR *getHost() { return *snapInData.m_host == 0 ? NULL : snapInData.m_host; }
};
#endif // _SNAPINBASE_H