I see them many times being used together, e.g. IF IsWindow(hwnd) THEN SendMesssage(hwnd, ...). This is redundant because SendMessage does already a lot of work to validate the handle passed: it first checks if it is null and the type of handle, then if the window belongs to the calling thread, if the calling thread is not being hooked for CallWndProc, and other things.