VariantImp
f90VB Modules
f90VBDefs, f90VBVariants
Summary
Performs a bitwise implication on two variants.
Syntax
| type(VARIANT) function VariantImp | (VarLeft, VarRight, iRet) |
| type(VARIANT),intent(in):: | VarLeft |
| type(VARIANT),intent(in):: | VarRight |
| integer(HRESULT_KIND),intent(out),optional:: | iRet |
Arguments
VarLeft and VarRight [Input]
Two variant values. Must be initialized variants.
iRet [Output/Optional]
Upon return, iRet contains S_OK or an error code. See comments for more information.
Comments
The function performs a bitwise implication on the two provided variants using the following rules:
| If VarLeft is | If VarRight is | Then VariantImp is | |
| TRUE | TRUE | TRUE | |
| TRUE | FALSE | TRUE | |
| TRUE | NULL | TRUE | |
| FALSE | TRUE | TRUE | |
| FALSE | FALSE | TRUE | |
| FALSE | NULL | TRUE | |
| NULL | TRUE | TRUE | |
| NULL | FALSE | NULL | |
| NULL | NULL | NULL | |
Argument iRet
Indicates success or failure of the subroutine. The following codes can be returned in this argument:
| Value returned in argument iRet | Description | |
| S_OK | Success. | |
| DISP_E_BADVARTYPE | One or both of the passed variant types are not a valid type of variant. | |
| DISP_E_TYPEMISMATCH | At least one of the variants could not be coerced to the appropriate type for this operation. | |
| E_INVALIDARG | One of the arguments is invalid. | |
| E_OUTOFMEMORY | Memory could not be allocated for the operation.. | |
Examples
See example for VariantAdd.