mirror of https://github.com/lianthony/NT4.0
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.
111 lines
1.8 KiB
111 lines
1.8 KiB
//
|
|
// Validation code
|
|
//
|
|
|
|
#include "proj.h"
|
|
#pragma hdrstop
|
|
|
|
//
|
|
// Validations
|
|
//
|
|
|
|
|
|
BOOL
|
|
IsValidHWND(
|
|
HWND hwnd)
|
|
{
|
|
/* Ask User if this is a valid window. */
|
|
|
|
return(IsWindow(hwnd));
|
|
}
|
|
|
|
|
|
BOOL
|
|
IsValidHANDLE(
|
|
HANDLE hnd)
|
|
{
|
|
return(EVAL(hnd != INVALID_HANDLE_VALUE));
|
|
}
|
|
|
|
|
|
BOOL
|
|
IsValidShowCmd(
|
|
int nShow)
|
|
{
|
|
BOOL bResult;
|
|
|
|
switch (nShow)
|
|
{
|
|
case SW_HIDE:
|
|
case SW_SHOWNORMAL:
|
|
case SW_SHOWMINIMIZED:
|
|
case SW_SHOWMAXIMIZED:
|
|
case SW_SHOWNOACTIVATE:
|
|
case SW_SHOW:
|
|
case SW_MINIMIZE:
|
|
case SW_SHOWMINNOACTIVE:
|
|
case SW_SHOWNA:
|
|
case SW_RESTORE:
|
|
case SW_SHOWDEFAULT:
|
|
bResult = TRUE;
|
|
break;
|
|
|
|
default:
|
|
bResult = FALSE;
|
|
TRACE_MSG(TF_ERROR, "IsValidShowCmd(): Invalid show command %d.",
|
|
nShow);
|
|
break;
|
|
}
|
|
|
|
return(bResult);
|
|
}
|
|
|
|
|
|
BOOL
|
|
IsValidPath(
|
|
LPCTSTR pcszPath)
|
|
{
|
|
return(IS_VALID_STRING_PTR(pcszPath, CTSTR) &&
|
|
EVAL((UINT)lstrlen(pcszPath) < MAX_PATH));
|
|
}
|
|
|
|
|
|
BOOL
|
|
IsValidPathResult(
|
|
HRESULT hr,
|
|
LPCTSTR pcszPath,
|
|
UINT cchPathBufLen)
|
|
{
|
|
return((hr == S_OK &&
|
|
EVAL(IsValidPath(pcszPath)) &&
|
|
EVAL((UINT)lstrlen(pcszPath) < cchPathBufLen)) ||
|
|
(hr != S_OK &&
|
|
EVAL(! cchPathBufLen ||
|
|
! pcszPath ||
|
|
! *pcszPath)));
|
|
}
|
|
|
|
|
|
BOOL
|
|
IsValidExtension(
|
|
LPCTSTR pcszExt)
|
|
{
|
|
return(IS_VALID_STRING_PTR(pcszExt, CTSTR) &&
|
|
EVAL(lstrlen(pcszExt) < MAX_PATH) &&
|
|
EVAL(*pcszExt == TEXT('.')));
|
|
}
|
|
|
|
|
|
BOOL
|
|
IsValidIconIndex(
|
|
HRESULT hr,
|
|
LPCTSTR pcszIconFile,
|
|
UINT cchIconFileBufLen,
|
|
int niIcon)
|
|
{
|
|
return(EVAL(IsValidPathResult(hr, pcszIconFile, cchIconFileBufLen)) &&
|
|
EVAL(hr == S_OK ||
|
|
! niIcon));
|
|
}
|
|
|
|
|