|
|
|
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