|
|
//
// T C P U T I L . H
//
// Header of utility functions
//
#pragma once
#include "netcfgx.h"
#include "tcpip.h"
#include "ipctrl.h"
inline BOOL FHrFailed(HRESULT hr) { return FAILED(hr); }
#define CORg(hResult) \
do\ {\ hr = (hResult);\ if (FHrFailed(hr))\ {\ goto Error;\ }\ }\ while (FALSE)
HRESULT HrLoadSubkeysFromRegistry(const HKEY hkeyParam, OUT VSTR * const pvstrAdapters);
HRESULT HrIsComponentInstalled(INetCfg * pnc, const GUID& rguidClass, PCWSTR szInfId, OUT BOOL * const pfInstalled);
// Get the four numbers from an Ip Address
VOID GetNodeNum(PCWSTR szIpAddress, DWORD ardw[4]);
BOOL IsContiguousSubnet(PCWSTR pszSubnet);
VOID ReplaceFirstAddress(VSTR * pvstr, PCWSTR szIpAddress); VOID ReplaceSecondAddress(VSTR * pvstr, PCWSTR szIpAddress);
BOOL GenerateSubnetMask(IpControl & ipAddress, tstring * pstrSubnetMask);
BOOL FRegQueryBool(const HKEY hkey, PCWSTR szName, BOOL fDefaultValue);
VOID ResetLmhostsFile();
int IPAlertPrintf(HWND hwndParent, UINT ids, int iCurrent, int iLow, int iHigh);
VOID IpCheckRange(LPNMIPADDRESS lpnmipa, HWND hWnd, int iLow, int iHigh, BOOL fCheckLoopback = FALSE);
VOID SetButtons(HANDLES& h, const int nNumLimit = -1);
BOOL ListBoxRemoveAt(HWND hListBox, int idx, tstring * pstrRemovedItem); BOOL ListBoxInsertAfter(HWND hListBox, int idx, PCWSTR szItem);
HRESULT HrRegRenameTree(HKEY hkeyRoot, PCWSTR szOldName, PCWSTR szNewName); HRESULT HrRegCopyKeyTree(HKEY hkeyDest, HKEY hkeySrc );
BOOL fQueryFirstAddress(const VSTR & vstr, tstring * const pstr); BOOL fQuerySecondAddress(const VSTR & vstr, tstring * const pstr);
BOOL FIsIpInRange(PCWSTR szIp);
VOID ShowContextHelp(HWND hDlg, UINT uCommand, const DWORD* pdwHelpIDs);
VOID AddInterfacesToAdapterInfo( ADAPTER_INFO* pAdapter, DWORD dwNumInterfaces);
HRESULT GetGuidArrayFromIfaceColWithCoTaskMemAlloc( const IFACECOL& IfaceIds, GUID** ppdw, DWORD* pdwSize);
VOID GetInterfaceName( PCWSTR pszAdapterName, const GUID& guidIfaceId, tstring* pstrIfaceName);
HRESULT RetrieveStringFromOptionList(PCWSTR pszOption, PCWSTR szIdentifier, tstring & str);
VOID ConstructOptionListString(ADAPTER_INFO* pAdapter, tstring & strOptionList);
HRESULT HrParseOptionList(PCWSTR pszOption, ADAPTER_INFO* pAdapter);
HRESULT HrGetPrimaryDnsDomain(tstring *pstr);
VOID WriteTcpSetupErrorLog(UINT nIdErrorFormat, ...);
DWORD IPStringToDword(LPCTSTR strIP);
void DwordToIPString(DWORD dwIP, tstring & strIP);
int SearchListViewItem(HWND hListView, int iSubItem, LPCWSTR psz);
|