.\" -*- nroff -*- .\" Generated file - DO NOT EDIT! .TH VarMul 3w "Oct 2012" "Wine API" "Wine API" .SH NAME \fBVarMul\fR (OLEAUT32.156) .SH SYNOPSIS HRESULT VarMul ( LPVARIANT \fIleft\fR, LPVARIANT \fIright\fR, LPVARIANT \fIresult\fR ) .SH DESCRIPTION .PP Multiply two variants. .SH PARAMS \fIleft\fR \fB[In]\fR First variant. .PP \fIright\fR \fB[In]\fR Second variant. .PP \fIresult\fR \fB[Out]\fR Result variant. .PP .SH RETURNS .PP \fBSuccess:\fR \fBS_OK\fR. .PP \fBFailure:\fR An \fBHRESULT\fR error code indicating the error. .SH NOTES .PP Native VarMul up to and including WinXP doesn't like \fBI1\fR, \fBUI2\fR, \fBUI4\fR, \fBUI8\fR, \fBINT\fR and \fBUINT\fR as input variants. But it can multiply apples with oranges. .PP Native VarMul doesn't check for \fBNULL\fR in/out pointers and crashes. We do the same here. .SH FIXME .PP Overflow checking for \fBR8\fR (double) overflow. Return \fBDISP_E_OVERFLOW\fR in that case. .SH IMPLEMENTATION .PP Declared in \fB"oleauto.h"\fR. .PP Implemented in \fB"dlls/oleaut32/variant.c"\fR. .PP Debug channel \fB"variant"\fR.