IDirect3DVertexDeclaration9 Interface

 

 

' ****************************************************************************************
' IDirect3DVertexDeclaration9 interface
' $IID_IDirect3DVertexDeclaration9 = GUID$("{DD13C59C-36FA-4098-A8FB-C7ED39DC8546}")
' ****************************************************************************************

' ****************************************************************************************
' Applications use the methods of the IDirect3DVertexDeclaration9 interface to encapsulate the
' vertex shader declaration.
' A vertex shader declaration is made up of an array of vertex elements.
' ****************************************************************************************

' ****************************************************************************************
'DECLARE_INTERFACE_(IDirect3DVertexDeclaration9, IUnknown)
'{
'    /*** IUnknown methods ***/
'  0.  STDMETHOD(QueryInterface)(THIS_ REFIID riid, void** ppvObj) PURE;
'  1.  STDMETHOD_(ULONG,AddRef)(THIS) PURE;
'  2.  STDMETHOD_(ULONG,Release)(THIS) PURE;

'    /*** IDirect3DVertexDeclaration9 methods ***/
'  3.  STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE;
'  4.  STDMETHOD(GetDeclaration)(THIS_ D3DVERTEXELEMENT9* pElement,UINT* pNumElements) PURE;
'};
' ****************************************************************************************

' ****************************************************************************************
' GetDevice method
' Gets the current device.
' Note  Calling this method will increase the internal reference count on the
' IDirect3DDevice9 interface. Be sure to call IUnknown::Release when you are done using
' this IDirect3DDevice9 interface or you will have a memory leak.
' HRESULT GetDevice(
'   IDirect3DDevice9 ** ppDevice
' );
' ****************************************************************************************
FUNCTION IDirect3DVertexDeclaration9_GetDevice ALIAS "IDirect3DVertexDeclaration9_GetDevice" ( _
    BYVAL pthis AS DWORD PTR, BYREF ppDevice AS DWORD) EXPORT AS LONG

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

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

' ****************************************************************************************
' GetDeclaration method
' Gets the vertex shader declaration.
' HRESULT GetDeclaration(
'   D3DVERTEXELEMENT9* pDecl,
'   UINT* pNumElements
' );
' ****************************************************************************************
FUNCTION IDirect3DVertexDeclaration9_GetDeclaration ALIAS "IDirect3DVertexDeclaration9_GetDeclaration" ( _
    BYVAL pthis AS DWORD PTR, BYVAL pDecl AS DWORD, BYREF pNumElements AS DWORD) EXPORT AS LONG

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

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

 

Page last updated on Tuesday, 14 March 2006 20:32:08 +0100