ID3DXFileSaveData Interface

 

 

' ****************************************************************************************
' ID3DXFileSaveData interface
' $IID_ID3DXFileSaveData = GUID$("{cef08cfb-7b4f-4429-9624-2a690a933201}")
' ****************************************************************************************

' ****************************************************************************************
' Applications use the methods of the ID3DXFileSaveData interface to add data objects as
' children of a .x file data node.
' Remarks
'    The GUID for the ID3DXFileSaveObject interface is IID_ID3DXFileSaveObject.
'    The LPD3DXFILESAVEDATA 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_( ID3DXFileSaveData, IUnknown )
'{
'  0.  STDMETHOD( QueryInterface )( THIS_ REFIID, LPVOID* ) PURE;
'  1.  STDMETHOD_( ULONG, AddRef )( THIS ) PURE;
'  2.  STDMETHOD_( ULONG, Release )( THIS ) PURE;

'  3.  STDMETHOD( GetSave )( THIS_ ID3DXFileSaveObject** ) PURE;
'  4.  STDMETHOD( GetName )( THIS_ LPSTR, SIZE_T* ) PURE;
'  5.  STDMETHOD( GetId )( THIS_ LPGUID ) PURE;
'  6.  STDMETHOD( GetType )( THIS_ GUID* ) PURE;
'  7.  STDMETHOD( AddDataObject )( THIS_ REFGUID, LPCSTR, CONST GUID*,
'        SIZE_T, LPCVOID, ID3DXFileSaveData** ) PURE;
'  8.  STDMETHOD( AddDataReference )( THIS_ LPCSTR, CONST GUID* ) PURE;
'};
' ****************************************************************************************

' ****************************************************************************************
' GetSave method
' Retrieves a pointer to this ID3DXFileSaveObject file data node.
' HRESULT GetSave(
'   ID3DXFileSaveObject ** ppObj
' );
' ****************************************************************************************
FUNCTION IID3DXFileSaveData_GetSave ALIAS "IID3DXFileSaveData_GetSave" ( _
    BYVAL pthis AS DWORD PTR, BYREF ppObj AS DWORD) EXPORT AS LONG

    LOCAL HRESULT AS LONG
    IF pthis = %NULL THEN FUNCTION = %E_POINTER : EXIT FUNCTION
    CALL DWORD @@pthis[3] USING IID3DXFileSaveData_GetSave(pthis, ppObj) TO HRESULT
    FUNCTION = HRESULT

END FUNCTION
' ****************************************************************************************

' ****************************************************************************************
' GetName method
' Retrieves the name of this ID3DXFileSaveData file data node.
' HRESULT GetName(
'   LPSTR szName,
'   SIZE_T * puiSize
' );
' ****************************************************************************************
FUNCTION IID3DXFileSaveData_GetName ALIAS "IID3DXFileSaveData_GetName" ( _
    BYVAL pthis AS DWORD PTR, BYVAL szName AS DWORD, BYREF puiSize AS DWORD) EXPORT AS LONG

    LOCAL HRESULT AS LONG
    IF pthis = %NULL THEN FUNCTION = %E_POINTER : EXIT FUNCTION
    CALL DWORD @@pthis[4] USING IID3DXFileSaveData_GetName(pthis, szName, puiSize) TO HRESULT
    FUNCTION = HRESULT

END FUNCTION
' ****************************************************************************************

' ****************************************************************************************
' GetId method
' Retrieves the globally unique identifier (GUID) of this ID3DXFileSaveData file data node.
' HRESULT GetId(
'   LPGUID pId
' );
' ****************************************************************************************
FUNCTION IID3DXFileSaveData_GetId ALIAS "IID3DXFileSaveData_GetId" ( _
    BYVAL pthis AS DWORD PTR, BYREF pId AS GUID) EXPORT AS LONG

    LOCAL HRESULT AS LONG
    IF pthis = %NULL THEN FUNCTION = %E_POINTER : EXIT FUNCTION
    CALL DWORD @@pthis[5] USING IID3DXFileSaveData_GetId(pthis, pId) TO HRESULT
    FUNCTION = HRESULT

END FUNCTION
' ****************************************************************************************

' ****************************************************************************************
' GetType method
' Retrieves the template identifier (ID) in this file data object.
' HRESULT GetType(
'   GUID * type
' );
' ****************************************************************************************
FUNCTION IID3DXFileSaveData_GetType ALIAS "IID3DXFileSaveData_GetType" ( _
    BYVAL pthis AS DWORD PTR, BYREF pType AS GUID) EXPORT AS LONG

    LOCAL HRESULT AS LONG
    IF pthis = %NULL THEN FUNCTION = %E_POINTER : EXIT FUNCTION
    CALL DWORD @@pthis[6] USING IID3DXFileSaveData_GetType(pthis, pType) TO HRESULT
    FUNCTION = HRESULT

END FUNCTION
' ****************************************************************************************

' ****************************************************************************************
' AddDataObject method
' Adds a data object as a child of the ID3DXFileSaveData file data node.
' HRESULT AddDataObject(
'   REFGUID rguidTemplate,
'   LPCSTR szName,
'   CONST GUID * pId,
'   SIZE_T cbSize,
'   LPCVOID pvData,
'   ID3DXFileSaveData ** ppObj
' );
' ****************************************************************************************
FUNCTION ID3DXFileSaveData_AddDataObject ALIAS "ID3DXFileSaveData_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[7] USING ID3DXFileSaveData_AddDataObject(pthis, rguidTemplate, szName, pId, cbSize, pvData, ppObj) TO HRESULT
    FUNCTION = HRESULT

END FUNCTION
' ****************************************************************************************

' ****************************************************************************************
' AddDataReference method
' Adds a data reference as a child of this ID3DXFileSaveData file data node. The data
' reference points to a file data object.
' HRESULT AddDataReference(
'   LPCSTR szName,
'   CONST GUID * pId
' );
' ****************************************************************************************
FUNCTION ID3DXFileSaveData_AddDataReference ALIAS "ID3DXFileSaveData_AddDataReference" ( _
    BYVAL pthis AS DWORD PTR, BYREF szName AS ASCIIZ, BYREF pId AS GUID) EXPORT AS LONG

    LOCAL HRESULT AS LONG
    IF pthis = %NULL THEN FUNCTION = %E_POINTER : EXIT FUNCTION
    CALL DWORD @@pthis[8] USING ID3DXFileSaveData_AddDataReference(pthis, szName, pId) TO HRESULT
    FUNCTION = HRESULT

END FUNCTION
' ****************************************************************************************
 

 

Page last updated on Wednesday, 15 March 2006 00:20:16 +0100