📄 dxfile9.pas.svn-base
字号:
(*) [------------------------------------------------------------------------------ [ DXFile Delphi Adaptation (c) by Tim Baumgarten [------------------------------------------------------------------------------ [ Files : dxfile.h [ Modified : 09-Jan-2003 [ E-Mail : Ampaze at gmx dot net [ Download : http://www.crazyentertainment.net [------------------------------------------------------------------------------(*)(*) [------------------------------------------------------------------------------ [ History : [---------- [ 09-Jan-2003 (Tim Baumgarten) : Redone. [ 05-Nov-2001 (Tim Baumgarten) : Added DirectX File Template GUIDs [ (TID_DXFILEXXX) and Descriptions [ (DXFILE_XTEMPLATES). [ 05-Nov-2001 (Tim Baumgarten) : Added DXFileErrorString. [------------------------------------------------------------------------------(*){$MINENUMSIZE 4}{$ALIGN ON}unit DXFile9;{$IFDEF VER150} {$WARN UNSAFE_CODE OFF} {$WARN UNSAFE_TYPE OFF} {$WARN UNSAFE_CAST OFF}{$ENDIF}interfaceuses Windows;(*) ******************************************************************************* * * Copyright (C) 1998-1999 Microsoft Corporation. All Rights Reserved. * * File: dxfile.h * * Content: DirectX File public header file * *******************************************************************************(*)const DXFileDLL = 'D3DXOF.DLL';function DXFileErrorString(DXErrorCode : HResult) : String;type TDXFileFormat = LongWord;const DXFILEFORMAT_BINARY = 0; DXFILEFORMAT_TEXT = 1; DXFILEFORMAT_COMPRESSED = 2;type TDXFileLoadOptions = LongWord;const DXFILELOAD_FROMFILE = $00; DXFILELOAD_FROMRESOURCE = $01; DXFILELOAD_FROMMEMORY = $02; DXFILELOAD_FROMSTREAM = $04; DXFILELOAD_FROMURL = $08;type PDXFileLoadResource = ^TDXFileLoadResource; TDXFileLoadResource = packed record Module : HModule; Name : PChar; _Type : PChar; end; PDXFileLoadMemory = ^TDXFileLoadMemory; TDXFileLoadMemory = packed record Memory : Pointer; Size : LongWord; end;(*) ******************************************************************************* * DirectX File object types. ******************************************************************************* (*)type IDirectXFile = interface; IDirectXFileEnumObject = interface; IDirectXFileSaveObject = interface; IDirectXFileObject = interface; IDirectXFileData = interface; IDirectXFileDataReference = interface; IDirectXFileBinary = interface;(*) ******************************************************************************* * DirectX File interfaces. *******************************************************************************(*) IDirectXFile = interface(IUnknown) ['{3D82AB40-62DA-11CF-AB39-0020AF71E433}'] function CreateEnumObject(const Source : Pointer; const LoadOptions : TDXFileLoadOptions; out EnumObj : IDirectXFileEnumObject) : HResult; stdcall; function CreateSaveObject(const FileName : PChar; const FileFormat : TDXFileFormat; out SaveObj : IDirectXFileSaveObject) : HResult; stdcall; function RegisterTemplates(const Data : Pointer; const Size : LongWord) : HResult; stdcall; end; IDirectXFileEnumObject = interface (IUnknown) ['{3D82AB41-62DA-11CF-AB39-0020AF71E433}'] function GetNextDataObject(out DataObj : IDirectXFileData) : HResult; stdcall; function GetDataObjectById(const RGUID : TGUID; out DataObj : IDirectXFileData) : HResult; stdcall; function GetDataObjectByName(const Name : PChar; out DataObj : IDirectXFileData) : HResult; stdcall; end; IDirectXFileSaveObject = interface (IUnknown) ['{3D82AB42-62DA-11CF-AB39-0020AF71E433}'] function SaveTemplates(const Templates : LongWord; var GUIDTemplates : PGUID) : HResult; stdcall; function CreateDataObject(const RGUIDTemplate : TGUID; const szName : PChar; const GUID : PGUID; const Size : Cardinal; Data: Pointer; out DataObj : IDirectXFileData) : HResult; stdcall; function SaveData(DataObj : IDirectXFileData) : HResult; stdcall; end; IDirectXFileObject = interface (IUnknown) ['{3D82AB43-62DA-11CF-AB39-0020AF71E433}'] function GetName(const NameBuf : PChar; BufLen : PLongWord) : HResult; stdcall; function GetId (out GUID : TGUID) : HResult; stdcall; end; IDirectXFileData = interface (IDirectXFileObject) ['{3D82AB44-62DA-11CF-AB39-0020AF71E433}'] function GetData(const Member : PChar; out Size : LongWord; out Data : Pointer) : HResult; stdcall; function GetType(out GUID : PGUID) : HResult; stdcall; function GetNextObject(out ChildObj : IDirectXFileObject) : HResult; stdcall; function AddDataObject(DataObj : IDirectXFileData) : HResult; stdcall; function AddDataReference(Ref : PChar; GUIDRef : PGUID) : HResult; stdcall; function AddBinaryObject(Name : PChar; GUID : PGUID; MimeType : PChar; Data : Pointer; const Size : LongWord) : HResult; stdcall; end; IDirectXFileDataReference = interface (IDirectXFileObject) ['{3D82AB45-62DA-11CF-AB39-0020AF71E433}'] function Resolve(out DataObj : IDirectXFileData) : HResult; stdcall; end; IDirectXFileBinary = interface (IDirectXFileObject) ['{3D82AB46-62DA-11CF-AB39-0020AF71E433}'] function GetSize(out Size : LongWord) : HResult; stdcall; function GetMimeType(out MimeType : PChar) : HResult; stdcall; function Read(Data : Pointer; const Size : LongWord; out Read : LongWord) : HResult; stdcall; end;(*) ******************************************************************************* * API for creating IDirectXFile interface. *******************************************************************************(*)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -