Поделиться через


Сохранение в X-файл (устаревшая версия) (Direct3D 9)

Используйте следующую процедуру в устаревших приложениях для сохранения шаблонов и данных X-файлов в X-файл.

  1. Используйте функцию DirectXFileCreate для создания объекта IDirectXFile .
  2. Используйте метод IDirectXFile::RegisterTemplates , чтобы сообщить файловой системе DirectX о всех шаблонах, которые вы будете использовать.
  3. Используйте метод IDirectXFile::CreateSaveObject для создания объекта IDirectXFileSaveObject .
  4. При необходимости используйте метод IDirectXFileSaveObject::SaveTemplates для сохранения шаблонов.
  5. Циклическое перебирает сохраняемые объекты. Для каждого объекта верхнего уровня выполните следующие действия.
    • Используйте метод IDirectXFileSaveObject::CreateDataObject , чтобы создать объект IDirectXFileData в качестве объекта верхнего уровня в файле. Если у объекта данных верхнего уровня есть необязательные дочерние объекты, добавьте их в объект с помощью соответствующего метода из следующего шага.
    • Каждый объект IDirectXFileData может иметь необязательные дочерние объекты, если это позволяет его шаблон. Дочерними объектами может быть любой из трех типов объектов: IDirectXFileData, IDirectXFileDataReference или IDirectXFileBinary. Циклически просматривайте объекты, которые необходимо сохранить, добавляя каждый необязательный дочерний элемент в список объектов способом, соответствующим его типу, как показано на следующих шагах. Затем, если тип объекта — Data, вызовите метод IDirectXFileSaveObject::CreateDataObject , чтобы создать объект IDirectXFileData, а затем вызовите метод IDirectXFileData::AddDataObject , чтобы добавить его в качестве дочернего объекта. Если тип объекта — Data Reference, вызовите метод IDirectXFileData::AddDataReference , чтобы создать и добавить объект ссылки на данные в качестве дочернего элемента объекта . Или, если тип объекта — Binary, вызовите метод IDirectXFileData::AddBinaryObject , чтобы создать и добавить двоичный объект в качестве дочернего объекта объекта.
    • Вызовите метод IDirectXFileSaveObject::SaveData , чтобы сохранить объект данных и его дочерние элементы.
    • Отпустите объект IDirectXFileData .
  6. Отпустите объект IDirectXFileSaveObject .
  7. Отпустите объект IDirectXFile .

X Files (legacy)