FIX: Error C2664 'AVIFileCreateStream' from Visual C++ 2.0/2.1Last reviewed: October 29, 1997Article ID: Q139825 |
4.00 | 3.50 3.51 2.00 2.10 WINDOWS | WINDOWS NTkbmm kbprg kbfixlist kbbuglist The information in this article applies to:
SYMPTOMSThe following error is generated when you compile an application under Visual C++ version 2.0 or 2.1 that calls AVIFileCreateStream() and does not use UNICODE:
error C2664: 'AVIFileCreateStream' : cannot convert parameter 3 from 'struct _AVISTREAMINFOA*' to 'struct _AVISTREAMINFOW*' CAUSEThe Vfw.h header file from Visual C++ version 2.0 or 2.1 has the following declaration for the AVIFileCreateStream() function: STDAPI AVIFileCreateStream(PAVIFILE pfile, PAVISTREAM FAR *ppavi, AVISTREAMINFOW FAR *psi);Note the wide version of the structure in the third parameter: AVISTREAMINFOW. There is no ANSI declaration for this function in vfw.h. The header file is incorrect. It should list an ANSI version of the function that takes an ANSI AVISTREAMINFO in addition to the UNICODE version.
STATUSMicrosoft has confirmed this to be a bug in Visual C++ versions 2.0 and 2.1. This bug was corrected in Visual C++ version 2.2. The Vfw.h header file from that product declares an AVIFileCreateStreamA() function in addition to the W variety, AVIFileCreateStreamW().
|
Additional reference words: 3.50 2.10 2.00 4.00 Windows 95
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |