62 lines
2.3 KiB
C
62 lines
2.3 KiB
C
|
|
/* Copyright (C) 1991, Microsoft Corporation, all rights reserved
|
|
|
|
maskctrl.h - TCP/IP Address custom control, global definitions
|
|
|
|
November 10, 1992 - Greg Strange
|
|
February 11, 1997 - Marco Chierotti (extend to IPv6 and TTL for DNS snapin)
|
|
*/
|
|
|
|
#ifndef _MASKCTRL_H
|
|
#define _MASKCTRL_H
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////
|
|
// Messages sent to DNS_MaskControl
|
|
|
|
#define DNS_MASK_CTRL_CLEAR WM_USER+100 // no parameters
|
|
|
|
#define DNS_MASK_CTRL_SET WM_USER+101 // wparam = array if DWORD, lparam = elements of the array
|
|
#define DNS_MASK_CTRL_GET WM_USER+102 // wparam = array if DWORD, lparam = elements of the array
|
|
|
|
#define DNS_MASK_CTRL_SET_LOW_RANGE WM_USER+103 // wparam = field, lparam = low val
|
|
#define DNS_MASK_CTRL_SET_HI_RANGE WM_USER+104 // wparam = field, lparam = hi val
|
|
|
|
#define DNS_MASK_CTRL_SETFOCUS WM_USER+105 // wparam = field
|
|
#define DNS_MASK_CTRL_ISBLANK WM_USER+106 // no parameters
|
|
#define DNS_MASK_CTRL_SET_ALERT WM_USER+107 // wparam = function pointer for alert on field error
|
|
#define DNS_MASK_CTRL_ENABLE_FIELD WM_USER+108 // wparam = field, lparam = 1/0 to enable/disable
|
|
|
|
// convert an IP address from 4 WORDs format into a single DWORD
|
|
#define MAKEIPADDRESS(b1,b2,b3,b4) ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4))))
|
|
|
|
// get the first 8 bits out of a DWORD
|
|
#define OCTECT(x) (x & 0x000000ff)
|
|
|
|
// extract IP octects from a DWORD
|
|
#define FIRST_IPADDRESS(x) ((x>>24) & 0xff)
|
|
#define SECOND_IPADDRESS(x) ((x>>16) & 0xff)
|
|
#define THIRD_IPADDRESS(x) ((x>>8) & 0xff)
|
|
#define FOURTH_IPADDRESS(x) (x & 0xff)
|
|
|
|
// value for marking an empty field in the UI
|
|
#define FIELD_EMPTY ((DWORD)-1)
|
|
|
|
// helpful definitions for IPv4 and IPv4 field
|
|
#define EMPTY_IPV4_FIELD (0xff)
|
|
#define EMPTY_IPV4 ((DWORD)-1)
|
|
|
|
/* Strings defining the different control class names */
|
|
#define DNS_IP_V4_ADDRESS_CLASS TEXT("DNS_IPv4AddressCtrl")
|
|
#define DNS_IP_V6_ADDRESS_CLASS TEXT("DNS_IPv6AddressCtrl")
|
|
#define DNS_TTL_CLASS TEXT("DNS_TTLCtrl")
|
|
|
|
|
|
|
|
BOOL PASCAL DNS_ControlInit(HANDLE hInstance, LPCTSTR lpszClassName, WNDPROC lpfnWndProc,
|
|
LPCWSTR lpFontName, int nFontSize);
|
|
|
|
BOOL PASCAL DNS_ControlsInitialize(HANDLE hInstance, LPCWSTR lpFontName, int nFontSize);
|
|
|
|
|
|
#endif // _MASKCTRL_H
|