|
|
|
ID3DXFileSaveObject Interface |
|
' ****************************************************************************************
' ID3DXFileSaveObject interface
' $IID_ID3DXFileSaveObject = GUID$("{cef08cfa-7b4f-4429-9624-2a690a933201}")
' ****************************************************************************************
' ****************************************************************************************
' Applications use the methods of the ID3DXFileSaveObject interface to write a .x file to disk,
' and to add and save data objects and templates.
' Remarks
' Templates are not required in every file. For example, you could put all templates into a
' single .x file rather than duplicating them in every .x file.
' The ID3DXFileSaveObject interface is obtained by calling the ID3DXFile::CreateSaveObject method.
' The globally unique identifier (GUID) for the ID3DXFileSaveObject interface is IID_ID3DXFileSaveObject.
' The LPD3DXFILESAVEOBJECT type is defined as a pointer to this interface.
' Interface Information
' Stock Implementation d3d9.dll
' Custom Implementation No
' Inherits from IUnknown
' Header d3dx9xof.h
' Import library d3dx9.lib
' Minimum operating systems Windows 98
' ****************************************************************************************
' ****************************************************************************************
'DECLARE_INTERFACE_( ID3DXFileSaveObject, IUnknown )
'{
' 0. STDMETHOD( QueryInterface )( THIS_ REFIID, LPVOID* ) PURE;
' 1. STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
' 2. STDMETHOD_( ULONG, Release )( THIS ) PURE;
' 3. STDMETHOD( GetFile )( THIS_ ID3DXFile** ) PURE;
' 4. STDMETHOD( AddDataObject )( THIS_ REFGUID, LPCSTR, CONST GUID*,
' SIZE_T, LPCVOID, ID3DXFileSaveData** ) PURE;
' 5. STDMETHOD( Save )( THIS ) PURE;
'};
' ****************************************************************************************
' ****************************************************************************************
' GetFile method
' Gets the ID3DXFile interface of the object that created this ID3DXFileSaveObject object.
' HRESULT GetFile(
' ID3DXFile ppFile
' );
' ****************************************************************************************
FUNCTION ID3DXFileSaveObject_GetFile ALIAS "ID3DXFileSaveObject_GetFile" ( _
BYVAL pthis AS DWORD PTR, BYVAL ppFile AS DWORD) EXPORT AS LONG
LOCAL HRESULT AS LONG
IF pthis = %NULL THEN FUNCTION = %E_POINTER : EXIT FUNCTION
CALL DWORD @@pthis[3] USING ID3DXFileSaveObject_GetFile(pthis, ppFile) TO HRESULT
FUNCTION = HRESULT
END FUNCTION
' ****************************************************************************************
' ****************************************************************************************
' AddDataObject method
' Adds a data object as a child of the ID3DXFileSaveData object.
' HRESULT AddDataObject(
' REFGUID rguidTemplate,
' LPCSTR szName,
' CONST GUID * pId,
' SIZE_T cbSize,
' LPCVOID pvData,
' ID3DXFileSaveData ** ppObj
' );
' ****************************************************************************************
FUNCTION ID3DXFileSaveObject_AddDataObject ALIAS "ID3DXFileSaveObject_AddDataObject" ( _
BYVAL pthis AS DWORD PTR, BYREF rguidTemplate AS GUID, BYREF szName AS ASCIIZ, _
BYREF pId AS GUID, BYVAL cbSize AS DWORD, BYVAL pvData AS DWORD, _
BYREF ppObj AS DWORD) EXPORT AS LONG
LOCAL HRESULT AS LONG
IF pthis = %NULL THEN FUNCTION = %E_POINTER : EXIT FUNCTION
CALL DWORD @@pthis[4] USING ID3DXFileSaveObject_AddDataObject(pthis, rguidTemplate, szName, pId, cbSize, pvData, ppObj) TO HRESULT
FUNCTION = HRESULT
END FUNCTION
' ****************************************************************************************
' ****************************************************************************************
' Save method
' Saves a data object and its children to a .x file on disk.
' HRESULT Save();
' ****************************************************************************************
FUNCTION ID3DXFileSaveObject_Save ALIAS "ID3DXFileSaveObject_Save" (BYVAL pthis AS DWORD PTR) EXPORT AS LONG
LOCAL HRESULT AS LONG
IF pthis = %NULL THEN FUNCTION = %E_POINTER : EXIT FUNCTION
CALL DWORD @@pthis[5] USING ID3DXFileSaveObject_Save(pthis) TO HRESULT
FUNCTION = HRESULT
END FUNCTION
' ****************************************************************************************
|
Page last updated on Wednesday, 15 March 2006 00:17:48 +0100