|
Формат файла PIF в различных версиях Windows
Файлы описываемого формата применяются во всех существующих на сегодня версиях Windows. Ранее файлы сходного формата применялись в программных продуктах TopView и DesqView. Эти файлы предназначены для описания способа запуска приложений DOS в среде соответствующих операционных систем и графических оболочек.
Официально формат файла PIF является недокументированным. Формат, описанный в настоящем документе, получен экспериментальным путем. Автор не несет ответственности за возможные неточности в данном документе, а также за любой ущерб, вызванный применением сведений, приведенных в настоящем документе.
В Windows 1.X, 2.X, а также в TopView и DesqView PIF-файлы состояли только из основного раздела и имели длину 0171h байт. Впоследствии, начиная с Windows 3.0, в PIF-файлах появились дополнительные разделы. Для совместимости с более ранними версиями заголовок основного раздела расположился после данных раздела, по смещению 0171h от начала файла. Все разделы, кроме основного, могут отсутствовать. В этом случае недостающие данные принимают значения по умолчанию или берутся из других разделов. Все разделы, кроме основного, могут располагаться в произвольном порядке. Данные основного раздела всегда располагаются в начале файла. Минимальная длина PIF-файла, воспринимаемого всеми версиями Windows - 0187h байт (основной раздел и его заголовок). Все версии Windows, кроме NT и 2000, нормально воспринимают PIF-файлы длиной 0171h байт.
Структуру PIF-файла можно представить следующим образом:
| Смещение от начала файла | Длина | Часть файла |
| 0000h | 0171h | Основной раздел |
| 0171h | 0016h | Заголовок основного раздела |
| 0187h | 0016h | Заголовок первого раздела |
| 019Dh | Первый раздел | |
| 0016h | Заголовок второго раздела | |
| Второй раздел | ||
| ... | ||
| 0016h | Заголовок последнего раздела | |
| Последний раздел |
Чтение PIF-файла следует начинать с выяснения его длины. Если она равна 0171h, значит, это PIF-файл в формате Windows 1.X. В этом случае следует читать данные основного раздела с начала файла. Если длина превышает 0171h, следует читать заголовок основного раздела по смещению 0171h от начала файла. Дальнейшее чтение следует производить по данным из заголовка основного раздела.
На настоящий момент известны следующие разделы PIF-файла:
| Имя раздела | Длина данных | Применение |
| MICROSOFT PIFEX | 0171h | Основной раздел, все ОС |
| WINDOWS 286 3.0 | 0006h | Windows 3.X в стандартном режиме |
| WINDOWS 386 3.0 | 0068h | Windows 3.X в расширенном режиме, 95, 98, NT, 2000 |
| WINDOWS NT 3.1 | 008Eh | Windows NT, 2000 |
| WINDOWS NT 4.0 | 068Ch | Windows NT 4.0, 2000 |
| WINDOWS VMM 4.0 | 01ACh | Windows 95, 98, NT 4.0, 2000 |
| CONFIG SYS 4.0 | переменная | Windows 95, 98 |
| AUTOEXECBAT 4.0 | переменная | Windows 95, 98 |
Содержимое разделов PIF-файла представлено в следующей таблице.
Условные обозначения в графе "Применимость к версиям Windows":
| Смещение от начала данных раздела | Длина | Значение по умолчанию | Принимаемые значения | Назначение | Применимость к версиям Windows | Примечание | ||||
| 1.X, 2.X | 3.X в режиме: | 95, 98 | NT, 2000 | |||||||
| Стан- дарт- ный |
Рас- ши- рен- ный |
|||||||||
Заголовок раздела. Длина - 0016h |
||||||||||
| 0000h | 16 | Имя раздела | S | X | 95 | NT | Кодировка ANSI, завершается нулевым символом. | |||
| 0010h | 2 | Смещение заголовка следующего раздела от начала файла | S | X | 95 | NT | В последнем разделе принимает значение FFFFh. | |||
| 0012h | 2 | Смещение начала данных раздела от начала файла | S | X | 95 | NT | ||||
| 0014h | 2 | Длина раздела | S | X | 95 | NT | В байтах. | |||
Основной раздел. Длина - 0171h |
||||||||||
| 0000h | 1 | 00h | Не используется | |||||||
| 0001h | 1 | 78h | Контрольная сумма | 1 | S | X | 95 | NT | В Windows 95/98 - всегда 78h, в остальных ОС - значение меняется. Никогда не проверяется. | |
| 0002h | 30 | Заголовок окна | 1 | S | X | 95 | NT | Кодировка OEM. Дополняется пробелами до 30 символов. | ||
| 0020h | 2 | 0280h в 32-разрядных ОС, 0080h в Windows 3.X, 0034h в Windows 1.X, 2.X. | Максимальный объем основной памяти в килобайтах | 1 | S | X | 95 | NT | Устанавливается PIF-редактором только в Windows 1.X, 2.X и стандартном режиме Windows 3.X, в остальных случаях принимает значение по умолчанию. | |
| 0022h | 2 | 0000h в 32-разрядных ОС, 0080h в Windows 3.X, 0034h в Windows 1.X, 2.X. | Минимальный объем основной памяти в килобайтах | 1 | S | X | 95 | NT | ||
| 0024h | 63 | Имя запускаемого файла без параметров | 1 | S | X | 95 | NT | Может содержать полный путь. В кавычки не заключается. Завершается нулевым символом. Кодировка OEM. | ||
| 0063h | 2 | 0000h в 32-разрядных ОС, 0010h в остальных ОС | 0001h | Прямая модификация памяти. | 1 | Битовая маска. В Windows 1.X, 2.X бит 02h относится к параметру Screen Exchange - Graphics/Text. | ||||
| 0002h | Графи- ческий/мульти- текстовый режим |
1 | S | |||||||
| 0004h | Запретить переключение программы | 1 | S | |||||||
| 0008h | Нет обмена экранами | 1 | S | |||||||
| 0010h | Закрывать окно по завершении. | 1 | S | X | 95 | NT | ||||
| 0040h | Прямое взаимодействие с COM1 | 1 | S | |||||||
| 0080h | Прямое взаимодействие с COM2 | 1 | S | |||||||
| 0065h | 64 | Рабочий каталог | 1 | S | X | 95 | NT | В кавычки не заключается. Завершается нулевым символом. Кодировка OEM. | ||
| 00A5h | 64 | Строка параметров | 1 | S | 95 | NT | Завершается нулевым символом. Кодировка OEM. В 32-разрядных ОС и в расширенном режиме Windows 3.X это значение используется только если отсутствует раздел, содержащий строку параметров для данной ОС. | |||
| 00E5h | 1 | 00h в 32-разрядных ОС, 7Fh в Windows 3.X. | ?? Номер видеорежима | 1 | S | X | Не используется. | |||
| 00E6h | 1 | 01h | ?? Количество выделенных текстовых страниц видеопамяти | 1 | S | X | 95 | NT | Не используется. | |
| 00E7h | 1 | 00h | ?? Первое используемое прерывание | 1 | S | X | 95 | NT | Не используется. | |
| 00E8h | 1 | FFh | ?? Последнее используемое прерывание | 1 | S | X | 95 | NT | Не используется. | |
| 00E9h | 1 | 19h | ?? Высота экрана в символах | 1 | S | X | 95 | NT | Не используется. | |
| 00EAh | 1 | 50h | ?? Ширина экрана в символах | 1 | S | X | 95 | NT | Не используется. | |
| 00EBh | 1 | 00h | ?? Позиция окна по горизонтали | Не используется. | ||||||
| 00ECh | 1 | 00h | ?? Позиция окна по вертикали | Не используется. | ||||||
| 00EDh | 2 | 0007h | 0007h | ?? Номер последней текстовой видеостраницы | 1 | S | X | 95 | NT | Номер последней текстовой видеостраницы не используется. В Windows 1.X, 2.X бит 0010h относится к параметру Program Switch - Graphics/Multiple Text. |
| 0010h | Графи- ческий/мульти- текстовый режим |
1 | S | |||||||
| 00EFh | 128 | 00...0000h | Не используется. | |||||||
| 016Fh | 2 | 0000h в Windows 95/98, 20E0h в Windows NT/2000 и Windows 3.X, 60E0h в Windows 1.X, 2.X. | 0010h | Прямое взаимодействие с клавиатурой | 1 | S | Битовая маска. В Windows 1.X, 2.X бит 4000h всегда установлен, при установке параметра Directly Modify Screen одновременно устанавливаются биты 0080h и 0040h. | |||
| 0020h | ?? Использовать сопроцессор | 1 | S | X | NT | |||||
| 0040h | ?? Останавливаться в фоновом режиме | 1 | S | X | NT | |||||
| 0080h | Прямая запись текста на экран | 1 | S | X | NT | |||||
| 2000h | ?? Использовать подмену векторов прерываний | 1 | S | X | NT | |||||
| 4000h | Имеются параметры командной строки | 1 | S | |||||||
Раздел "WINDOWS 386 3.0". Длина данных - 0068h. |
||||||||||
| 0000h | 2 | 0280h | Максимальный объем основной памяти в килобайтах, который может занять приложение | X | 95 | NT | Для 32-разрядных ОС авто - 640 и более, для Windows 3.X выделить всю память - FFFFh. | |||
| 0002h | 2 | 0000h в 32-разрядных ОС, 0080h в Windows 3.X | Запрашиваемый объем основной памяти в килобайтах | X | 95 | NT | Для 32-разрядных ОС авто - 0, для Windows 3.X выделить всю память - FFFFh. | |||
| 0004h | 2 | 0064h | Активный приоритет | X | 95 | NT | Диапазон значений: 1-10000. | |||
| 0006h | 2 | 0032h | Фоновый приоритет | X | 95 | NT | ||||
| 0008h | 2 | FFFFh в 32-разрядных ОС, 0400h в Windows 3.X | Максимальный объем памяти EMS в килобайтах, который может занять приложение | X | 95 | NT | Максимальное значение - 16384, авто для 32-разрядных ОС или выделить всю для Windows 3.X - FFFFh. | |||
| 000Ah | 2 | 0000h | Запрашиваемый объем памяти EMS | X | 95 | NT | Максимальное значение - 16384, авто для 32-разрядных ОС - 0, выделить всю для Windows 3.X - FFFFh. | |||
| 000Ch | 2 | FFFFh в 32-разрядных ОС, 0400h в Windows 3.X | Максимальный объем памяти XMS в килобайтах, который может занять приложение | X | 95 | NT | Максимальное значение - 16384, авто для 32-разрядных ОС или выделить всю для Windows 3.X - FFFFh. | |||
| 000Eh | 2 | 0000h | Запрашиваемый объем памяти XMS | X | 95 | NT | Максимальное значение - 16384, авто для 32-разрядных ОС - 0, выделить всю для Windows 3.X - FFFFh. | |||
| 0010h | 4 | 00021002h | 00000001h | Разрешить выход, когда активна | X | Битовая маска. В 32-разряюных ОС бит 00001000h отключается, когда установлен максимальный приоритет. | ||||
| 00000002h | Продолжение работы в фоновом режиме | X | 95 | NT | ||||||
| 00000004h | Исключительное выполнение | X | ||||||||
| 00000008h | Полноэкранный режим | X | 95 | NT | ||||||
| 00000020h | Не использовать Alt+Tab | X | 95 | NT | ||||||
| 00000040h | Не использовать Alt+Esc | X | 95 | NT | ||||||
| 00000080h | Не использовать Alt+Space | X | 95 | NT | ||||||
| 00000100h | Не использовать Alt+Enter | X | 95 | NT | ||||||
| 00000200h | Не использовать Alt+PrtSc | X | 95 | NT | ||||||
| 00000400h | Не использовать PrtSc | X | 95 | NT | ||||||
| 00000800h | Не использовать Ctrl+Esc | X | 95 | NT | ||||||
| 00001000h | Определять время простоя | X | 95 | NT | ||||||
| 00002000h | Не использовать HMA | X | 95 | NT | ||||||
| 00004000h | Использовать быстрый вызов | X | 95 | NT | ||||||
| 00008000h | Память EMS заблокирована | X | ||||||||
| 00010000h | Память XMS заблокирована | X | ||||||||
| 00020000h | Быстрая вставка | X | 95 | NT | ||||||
| 00040000h | Блокировать память программы | X | ||||||||
| 00080000h | Защита памяти | 95 | NT | |||||||
| 00100000h | Свернутое окно | X | 95 | NT | ||||||
| 00200000h | Развернутое окно | X | 95 | NT | ||||||
| 00800000h | Режим MS-DOS | 95 | ||||||||
| 01000000h | Не давать обнаружить Windows | 95 | ||||||||
| 04000000h | Не предлагать автоматически переход в режим MS-DOS | 95 | ||||||||
| 10000000h | Не предупреждать перед переходом в режим MS-DOS | 95 | ||||||||
| 0014h | 2 | 001Fh | 0001h | Эмулировать видео ROM | X | 95 | NT | Битовая маска. | ||
| 0002h | Не проверять порты: текст | X | 95 | NT | ||||||
| 0004h | Не проверять порты: графика низкого разрешения | X | 95 | NT | ||||||
| 0008h | Не проверять порты: графика высокого разрешения | X | 95 | NT | ||||||
| 0010h | Видеопамять: текст | X | 95 | NT | ||||||
| 0020h | Видеопамять: графика низкого разрешения | X | ||||||||
| 0040h | Видеопамять: графика высокого разрешения | X | ||||||||
| 0080h | Удерживать видеопамять | X | ||||||||
| 0016h | 2 | 0000h | Неизвестно | |||||||
| 0018h | 2 | 0000h | Скан-код клавиши быстрого вызова. | X | 95 | NT | Cм. Microsoft KB Q37617. | |||
| 001Ah | 2 | 0000h | 0003h | Клавиша-модификатор быстрого вызова: Shift | X | 95 | NT | Битовая маска. | ||
| 0004h | Клавиша-модификатор быстрого вызова: Ctrl | X | 95 | NT | ||||||
| 0008h | Клавиша-модификатор быстрого вызова: Alt | X | 95 | NT | ||||||
| 001Ch | 2 | 0000h | 000Fh | Применять клавишу быстрого вызова | X | 95 | NT | |||
| 001Eh | 2 | 0000h | 0001h | Признак расширенного скан-кода клавиши быстрого вызова | X | 95 | NT | |||
| 0020h | 2 | 0000h, 0064h в Windows NT | Неизвестно | NT | ||||||
| 0022h | 2 | 0000h, 0032h в Windows NT | Неизвестно | NT | ||||||
| 0024h | 4 | 00000000h | Неизвестно | |||||||
| 0028h | 64 | Строка параметров | X | 95 | NT | Завершается нулевым символом. Кодировка OEM. В Windows 95/98/NT/2000 имеется ошибка, из-за которой строка параметров сохраняется в кодировке ANSI, кроме того, в Windows 95/98 программе передается это значение, еще раз преобразованное в кодировку ANSI. | ||||
Раздел "WINDOWS 286 3.0". Длина данных - 0006h. |
||||||||||
| 0000h | 2 | 0400h | Максимальный объем памяти XMS | S | Максимальное значение - 16384, выделить всю - FFFFh. | |||||
| 0002h | 2 | 0000h | Запрашиваемый объем памяти XMS | S | Максимальное значение - 16384, выделить всю - FFFFh. | |||||
| 0004h | 2 | 0000h | 0001h | Не использовать Alt+Tab | S | Битовая маска. | ||||
| 0002h | Не использовать Alt+Esc | S | ||||||||
| 0004h | Не использовать Alt+PrtSc | S | ||||||||
| 0008h | Не использовать PrtSc | S | ||||||||
| 0010h | Не использовать Ctrl+Esc | S | ||||||||
| 0020h | Не сохранять экран | S | ||||||||
| 4000h | Прямое взаимодействие с COM3 | S | ||||||||
| 8000h | Прямое взаимодействие с COM4 | S | ||||||||
Раздел "WINDOWS VMM 4.0". Длина данных - 01ACh. |
||||||||||
| 0000h | 88 | 00...0000h | Неизвестно | |||||||
| 0058h | 80 | PIFMGR.DLL | Имя файла, содержащего значок | 95 | NT | Кодировка ANSI, длинное имя без кавычек, может содержать полный путь, завершается нулевым символом. | ||||
| 00A8h | 2 | 0000h | Номер значка | 95 | NT | Первый значок в файле имеет номер 0. | ||||
| 00AAh | 2 | 0002h | 0002h | Продолжать работу в фоновом режиме | 95 | NT | Битовая маска. | |||
| 0010h | Не предупреждать при завершении | 95 | NT | |||||||
| 0020h | Не использовать Заставку | 95 | NT | |||||||
| 00ACh | 10 | 00...0000h | Неизвестно | |||||||
| 00B6h | 2 | 0032h | Приоритет | 95 | NT | Число от 0 до 100, 0 - максимальный приоритет, 100 - минимальный. | ||||
| 00B8h | 2 | 0001h | 0001h | Эмулировать видео-ПЗУ | 95 | NT | Битовая маска. | |||
| 0080h | Не выделять видеопамять динамически | 95 | NT | |||||||
| 0100h | Полноэкранный режим | 95 | NT | |||||||
| 00BAh | 8 | 00...0000h | Неизвестно | |||||||
| 00C2h | 2 | 0000h | Количество текстовых строк в окне | 95 | Авто - 0, или соответствующее число (25, 43 или 50). | |||||
| 00C4h | 2 | 0001h | 0001h | Быстрая вставка | 95 | NT | Битовая маска. | |||
| 0020h | Не использовать Alt+Tab | 95 | NT | |||||||
| 0040h | Не использовать Alt+Esc | 95 | NT | |||||||
| 0080h | Не использовать Alt+Space | 95 | NT | |||||||
| 0100h | Не использовать Alt+Enter | 95 | NT | |||||||
| 0200h | Не использовать Alt+PrtSc | 95 | NT | |||||||
| 0400h | Не использовать PrtSc | 95 | NT | |||||||
| 0800h | Не использовать Ctrl+Esc | 95 | NT | |||||||
| 00C6h | 2 | 0000h | Неизвестно | |||||||
| 00C8h | 2 | 0005h | Неизвестно | 95 | NT | |||||
| 00CAh | 2 | 0019h | Неизвестно | 95 | NT | |||||
| 00CCh | 2 | 0003h | Неизвестно | 95 | NT | |||||
| 00CEh | 2 | 00C8h | Неизвестно | 95 | NT | |||||
| 00D0h | 2 | 03E8h | Неизвестно | 95 | NT | |||||
| 00D2h | 2 | 0002h | Неизвестно | 95 | NT | |||||
| 00D4h | 2 | 000Ah | Неизвестно | 95 | NT | |||||
| 00D6h | 2 | 0001h | 0001h | Не использовать мышь для выделения | 95 | Битовая маска. | ||||
| 0002h | Монопольное использование мыши | 95 | NT | |||||||
| 00D8h | 6 | 00...0000h | Неизвестно | |||||||
| 00DEh | 2 | 001Ch | 0004h | Использовать растровые шрифты | 95 | NT | Битовая маска. | |||
| 0008h | Использовать TrueType шрифты | 95 | NT | |||||||
| 0010h | Автоматически выбирать размер шрифта | 95 | NT | |||||||
| 0400h | Текущий шрифт - растровый | 95 | NT | |||||||
| 0800h | Текущий шрифт - TrueType | 95 | NT | |||||||
| 00E0h | 2 | 0000h | Неизвестно | |||||||
| 00E2h | 2 | 0000h | Размер текущего шрифта по горизонтали (только для растровых шрифтов). | 95 | NT | Авто или TrueType - 0000h, растровый шрифт - размер по горизонтали в пикселах. | ||||
| 00E4h | 2 | 0000h | Размер текущего шрифта по вертикали. | 95 | NT | Авто - любое значение, иначе размер по вертикали в пикселах. | ||||
| 00E6h | 2 | 0000h | Размер текущего шрифта по горизонтали. | 95 | NT | Авто - любое значение, иначе размер по горизонтали в пикселах. | ||||
| 00E8h | 2 | 0000h | Размер текущего шрифта по вертикали. | 95 | NT | Авто - любое значение, иначе размер по вертикали в пикселах. | ||||
| 00EAh | 32 | Terminal | Название растрового шрифта | 95 | NT | Не используется, заканчивается нулевым символом. | ||||
| 010Ah | 32 | Lucida Console | Название шрифта TrueType | 95 | NT | Не используется, заканчивается нулевым символом. | ||||
| 012Ah | 2 | 04E3h в Windows NT/2000, 0000h в Windows 95/98 | Неизвестно | NT | ||||||
| 012Ch | 2 | 0003h | 0001h | Неизвестно | 95 | NT | Битовая маска. | |||
| 0002h | Показывать панель инструментов | 95 | NT | |||||||
| 012Eh | 2 | 0000h | 0001h | Не восстанавливать параметры при запуске | 95 | NT | ||||
| 0130h | 2 | 0000h | ?? Размер экрана по горизонтали в символах | 95 | После первого запуска программы значение становится равным 80. | |||||
| 0132h | 2 | 0000h | ?? Размер экрана по вертикали в символах | 95 | После первого запуска программы значение становится равным 25. | |||||
| 0134h | 2 | 0000h | Размер клиентской области окна по горизонтали | 95 | В пикселах. | |||||
| 0136h | 2 | 0000h | Размер клиентской области окна по вертикали | 95 | В пикселах. | |||||
| 0138h | 2 | 0000h | Размер окна по горизонтали | 95 | В пикселах. | |||||
| 013Ah | 2 | 0000h | Размер окна по вертикали | 95 | В пикселах. | |||||
| 013Ch | 2 | 0016h | Неизвестно | 95 | NT | |||||
| 013Eh | 2 | 0000h | 0002h | При последнем запуске окно было развернуто | 95 | Битовая маска. Если данное значение не установлено, значение по смещению 0140h не интерпретируется. | ||||
| 0140h | 2 | 0001h | 0001h | При последнем запуске окно было нормального размера | 95 | Не является битовой маской. Значение 0002h интерпретируется как развернутое окно. | ||||
| 0002h | При последнем запуске окно было свернуто | 95 | ||||||||
| 0003h | При последнем запуске окно было развернуто | 95 | ||||||||
| 0142h | 2 | FFFFh | Неизвестно | 95 | ||||||
| 0144h | 2 | FFFFh | Неизвестно | 95 | ||||||
| 0146h | 2 | FFFFh | Положение правой границы окна в развернутом состоянии | 95 | В пикселах, если данное значение меньше или равно положению левой границы, и значения по смещениям 013Eh, 0140h указывают на то, что окно было развернуто, считается, что параметры окна не сохранялись, и используются значения по умолчанию. | |||||
| 0148h | 2 | FFFFh | Положение нижней границы окна в развернутом состоянии | 95 | В пикселах, если данное значение меньше или равно положению верхней границы, и значения по смещениям 013Eh, 0140h указывают на то, что окно было развернуто, считается, что параметры окна не сохранялись, и используются значения по умолчанию. | |||||
| 014Ah | 2 | 0000h | Положение левой границы окна | 95 | В пикселах. | |||||
| 014Ch | 2 | 0000h | Положение верхней границы окна | 95 | В пикселах. | |||||
| 014Eh | 2 | 0000h | Положение правой границы окна в нормальном состоянии | 95 | В пикселах, если данное значение меньше или равно положению левой границы, и значения по смещениям 013Eh, 0140h указывают на то, что окно не было развернуто, считается, что параметры окна не сохранялись, и используются значения по умолчанию. | |||||
| 0150h | 2 | 0000h | Положение нижней границы окна в нормальном состоянии | 95 | В пикселах, если данное значение меньше или равно положению верхней границы, и значения по смещениям 013Eh, 0140h указывают на то, что окно не было развернуто, считается, что параметры окна не сохранялись, и используются значения по умолчанию. | |||||
| 0152h | 4 | 00000000h | Неизвестно | |||||||
| 0156h | 80 | Имя bat-файла | 95 | NT | Кодировка OEM, может содержать полный путь, длинное имя, включающее пробелы, должно быть заключено в кавычки, завершается нулевым символом. | |||||
| 01A6h | 2 | 0000h | Объем памяти для переменных среды | 95 | NT | Авто - 0, иначе объем памяти в килобайтах, max - 4096. | ||||
| 01A8h | 2 | 0000h | Объем памяти DPMI | 95 | NT | Авто - 0, иначе объем памяти в килобайтах, max - 16384. | ||||
| 01AAh | 2 | 0001h | Неизвестно | 95 | NT | |||||
Раздел "CONFIG SYS 4.0" |
||||||||||
| 0000h | Содержимое файла Config.sys | 95 | Кодировка ANSI, каждая строка заканчивается последовательностью 0D0Ah. | |||||||
Раздел "AUTOEXECBAT 4.0" |
||||||||||
| 0000h | Содержимое файла Autoexec.bat | 95 | Кодировка ANSI, каждая строка заканчивается последовательностью 0D0Ah. | |||||||
Раздел "WINDOWS NT 3.1". Длина данных - 008Eh |
||||||||||
| 0000h | 2 | 0000h | 0010h | Эмуляция совместимого аппаратного таймера | NT | Битовая маска. | ||||
| 0002h | 10 | 00...0000h | Неизвестно | |||||||
| 000Ch | 64 | %SystemRoot% \SYSTEM32 \CONFIG.NT | Имя файла, используемого в качестве Config.sys | NT | Кодировка ANSI, заканчивается нулевым символом. | |||||
| 004Ch | 64 | %SystemRoot% \SYSTEM32 \AUTOEXEC.NT | Имя файла, используемого в качестве Autoexec.bat | NT | Кодировка ANSI, заканчивается нулевым символом. | |||||
| 008Ch | 2 | 0000h | Неизвестно | |||||||
Раздел "WINDOWS NT 4.0". Длина данных - 068Ch |
||||||||||
| 0000h | 4 | 00000000h | Неизвестно | |||||||
| 0004h | 256 | Имя запускаемого файла с параметрами | NT | Кодировка Unicode, завершается нулевым символом, может содержать полный путь, длинное имя, включающее пробелы, заключается в кавычки. Этот параметр используется только в том случае, если значение по смещению 0104h совпадает (после преобразования кодировки) со значением, составленным из имени файла из основного раздела и строки параметров из раздела "WINDOWS VMM 4.0", если этот раздел существует, или из основного раздела, если нет. | ||||||
| 0104h | 128 | Имя запускаемого файла с параметрами | NT | Кодировка ANSI, завершается нулевым символом, может содержать полный путь, длинное имя, включающее пробелы, заключается в кавычки. См. примечание к значению по смещению 0004h. | ||||||
| 0184h | 240 | Меняется | Неизвестно | NT | Скорее всего, случайные значения | |||||
| 0274h | 160 | Имя PIF-файла | NT | Кодировка Unicode, завершается нулевым символом, содержит полный путь, длинное имя без кавычек. | ||||||
| 0314h | 80 | Имя PIF-файла | NT | Кодировка ANSI, завершается нулевым символом, содержит полный путь, длинное имя без кавычек. | ||||||
| 0364h | 60 | Заголовок окна | NT | Кодировка Unicode, завершается нулевым символом. Этот параметр используется только в том случае, если значение по смещению 03A0h совпадает (после преобразования кодировки) со значением из основного раздела. | ||||||
| 03A0h | 30 | Заголовок окна | NT | Кодировка ANSI, завершается нулевым символом. См. примечание к значению по смещению 0364h. | ||||||
| 03BEh | 160 | PIFMGR.DLL | Имя файла, содержащего значок | NT | Кодировка Unicode, завершается нулевым символом, может содержать полный путь, длинное имя без кавычек. Этот параметр используется только в том случае, если значение по смещению 045Eh совпадает (после преобразования кодировки) со значением из раздела "WINDOWS VMM 4.0", или если этот раздел отсутствует. | |||||
| 045Eh | 80 | PIFMGR.DLL | Имя файла, содержащего значок | NT | Кодировка ANSI, завершается нулевым символом, может содержать полный путь, длинное имя без кавычек. См. примечание к значению по смещению 036Eh. | |||||
| 04AEh | 128 | Имя рабочего каталога | NT | Кодировка Unicode, завершается нулевым символом, длинное имя, включающее пробелы, заключается в кавычки. Этот параметр используется только в том случае, если значение по смещению 052Eh совпадает (после преобразования кодировки) со значением из основного раздела. | ||||||
| 052Eh | 64 | Имя рабочего каталога | NT | Кодировка ANSI, завершается нулевым символом, длинное имя, включающее пробелы, заключается в кавычки. См. примечание к значению по смещению 04AEh. | ||||||
| 056Eh | 286 | 00...0000h | Неизвестно | |||||||
![]()
|
||||||||||||||||||||||||||