DOCERR: GetPrivateProfileString Declaration Incorrect in API

ID: Q110826


The information in this article applies to:
  • Microsoft Visual Basic Professional Edition for Windows, version 3.0
  • Microsoft Visual Basic Standard, Professional, and Enterprise Editions for Windows, version 4.0


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 :
Version :
Platform :
Issue type :


Last Reviewed: June 10, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.