Windows NT 4.0 source code leak
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

//
// 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));
}