ID3DXFileEnumObject Interface

 

 

' ****************************************************************************************
' ID3DXFileEnumObject interface
' $IID_ID3DXFileEnumObject = GUID$("{cef08cfc-7b4f-4429-9624-2a690a933201}")
' ****************************************************************************************

' ****************************************************************************************
' Applications use the methods of the ID3DXFileEnumObject interface to cycle through the child
' file data objects in the file and to retrieve a child object by its globally unique identifier
' (GUID) or by its name.
' Remarks
'    The GUID for the ID3DXFileEnumObject interface is IID_ID3DXFileEnumObject.
'    The LPD3DXFILEENUMOBJECT 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_( ID3DXFileEnumObject, 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( GetChildren )( THIS_ SIZE_T* ) PURE;
'  5.  STDMETHOD( GetChild )( THIS_ SIZE_T, ID3DXFileData** ) PURE;
'  6.  STDMETHOD( GetDataObjectById )( THIS_ REFGUID, ID3DXFileData** ) PURE;
'  7.  STDMETHOD( GetDataObjectByName )( THIS_ LPCSTR, ID3DXFileData** ) PURE;
'};
' ****************************************************************************************

' ****************************************************************************************
' GetFile method
' Retrieves the ID3DXFile object.
' HRESULT GetFile(
'   ID3DXFile ** ppFile
' );
' ****************************************************************************************
FUNCTION ID3DXFileEnumObject_GetFile ALIAS "ID3DXFileEnumObject_GetFile" ( _
    BYVAL pthis AS DWORD PTR, BYREF ppFile AS DWORD) EXPORT AS LONG

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

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

' ****************************************************************************************
' GetChildren method
' Retrieves the number of child objects in this file data object.
' HRESULT GetChildren(
'   SIZE_T * puiChildren
' );
' ****************************************************************************************
FUNCTION ID3DXFileEnumObject_GetChildren ALIAS "ID3DXFileEnumObject_GetChildren" ( _
    BYVAL pthis AS DWORD PTR, BYREF puiChildren AS DWORD) EXPORT AS LONG

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

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

' ****************************************************************************************
' GetChild method
' Retrieves a child object in this file data object.
' HRESULT GetChild(
'   SIZE_T id,
'   ID3DXFileData ** ppObj
' );
' ****************************************************************************************
FUNCTION ID3DXFileEnumObject_GetChild ALIAS "ID3DXFileEnumObject_GetChild" ( _
    BYVAL pthis AS DWORD PTR, BYVAL id 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[5] USING ID3DXFileEnumObject_GetChild(pthis, id, ppObj) TO HRESULT
    FUNCTION = HRESULT

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

' ****************************************************************************************
' GetDataObjectById method
' Retrieves the data object that has the specified globally unique identifier (GUID).
' HRESULT GetDataObjectById(
'   REFGUID rguid,
'   LPD3DXFILEDATA * ppDataObj
' );
' ****************************************************************************************
FUNCTION ID3DXFileEnumObject_GetDataObjectById ALIAS "ID3DXFileEnumObject_GetDataObjectById" ( _
    BYVAL pthis AS DWORD PTR, BYREF rguid AS GUID, BYREF ppDataObj AS DWORD) EXPORT AS LONG

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

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

' ****************************************************************************************
' GetDataObjectByName method
' Retrieves the data object that has the specified name.
' HRESULT GetDataObjectByName(
'   LPCSTR szName,
'   ID3DXFileData ** ppObj
' );
' ****************************************************************************************
FUNCTION ID3DXFileEnumObject_GetDataObjectByName ALIAS "ID3DXFileEnumObject_GetDataObjectByName" ( _
    BYVAL pthis AS DWORD PTR, BYREF szName AS ASCIIZ, 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 ID3DXFileEnumObject_GetDataObjectByName(pthis, szName, ppObj) TO HRESULT
    FUNCTION = HRESULT

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

 

Page last updated on Wednesday, 15 March 2006 00:22:54 +0100