Я просто занимался вызовом GetPrivateProfileString и GetPrivateProfileSection в kernel32 из .NET и столкнулся с чем-то странным, которого я не понимаю.GetPrivateProfileString Oddity
Давайте начнем с этого encantation:
Private Declare Unicode Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringW" (_
ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString() As Char, _
ByVal nSize As Int32, _
ByVal lpFileName As String) As Int32
Если я передать (раздел) lpApplicationName, не lpKeyName и не lpDefault, я должен получить все ключи для этого раздела, и на самом деле я: 50% времени.
Если файл ini имеет имя lpApplicationName, начинающееся с первой строки, буфер ничего не возвращает. Если значение lpApplicationName указано во второй строке файла, оно возвращает ожидаемые значения.
Сначала я решил использовать версию W и Unicode в объявлении, но изменение их, похоже, не имеет эффекта.
Что мне не хватает?
Есть ли способ сказать студии прекратить писать BOMS для простых тестовых файлов? – claco 2008-09-24 01:16:09
Мне не было известно о том, что спецификация ползает тайно. Я почти потратил час, задаваясь вопросом, что происходит, прежде чем я нашел ваш ответ. Большой! – 2010-11-20 09:24:24