Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2008, 16:23   #11
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от joker Посмотреть сообщение
Вы хотите сказать, что анси версия может не работать?
Нет, не хочу. Вы в функцию передаёте то пустой указатель, то нулевой размер буфера и т.п. но она не возвращает никаких указателей! Она копирует данные в указанный буфер указанного размера. Посмотрите внимательно на смысл параметров lpData и lpcbData:
RegQueryValueEx. Собственно, как я понимаю, и Stilet о том же.
B_N вне форума Ответить с цитированием
Старый 04.04.2008, 16:54   #12
joker
Форумчанин
 
Регистрация: 23.09.2007
Сообщений: 147
По умолчанию

не знаю, ну допустим буфер не пустой, указатель я не обнуляю, размер если я обозначу, то это предельно допустимый размер будет, или я его должен нулевым оставить, чтобы мне в него вернули размер записи?!
Я надеваю тапочки, ищу чем похмелиться, ах, если я сейчас умру, то на... я родился
joker вне форума Ответить с цитированием
Старый 04.04.2008, 17:06   #13
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Цитата:
Сообщение от joker Посмотреть сообщение
не знаю, ну допустим буфер не пустой, указатель я не обнуляю, размер если я обозначу, то это предельно допустимый размер будет, или я его должен нулевым оставить, чтобы мне в него вернули размер записи?!
MSDN:
Цитата:
................
................
lpData
[out] Pointer to a buffer that receives the value's data. This parameter can be NULL if the data is not required.
lpcbData
[in, out] Pointer to a variable that specifies the size of the buffer pointed to by the lpData parameter, in bytes. When the function returns, this variable contains the size of the data copied to lpData.
If the data has the REG_SZ, REG_MULTI_SZ or REG_EXPAND_SZ type, then lpcbData will also include the size of the terminating null character or characters.

The lpcbData parameter can be NULL only if lpData is NULL.

If the buffer specified by lpData parameter is not large enough to hold the data, the function returns ERROR_MORE_DATA and stores the required buffer size in the variable pointed to by lpcbData. In this case, the contents of the lpData buffer are undefined.

If lpData is NULL, and lpcbData is non-NULL, the function returns ERROR_SUCCESS and stores the size of the data, in bytes, in the variable pointed to by lpcbData. This enables an application to determine the best way to allocate a buffer for the value's data.
................
................
Ну что Вы всё гадаете, берите буфер, килобайт, скажем, передавайте его адрес и размер и всё она туда запишет.
B_N вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск