Leaked source code of windows server 2003
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.
 
 
 
 
 
 

74 lines
2.0 KiB

#pragma once
#include "resource.h"
#include "wlbsparm.h"
#define WLBS_IP_FIELD_ZERO_LOW 1
#define WLBS_IP_FIELD_ZERO_HIGH 223
//+----------------------------------------------------------------------------
//
// class CIpSubnetMaskControl
//
// Description: Add error checking for an IP address and subnet mask pair.
// Generate default subnetmask based on ip
//
// History: shouse initial code
// fengsun Created class 1/12/01
//
//+----------------------------------------------------------------------------
class CIpSubnetMaskControl
{
public:
CIpSubnetMaskControl(DWORD dwIpAddressResourceId, DWORD dwSubnetMaskResourceId);
~CIpSubnetMaskControl(){};
void OnInitDialog(HWND hWnd, HINSTANCE hInstance);
LRESULT OnSubnetMask(WORD wNotifyCode);
LRESULT OnIpFieldChange(int idCtrl, LPNMHDR pnmh);
void SetInfo(const WCHAR* pszIpAddress, const WCHAR* pszSubnetMask);
void UpdateInfo(OUT WCHAR* pszIpAddress, OUT WCHAR* pszSubnetMask);
/*
We expect that above outparams are of
(CVY_MAX_CL_IP_ADDR + 1) and (CVY_MAX_CL_NET_MASK + 1)
characters each, respectively.
*/
bool ValidateInfo();
protected:
DWORD m_dwIpAddressId;
DWORD m_dwSubnetMaskId;
HWND m_hWndDialog; // parent dialog window handle
HINSTANCE m_hInstance; // instance handle for error string resource
//
// The PropertySheet may call us twice for the same change, so we have to do the bookkeeping to make
// sure we only alert the user once. Use static variables to keep track of our state. This will
// allow us to ignore duplicate alerts.
//
struct {
UINT IpControl;
int Field;
int Value;
UINT RejectTimes;
} m_IPFieldChangeState;
};
INT
WINAPIV
NcMsgBox (
IN HINSTANCE hinst,
IN HWND hwnd,
IN UINT unIdCaption,
IN UINT unIdFormat,
IN UINT unStyle,
IN ...);