WindowsXP-SP1/admin/snapin/dnsmgr/maskctrl.h
2020-09-30 16:53:49 +02:00

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