[Not tested] Works the same as it's VB IIF equivalent. IIf will coerce an expression into Boolean and return values based on that expression.
All three arguments are passed by value and not by reference. You cannot pass object references by value. Returns variant.
if cbool(expression) then IIf = Value_if_true else IIf = Value_if_false