Сборник по задачам и примерам Assembler




Определение и изменение текущего каталога - часть 3


DWORD GetFulIPathNameCLPCTSTR ipFileName. DWORD nBufferLength, LPTSTR ipBuffer.

LPTSTR *lpFilePart): I На входе функция принимает имя файла в виде ASCIIZ-строки. На выходе —

три параметра:

  • IpBuffer — адрес буфера, в который помещается полный путь с именем

    файла;

  • nBufferLength — длина буфера, на который указывает параметр IpBuffer,

    в символах;

  • lpFilePart — адрес ячейки размером с двойное слово, в которое помещается указатель на позицию внутри буфера, идентифицированную параметром 1 pBuf fег и соответствующую первому символу имени файла после имен всех каталогов.
  • Самое интересное в этой функции — механизм ее работы. Суть его в том, что

    реально функция GetFul I PathName не ищет файл, ка имя которого указывает параметр IpBuffer. Результат своей работы — полный путь — она формирует из двух

    компонент: полного пути к текущему каталогу данного процесса и имени файла,

    наличие которого на диске функция GetFul I PathName даже не проверяет. Для подобной работы ей даже не нужно обращаться к диску. С аналогичной функцией

    ' мы уже имели дело, когда рассматривали функции MS DOS для работы с файлами, имеющими длинные имена.




    Содержание  Назад  Вперед