GetTempFileName получает не те аргументы - Assembler

Узнай цену своей работы

Формулировка задачи:

Пишу на masm32, нужно использовать функцию GetTempFileName с параметрами, описанными здесь. Первый параметр задает директорию, где создается временный файл. Если указана точка, файл создается в директории запущенного процесса. Префикс - короткая строка с нулем на конце. У меня в коде такие объявления: config.inc:
.data
 
tmpdir      db ".", 0
tmpprefix       db "jn", 0
main.asm
.data?
    selfname        db MAX_PATH dup (?)
    currname        db MAX_PATH dup (?)
Функция вызывается так: invoke GetTempFileName, offset tmpdir, offset tmpprefix, FALSE, offset currname, и в этом месте программа виснет. Олли дебагер показывает, что вместо строк "." и "jn" передаются почему-то части имени исполняемого файла, а ошибка показана ERROR_DIRECTORY или как-то так. В чем тут проблема?

Решение задачи: «GetTempFileName получает не те аргументы»

textual
Листинг программы
szModulePath    db MAX_PATH dup(?)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы