Microsoft KB Archive/110826

= DOCERR: GetPrivateProfileString Declaration Incorrect in API =

Article ID: 110826

Article Last Modified on 5/6/2003

-

APPLIES TO


 * Microsoft Visual Basic 3.0 Professional Edition
 * Microsoft Visual Basic 4.0 Standard Edition
 * Microsoft Visual Basic 4.0 Professional Edition
 * Microsoft Visual Basic 4.0 Enterprise Edition

-



This article was previously published under Q110826



SUMMARY
This article corrects a documentation error for the GetPrivateProfileString function call as described in the Windows version 3.1 API Reference help file that shipped with Microsoft Visual Basic version 3.0 for Windows.

This same documentation error occurs in Visual Basic version 4.0 in the WIN32API.TXT file.



MORE INFORMATION
The declaration is incorrectly shown as:

Declare Function GetPrivateProfileString Lib "Kernel" (ByVal lpApplicationName As String,                                 lpKeyName As Any,                                  ByVal lpDefault As String,                                  ByVal lpReturnedString As String,                                  ByVal nSize As Integer,                                  ByVal lpFileName As String) As Integer

The correct declaration is as follows:

Declare Function GetPrivateProfileString Lib "Kernel" (ByVal lpApplicationName As String,                                 ByVal lpKeyName As Any,                                  ByVal lpDefault As String,                                  ByVal lpReturnedString As String,                                  ByVal nSize As Integer,                                  ByVal lpFileName As String) As Integer

NOTE: Each Declare statement must be entered as one, single line.

Notice that the "ByVal" keyword was omitted from the second parameter in the online reference. This means that the function is passing the second parameter (lpKeyName) by reference. It needs to be passed by value.

The most common problem that occurs when using the incorrect declaration is that when the function is called, it returns a copy of "lpdefault" in the "lpReturnedString" parameter instead of the actual value referenced by KeyName.

Additional query words: 3.00 4.00

Keywords: KB110826

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.