<- Homepage
Bu sayfası tamamen gönüllü olarak kendim hazırladım yani kişisel bir referans sitesidir. Tabiki istediğiniz gibi kullanabilirsiniz sonuçta geliştiriciler için işleri kolaylaştırmak istedim yani anlayacağınız resmi bir doküman değildir, DirectX, Microsoft'un tescilli markasıdır. Öte yandan DirectX gibi güzel bir teknolojinin sıkıcı ve karmaşık dokümanlardan ziyade daha iyi bir dokümana ihtiyacı olduğunu hissettim. Normalde web sitesi ile uğraşmaktan hiç hoşlanmam fakat bunu yaparken inanılmaz keyif aldım.
( IDirect3DDevice9 hala Tadilatta )

Fonksiyon Kullanım Şekli:
    C++: d3d9->CreateDevice(...);
    C  : d3d9->lpVtbl->CreateDevice(d3d9, ...);

Requirements


Functions

Interfaces

                         
    ├►IDirect3D9                 
    ├►IDirect3DDevice9           
    ├►IDirect3DPixelShader9      
    ├►IDirect3DQuery9            
    ├►IDirect3DResource9         
    │ ├►IDirect3DBaseTexture9    
    │ │ ├►IDirect3DCubeTexture9  
    │ │ ├►IDirect3DTexture9      
    │ │ └►IDirect3DVolumeTexture9
    │ ├►IDirect3DIndexBuffer9    
    │ ├►IDirect3DSurface9        
    │ ├►IDirect3DVertexBuffer9  
    │ └►IDirect3DVolume9         
    ├►IDirect3DStateBlock9       
    ├►IDirect3DSwapChain9        
    ├►IDirect3DVertexDeclaration9
    └►IDirect3DVertexShader9     
ULONG IUnknown::AddRef();
HRESULT IUnknown::QueryInterface(REFIID riid, void **ppvObject);
    ret: E_NOINTERFACE, E_POINTER
ULONG IUnknown::Release();

^IDirect3D9::
^IDirect3DBaseTexture9::
^IDirect3DCubeTexture9::
^IDirect3DDevice9::
^IDirect3DIndexBuffer9::
^IDirect3DPixelShader9::
^IDirect3DQuery9::
^IDirect3DResource9::
^IDirect3DStateBlock9::
^IDirect3DSurface9::
^IDirect3DSwapChain9::
^IDirect3DTexture9::
^IDirect3DVertexBuffer9::
^IDirect3DVertexDeclaration9::
^IDirect3DVertexShader9::
^IDirect3DVolume9::
^IDirect3DVolumeTexture9::

IDirect3D9 * Direct3DCreate9(
    UINT 
);

Başarılı olduysa örnek pointeri döndürür.
Başarılı olmadıysa NULL döndürür.
HRESULT CheckDepthStencilMatch(
    [in]  UINT ,
    [in]   DeviceType,
    [in]   AdapterFormat,
    [in]   RenderTargetFormat,
    [in]   DepthStencilFormat
);

Seçilen derinlik ayarıyla renk ayarının ekran kartında
birbiriyle uyumlu olup olmadığını kontrol eder
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
    D3DERR_INVALIDCALL
    D3DERR_NOTAVAILABLE
HRESULT CheckDeviceFormat(
    [in]  UINT ,
    [in]   DeviceType,
    [in]   AdapterFormat,
    [in]  DWORD ,
    [in]   RType,
    [in]   CheckFormat
);

Seçilen formatın donanım ile uyumunu kontrol eder.
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
    D3DERR_INVALIDCALL
    D3DERR_NOTAVAILABLE
HRESULT CheckDeviceFormatConversion(
    [in]  UINT ,
    [in]   DeviceType,
    [in]   SourceFormat,
    [in]   TargetFormat
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
    D3DERR_INVALIDCALL
    D3DERR_NOTAVAILABLE
HRESULT CheckDeviceMultiSampleType(
    [in]   UINT ,
    [in]    DeviceType,
    [in]    SurfaceFormat,
    [in]   BOOL Windowed,
    [in]    MultiSampleType,
    [out]  DWORD *pQualityLevels
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
    D3DERR_INVALIDCALL
    D3DERR_NOTAVAILABLE
    D3DERR_INVALIDDEVICE
HRESULT CheckDeviceType(
    [in]  UINT ,
    [in]   DeviceType,
    [in]   DisplayFormat,
    [in]   BackBufferFormat,
    [in]  BOOL Windowed
);

Adaptörde seçilen donanım hızlandırmalı 
cihaz tipinin kullanılıp kullanılamayacağını
döndürür.
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
    D3DERR_INVALIDCALL
    D3DERR_NOTAVAILABLE
HRESULT CreateDevice(
    [in]           UINT ,
    [in]            DeviceType,
    [in]           HWND hFocusWindow,
    [in]           DWORD ,
    [in, out]       *pPresentationParameters,
    [out, retval]  IDirect3DDevice9 **ppReturnedDeviceInterface
);

IDirect3DDevice9 adresini dolduran fonksiyondur.
Çalışması için öncesinde bir yaratılmış pencereye ihtiyaç duyar.
Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
    D3DERR_DEVICELOST
    D3DERR_INVALIDCALL
    D3DERR_NOTAVAILABLE
    D3DERR_OUTOFVIDEOMEMORY
HRESULT EnumAdapterModes(
    [in]   UINT ,
    [in]    Format,
    [in]   UINT Mode,
    [out]   *pMode
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
    D3DERR_DEVICELOST
    D3DERR_INVALIDCALL
UINT GetAdapterCount();
HRESULT GetAdapterDisplayMode(
    [in]       UINT ,
    [in, out]   *pMode
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
    D3DERR_INVALIDCALL
HRESULT GetAdapterIdentifier(
    [in]   UINT ,
    [in]   DWORD ,
    [out]   *pIdentifier
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
    D3DERR_INVALIDCALL
UINT GetAdapterModeCount(
    [in]  UINT ,
    [in]   Format
);
HMONITOR GetAdapterMonitor(
    [in]  UINT 
);
HRESULT GetDeviceCaps(
    [in]   UINT ,
    [in]    DeviceType,
    [out]   *pCaps
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
    D3DERR_INVALIDCALL
    D3DERR_INVALIDDEVICE
    D3DERR_OUTOFVIDEOMEMORY
    D3DERR_NOTAVAILABLE
HRESULT RegisterSoftwareDevice(
    [in]  void *pInitializeFunction
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
    D3DERR_INVALIDCALL
    D3DERR_OUTOFVIDEOMEMORY
VOID GenerateMipSubLevels();

D3DUSAGE_AUTOGENMIPMAP'in
kullanılabilmesini sağlar
D3DTEXTUREFILTERTYPE GetAutoGenFilterType();

Bu fonksiyonu kullanabilmek için doku
D3DUSAGE_AUTOGENMIPMAP ile yaratılmalıdır.
Başarılı olmadıysa D3DTEXF_NONE döndürür.
DWORD GetLevelCount();

Kaç tane çoklu doku
destekleniyorsa onu
döndürüyor.
DWORD GetLOD();

Yönetilen dokuda çağrılırsa
    maksimum LOD sayısını döndürür.
Yönetilmeyen dokuda çağrılırsa
    D3DERR döndürür.
HRESULT SetAutoGenFilterType(
    [in]   FilterType
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
DWORD SetLOD(
    [in]  DWORD LODNew
);
HRESULT AddDirtyRect(
    [in]   FaceType,
    [in]  const RECT *pDirtyRect
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetCubeMapSurface(
    [in]    FaceType,
    [in]   UINT Level,
    [out]  IDirect3DSurface9 **ppCubeMapSurface
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetLevelDesc(
    [in]   UINT Level,
    [out]   *pDesc
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT LockRect(
    [in]    FaceType,
    [in]   UINT Level,
    [out]   *pLockedRect,
    [in]   const RECT *pRect,
    [in]   DWORD 
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT UnlockRect(
    [in]   FaceType,
    [in]  UINT Level
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT BeginScene();

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT BeginStateBlock();

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT Clear(
    [in]  DWORD Count,
    [in]  const  *pRects,
    [in]  DWORD ,
    [in]   Color,
    [in]  float Z,
    [in]  DWORD Stencil
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT ColorFill(
    [in]  IDirect3DSurface9 *pSurface,
    [in]  const RECT *pRect,
    [in]   color
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT CreateAdditionalSwapChain(
    [in, out]       *pPresentationParameters,
    [out, retval]  IDirect3DSwapChain9 **ppSwapChain
);

ret: D3D_OK, D3DERR_NOTAVAILABLE, D3DERR_DEVICELOST, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT CreateCubeTexture(
    [in]           UINT EdgeLength,
    [in]           UINT Levels,
    [in]           DWORD ,
    [in]            Format,
    [in]            Pool,
    [out, retval]  IDirect3DCubeTexture9 **ppCubeTexture,
    [in]           HANDLE *pSharedHandle // NULL
);

ret: D3D_OK, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT CreateDepthStencilSurface(
    [in]           UINT Width,
    [in]           UINT Height,
    [in]            Format,
    [in]            MultiSample,
    [in]           DWORD MultisampleQuality,
    [in]           BOOL Discard,
    [out, retval]  IDirect3DSurface9 **ppSurface,
    [in]           HANDLE *pSharedHandle // NULL
);

ret: D3D_OK, D3DERR_NOTAVAILABLE, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT CreateOffscreenPlainSurface(
    [in]           UINT Width,
    [in]           UINT Height,
    [in]            Format,
    [in]            Pool,
    [out, retval]  IDirect3DSurface9 **ppSurface,
    [in]           HANDLE *pSharedHandle // NULL
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT CreatePixelShader(
    [in]           const DWORD *pFunction,
    [out, retval]  IDirect3DPixelShader9 **ppShader
);

ret: D3D_OK, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT CreateQuery(
    [in]            Type,
    [out, retval]  IDirect3DQuery9 **ppQuery
);

ret: D3D_OK, D3DERR_NOTAVAILABLE E_OUTOFMEMORY
HRESULT CreateRenderTarget(
    [in]           UINT Width,
    [in]           UINT Height,
    [in]            Format,
    [in]            MultiSample,
    [in]           DWORD MultisampleQuality,
    [in]           BOOL Lockable,
    [out, retval]  IDirect3DSurface9 **ppSurface,
    [in]           HANDLE *pSharedHandle // NULL
);

ret: D3D_OK, D3DERR_NOTAVAILABLE, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT CreateStateBlock(
    [in]            Type,
    [out, retval]  IDirect3DStateBlock9 **ppSB
);

ret: D3D_OK, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT CreateTexture(
    [in]           UINT Width,
    [in]           UINT Height,
    [in]           UINT Levels,
    [in]           DWORD ,
    [in]            Format,
    [in]            Pool,
    [out, retval]  IDirect3DTexture9 **ppTexture,
    [in]           HANDLE *pSharedHandle // NULL
);

ret: D3D_OK, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT CreateVertexBuffer(
    [in]           UINT Length,
    [in]           DWORD ,
    [in]           DWORD ,
    [in]            Pool,
    [out, retval]  IDirect3DVertexBuffer9 **ppVertexBuffer,
    [in]           HANDLE *pSharedHandle
);

ret: D3D_OK, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT CreateVertexDeclaration(
    [in]           const  *pVertexElements,
    [out, retval]  IDirect3DVertexDeclaration9 **ppDecl
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT CreateVertexShader(
  [in]           const DWORD *pFunction,
  [out, retval]  IDirect3DVertexShader9 **ppShader
);

ret: D3D_OK, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT CreateVolumeTexture(
    [in]           UINT Width,
    [in]           UINT Height,
    [in]           UINT Depth,
    [in]           UINT Levels,
    [in]           DWORD ,
    [in]            Format,
    [in]            Pool,
    [out, retval]  IDirect3DVolumeTexture9 **ppVolumeTexture,
    [in]           HANDLE *pSharedHandle // NULL
);

ret: D3D_OK, D3DERR_INVALIDCALL, D3DERR_OUTOFVIDEOMEMORY, E_OUTOFMEMORY
HRESULT DeletePatch(
    [in]  UINT Handle
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT DrawIndexedPrimitive(
    [in]   Type,
    [in]  INT BaseVertexIndex,
    [in]  UINT MinIndex,
    [in]  UINT NumVertices,
    [in]  UINT StartIndex,
    [in]  UINT PrimitiveCount
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT DrawIndexedPrimitiveUP(
    [in]   PrimitiveType,
    [in]  UINT MinVertexIndex,
    [in]  UINT NumVertices,
    [in]  UINT PrimitiveCount,
    [in]  const void *pIndexData,
    [in]   IndexDataFormat,
    [in]  const void *pVertexStreamZeroData,
    [in]  UINT VertexStreamZeroStride
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT DrawPrimitive(
    [in]   PrimitiveType,
    [in]  UINT StartVertex,
    [in]  UINT PrimitiveCount
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT DrawPrimitiveUP(
    [in]   PrimitiveType,
    [in]  UINT PrimitiveCount,
    [in]  const void *pVertexStreamZeroData,
    [in]  UINT VertexStreamZeroStride
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT DrawRectPatch(
    [in]  UINT Handle,
    [in]  const float *pNumSegs,
    [in]  const  *pRectPatchInfo
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT DrawTriPatch(
  [in]  UINT Handle,
  [in]  const float *pNumSegs,
  [in]  const  *pTriPatchInfo
);

ret: D3D_OK, D3DERR_INVALIDCALL

ret: D3D_OK, D3DERR_INVALIDCALL

ret: D3D_OK, D3DERR_INVALIDCALL

ret: D3D_OK, D3DERR_INVALIDCALL

ret: D3D_OK, D3DERR_INVALIDCALL

ret: D3D_OK, D3DERR_INVALIDCALL

ret: D3D_OK, D3DERR_INVALIDCALL

ret: D3D_OK, D3DERR_INVALIDCALL

ret: D3D_OK, D3DERR_INVALIDCALL

ret: D3D_OK, D3DERR_INVALIDCALL

ret: D3D_OK, D3DERR_INVALIDCALL

ret: D3D_OK, D3DERR_INVALIDCALL

ret: D3D_OK, D3DERR_INVALIDCALL

ret: D3D_OK, D3DERR_INVALIDCALL

ret: D3D_OK, D3DERR_INVALIDCALL

ret: D3D_OK, D3DERR_INVALIDCALL

ret: D3D_OK, D3DERR_INVALIDCALL

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetDesc(
    [out]   *pDesc
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT Lock(
    [in]   UINT OffsetToLock,
    [in]   UINT SizeToLock,
    [out]  VOID **ppbData,
    [in]   DWORD 
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT Unlock();

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetDevice(
    [out, retval]  IDirect3DDevice9 **ppDevice
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetFunction(
    [in, out]  void *pData,
    [in, out]  UINT *pSizeOfData
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetData(
    [in, out]  void *pData,
    [in]       DWORD dwSize,
    [in]       DWORD 
);

Başarılı olduysa S_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
    S_FALSE
    D3DERR_DEVICELOST
DWORD GetDataSize();
HRESULT GetDevice(
    [out]  IDirect3DDevice9 **pDevice
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
D3DQUERYTYPE GetType();
HRESULT Issue(
    [in]  DWORD 
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT FreePrivateData(
    [in]  REFGUID refguid
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
    D3DERR_INVALIDCALL
    D3DERR_NOTFOUND
HRESULT GetDevice(
    [out, retval]  IDirect3DDevice9 **ppDevice
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
DWORD GetPriority();
HRESULT GetPrivateData(
    [in]       REFGUID refguid,
    [in, out]  void *pData,
    [in, out]  DWORD *pSizeOfData
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
    D3DERR_INVALIDCALL
    D3DERR_MOREDATA
    D3DERR_NOTFOUND
D3DRESOURCETYPE GetType();
void PreLoad();
DWORD SetPriority(
    [in]  DWORD PriorityNew
);
HRESULT SetPrivateData(
    [in]  REFGUID refguid,
    [in]  const void *pData,
    [in]  DWORD SizeOfData,
    [in]  DWORD 
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür:
    D3DERR_INVALIDCALL
    E_OUTOFMEMORY
HRESULT Apply();

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT Capture();

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetDevice(
    [in, out, retval]  IDirect3DDevice9 **ppDevice
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetContainer(
    [in]   REFIID riid,
    [out]  void **ppContainer
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetDC(
    [out]  HDC *phdc
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetDesc(
    [out]   *pDesc
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT LockRect(
    [out]   *pLockedRect,
    [in]   const RECT *pRect,
    [in]   DWORD Flags
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT ReleaseDC(
    [in]  HDC hdc
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT UnlockRect();

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetBackBuffer(
    [in]           UINT BackBuffer,
    [in]            Type,
    [out, retval]  IDirect3DSurface9 **ppBackBuffer
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetDevice(
    [out, retval]  IDirect3DDevice9 **ppDevice
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetDisplayMode(
    [out]   *pMode
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetFrontBufferData(
    [in, out]  IDirect3DSurface9 *pDestSurface
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetPresentParameters(
    [out, retval]   *pPresentationParameters
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetRasterStatus(
    [out]   *pRasterStatus
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT Present(
    [in]  const RECT *pSourceRect,
    [in]  const RECT *pDestRect,
    [in]  HWND hDestWindowOverride,
    [in]  const  *pDirtyRegion,
    [in]  DWORD 
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa bunlardan birini döndürür.
    D3DERR_DEVICELOST,
    D3DERR_DRIVERINTERNALERROR,
    D3DERR_INVALIDCALL,
    D3DERR_OUTOFVIDEOMEMORY,
    E_OUTOFMEMORY
HRESULT AddDirtyRect(
    [in]  const RECT *pDirtyRect
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetLevelDesc(
    [in]   UINT Level,
    [out]  D3DSURFACE_DESC *pDesc
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetSurfaceLevel(
    [in]           UINT Level,
    [out, retval]  IDirect3DSurface9 **ppSurfaceLevel
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT LockRect(
    [in]   UINT Level,
    [out]   *pLockedRect,
    [in]   const RECT *pRect,
    [in]   DWORD 
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT UnlockRect(
    [in]  UINT Level
);

Başarılı olduysa D3D_OK döndürür.
Başarılı olmadıysa D3DERR_INVALIDCALL döndürür.
HRESULT GetDesc(
    [out]   *pDesc
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT Lock(
    [in]   UINT OffsetToLock,
    [in]   UINT SizeToLock,
    [out]  VOID **ppbData,
    [in]   DWORD 
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT Unlock();

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetDeclaration(
    [in, out]   *pDecl,
    [out]      UINT *pNumElements
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetDevice(
    [out, retval]  IDirect3DDevice9 **ppDevice
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetDevice(
    [out, retval]  IDirect3DDevice9 **ppDevice
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetFunction(
    [in, out]  void *pData,
    [in, out]  UINT *pSizeOfData
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT FreePrivateData(
    [in]  REFGUID refguid
);

ret: D3D_OK, D3DERR_INVALIDCALL, D3DERR_NOTFOUND
HRESULT GetContainer(
    [in]           REFIID riid,
    [out, retval]  void **ppContainer
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetDesc(
    [out]   *pDesc
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetDevice(
    [out, retval]  IDirect3DDevice9 **ppDevice
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetPrivateData(
  [in]       REFGUID refguid,
  [in, out]  void *pData,
  [in, out]  DWORD *pSizeOfData
);

ret: D3D_OK, D3DERR_INVALIDCALL, D3DERR_MOREDATA, D3DERR_NOTFOUND
HRESULT LockBox(
    [out]   *pLockedVolume,
    [in]   const  *pBox,
    [in]   DWORD 
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT SetPrivateData(
    [in]  REFGUID refguid,
    [in]  const void *pData,
    [in]  DWORD SizeOfData,
    [in]  DWORD Flags // 0 or D3DSPD_IUNKNOWN
);

ret: D3D_OK, D3DERR_INVALIDCALL, E_OUTOFMEMORY
HRESULT UnlockBox();

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT AddDirtyBox(
    [in]  const  *pDirtyBox
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetLevelDesc(
    [in]   UINT Level,
    [out]   *pDesc
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT GetVolumeLevel(
    [in]           UINT Level,
    [out, retval]  IDirect3DVolume9 **ppVolumeLevel
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT LockBox(
    [in]   UINT Level,
    [out]   *pLockedVolume,
    [in]   const  *pBox,
    [in]   DWORD 
);

ret: D3D_OK, D3DERR_INVALIDCALL
HRESULT UnlockBox(
  [in]  UINT Level
);

ret: D3D_OK, D3DERR_INVALIDCALL
typedef struct D3DTRIPATCH_INFO {
    UINT          StartVertexOffset;
    UINT          NumVertices;
      Basis;
     Degree;
} D3DTRIPATCH_INFO, *LPD3DTRIPATCH_INFO;
typedef struct D3DRECTPATCH_INFO {
    UINT          StartVertexOffsetWidth;
    UINT          StartVertexOffsetHeight;
    UINT          Width;
    UINT          Height;
    UINT          Stride;
     Basis;
     Degree;
} D3DRECTPATCH_INFO, *LPD3DRECTPATCH_INFO;
typedef struct D3DRECT {
    LONG x1;
    LONG y1;
    LONG x2;
    LONG x2;
} D3DRECT;
typedef struct D3DLOCKED_BOX {
    int  RowPitch;
    int  SlicePitch;
    void *pBits;
} D3DLOCKED_BOX, *LPD3DLOCKED_BOX;
typedef struct D3DBOX {
    UINT Left;
    UINT Top;
    UINT Right;
    UINT Bottom;
    UINT Front;
    UINT Back;
} D3DBOX, *LPD3DBOX;
typedef struct D3DVOLUME_DESC {
           Format;
     Type;
    DWORD           Usage; // not used
             Pool;
    UINT            Width;
    UINT            Height;
    UINT            Depth;
} D3DVOLUME_DESC, *LPD3DVOLUME_DESC;
typedef struct D3DVERTEXELEMENT9 {
    WORD Stream;
    WORD Offset;
    BYTE ; 
    BYTE ;
    BYTE ;
    BYTE UsageIndex;
} D3DVERTEXELEMENT9, *LPD3DVERTEXELEMENT9;
typedef struct D3DPRESENT_PARAMETERS {
    UINT                BackBufferWidth;
    UINT                BackBufferHeight;
               BackBufferFormat;
    UINT                BackBufferCount;
     MultiSampleType;
    DWORD               MultiSampleQuality;
           SwapEffect;
    HWND                hDeviceWindow;
    BOOL                Windowed;
    BOOL                EnableAutoDepthStencil;
               AutoDepthStencilFormat;
    DWORD               Flags;
    UINT                FullScreen_RefreshRateInHz;
    UINT                PresentationInterval;
} D3DPRESENT_PARAMETERS, *LPD3DPRESENT_PARAMETERS;
typedef struct D3DDISPLAYMODE {
    UINT      Width;
    UINT      Height;
    UINT      RefreshRate;
     Format;
} D3DDISPLAYMODE, *LPD3DDISPLAYMODE;
typedef struct _D3DCAPS9 {
    D3DDEVTYPE        DeviceType;
    UINT              AdapterOrdinal;
    DWORD             Caps;
    DWORD             Caps2;
    DWORD             Caps3;
    DWORD             PresentationIntervals;
    DWORD             CursorCaps;
    DWORD             DevCaps;
    DWORD             PrimitiveMiscCaps;
    DWORD             RasterCaps;
    DWORD             ZCmpCaps;
    DWORD             SrcBlendCaps;
    DWORD             DestBlendCaps;
    DWORD             AlphaCmpCaps;
    DWORD             ShadeCaps;
    DWORD             TextureCaps;
    DWORD             TextureFilterCaps;
    DWORD             CubeTextureFilterCaps;
    DWORD             VolumeTextureFilterCaps;
    DWORD             TextureAddressCaps;
    DWORD             VolumeTextureAddressCaps;
    DWORD             LineCaps;
    
    DWORD             MaxTextureWidth;
    DWORD             MaxTextureHeight;
    DWORD             MaxVolumeExtent;
    DWORD             MaxTextureRepeat;
    DWORD             MaxTextureAspectRatio;
    DWORD             MaxAnisotropy;
    float             MaxVertexW;
    float             GuardBandLeft;
    float             GuardBandTop;
    float             GuardBandRight;
    float             GuardBandBottom;
    float             ExtentsAdjust;
    DWORD             StencilCaps;
    DWORD             FVFCaps;
    DWORD             TextureOpCaps;
    DWORD             MaxTextureBlendStages;
    DWORD             MaxSimultaneousTextures;
    DWORD             VertexProcessingCaps;
    DWORD             MaxActiveLights;
    DWORD             MaxUserClipPlanes;
    DWORD             MaxVertexBlendMatrices;
    DWORD             MaxVertexBlendMatrixIndex;
    float             MaxPointSize;
    DWORD             MaxPrimitiveCount;
    DWORD             MaxVertexIndex;
    DWORD             MaxStreams;
    DWORD             MaxStreamStride;
    
    DWORD             VertexShaderVersion;
    DWORD             MaxVertexShaderConst;
    DWORD             PixelShaderVersion;
    float             PixelShader1xMaxValue;
    DWORD             DevCaps2;
    float             MaxNpatchTessellationLevel;
    DWORD             Reserved5;
    UINT              MasterAdapterOrdinal;
    UINT              AdapterOrdinalInGroup;
    UINT              NumberOfAdaptersInGroup;
    DWORD             DeclTypes;
    DWORD             NumSimultaneousRTs;
    DWORD             StretchRectFilterCaps;
    D3DVSHADERCAPS2_0 VS20Caps;
    D3DPSHADERCAPS2_0 PS20Caps;
    DWORD             VertexTextureFilterCaps;
    DWORD             MaxVShaderInstructionsExecuted;
    DWORD             MaxPShaderInstructionsExecuted;
    DWORD             MaxVertexShader30InstructionSlots;
    DWORD             MaxPixelShader30InstructionSlots;
} D3DCAPS9;
typedef struct D3DADAPTER_IDENTIFIER9 {
    char          Driver[];
    char          Description[];
    char          DeviceName[32];
#ifdef _WIN32
    LARGE_INTEGER DriverVersion;
#else
    DWORD         DriverVersionLowPart;
    DWORD         DriverVersionHighPart;
#endif
    DWORD         VendorId;
    DWORD         DeviceId;
    DWORD         SubSysId;
    DWORD         Revision;
    GUID          DeviceIdentifier;
    DWORD         WHQLLevel;
} D3DADAPTER_IDENTIFIER9, *LPD3DADAPTER_IDENTIFIER9;
typedef struct D3DSURFACE_DESC {
               Format;
         Type;
    DWORD               Usage;
                 Pool;
     MultiSampleType;
    DWORD               MultiSampleQuality;
    UINT                Width;
    UINT                Height;
} D3DSURFACE_DESC, *LPD3DSURFACE_DESC;
typedef struct D3DLOCKED_RECT {
    INT  Pitch;
    void *pBits;
} D3DLOCKED_RECT, *LPD3DLOCKED_RECT;
typedef struct D3DINDEXBUFFER_DESC {
           Format;
     Type;
    DWORD           ;
             Pool;
    UINT            Size;
} D3DINDEXBUFFER_DESC, *LPD3DINDEXBUFFER_DESC;
typedef struct _RGNDATA {
     rdh;
    char          Buffer[1];
} RGNDATA, *PRGNDATA, *NPRGNDATA, *LPRGNDATA;
typedef struct _RGNDATAHEADER {
    DWORD dwSize;
    DWORD ;
    DWORD nCount;
    DWORD nRgnSize;
    RECT  rcBound;
} RGNDATAHEADER, *PRGNDATAHEADER;
typedef struct D3DVERTEXBUFFER_DESC {
           Format;
     Type;
    DWORD           ;
             Pool;
    UINT            Size;
    DWORD           ; 
} D3DVERTEXBUFFER_DESC, *LPD3DVERTEXBUFFER_DESC;
typedef DWORD D3DCOLOR;
D3DCLEAR_STENCIL
D3DCLEAR_TARGET
D3DCLEAR_ZBUFFER
D3DFVF_DIFFUSE
D3DFVF_NORMAL
D3DFVF_PSIZE
D3DFVF_SPECULAR
D3DFVF_XYZ
D3DFVF_XYZRHW
D3DFVF_XYZB1 through D3DFVF_XYZB5
D3DFVF_XYZW
0
D3DPRESENT_DONOTWAIT
D3DPRESENT_LINEAR_CONTENT
RDH_RECTANGLES
D3D_SDK_VERSION
#define MAX_DEVICE_IDENTIFIER_STRING        512
#define MAKEFOURCC(ch0, ch1, ch2, ch3)  \ 
    ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) |  \ 
    ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ));
D3DADAPTER_DEFAULT
Usage Vertex Buffer Create Index Buffer Create Texture Buffer Create Cube Texture Create Volume Texture Create Surface Create Check Device Format
D3DUSAGE_AUTOGENMIPMAPXXX
D3DUSAGE_DEPTHSTENCILXXXX
D3DUSAGE_DMAPXX
D3DUSAGE_DONOTCLIPXX
D3DUSAGE_DYNAMICXXXXXX
D3DUSAGE_NONSECUREXXXXXXX
D3DUSAGE_NPATCHESXX
D3DUSAGE_POINTSXX
D3DUSAGE_RTPATCHESXX
D3DUSAGE_RENDERTARGETXXXX
D3DUSAGE_SOFTWAREPROCESSINGXXXXXX
D3DUSAGE_TEXTAPIXX
D3DUSAGE_WRITEONLYXX
D3DUSAGE_RESTRICTED_CONTENT
D3DUSAGE_RESTRICT_SHARED_RESOURCE
D3DUSAGE_RESTRICT_SHARED_RESOURCE_DRIVER
Lock IDirect3DIndexBuffer9 IDirect3DCubeTexture9 IDirect3DTexture9 IDirect3DVertexBuffer9 IDirect3DVolume9 IDirect3DVolumeTexture9
D3DLOCK_DISCARD XXXXXX
D3DLOCK_DONOTWAIT
D3DLOCK_NO_DIRTY_UPDATE XXXXXX
D3DLOCK_NOOVERWRITE XX X
D3DLOCK_NOSYSLOCK X XXXX
D3DLOCK_READONLY XXXXXX
D3DCREATE_ADAPTERGROUP_DEVICE 
D3DCREATE_DISABLE_DRIVER_MANAGEMENT 
D3DCREATE_DISABLE_DRIVER_MANAGEMENT_EX 
D3DCREATE_DISABLE_PRINTSCREEN
D3DCREATE_DISABLE_PSGP_THREADING
D3DCREATE_ENABLE_PRESENTSTATS
D3DCREATE_FPU_PRESERVE
D3DCREATE_HARDWARE_VERTEXPROCESSING
D3DCREATE_MIXED_VERTEXPROCESSING
D3DCREATE_MULTITHREADED
D3DCREATE_NOWINDOWCHANGES
D3DCREATE_PUREDEVICE
D3DCREATE_SCREENSAVER
D3DCREATE_SOFTWARE_VERTEXPROCESSING
0 or D3DGETDATA_FLUSH
0 or D3DENUM_WHQL_LEVEL
#define D3DISSUE_END (1 << 0)
#define D3DISSUE_BEGIN (1 << 1)
0 or D3DSPD_IUNKNOWN
typedef enum D3DDEGREETYPE {
    D3DDEGREE_LINEAR      = 1,
    D3DDEGREE_QUADRATIC   = 2,
    D3DDEGREE_CUBIC       = 3,
    D3DDEGREE_QUINTIC     = 5,
    D3DDEGREE_FORCE_DWORD = 0x7fffffff
} D3DDEGREETYPE;
typedef enum D3DBASISTYPE { 
    D3DBASIS_BEZIER       = 0,
    D3DBASIS_BSPLINE      = 1,
    D3DBASIS_CATMULL_ROM  = 2,
    D3DBASIS_FORCE_DWORD  = 0x7fffffff
} D3DBASISTYPE, *LPD3DBASISTYPE;
typedef enum D3DPRIMITIVETYPE { 
    D3DPT_POINTLIST      = 1,
    D3DPT_LINELIST       = 2,
    D3DPT_LINESTRIP      = 3,
    D3DPT_TRIANGLELIST   = 4,
    D3DPT_TRIANGLESTRIP  = 5,
    D3DPT_TRIANGLEFAN    = 6,
    D3DPT_FORCE_DWORD    = 0x7fffffff
} D3DPRIMITIVETYPE, *LPD3DPRIMITIVETYPE;
typedef enum _D3DSTATEBLOCKTYPE { 
    D3DSBT_ALL          = 1,
    D3DSBT_PIXELSTATE   = 2,
    D3DSBT_VERTEXSTATE  = 3,
    D3DSBT_FORCE_DWORD  = 0x7fffffff
} D3DSTATEBLOCKTYPE;
typedef enum D3DQUERYTYPE { 
    D3DQUERYTYPE_VCACHE             = 4,
    D3DQUERYTYPE_RESOURCEMANAGER    = 5,
    D3DQUERYTYPE_VERTEXSTATS        = 6,
    D3DQUERYTYPE_EVENT              = 8,
    D3DQUERYTYPE_OCCLUSION          = 9,
    D3DQUERYTYPE_TIMESTAMP          = 10,
    D3DQUERYTYPE_TIMESTAMPDISJOINT  = 11,
    D3DQUERYTYPE_TIMESTAMPFREQ      = 12,
    D3DQUERYTYPE_PIPELINETIMINGS    = 13,
    D3DQUERYTYPE_INTERFACETIMINGS   = 14,
    D3DQUERYTYPE_VERTEXTIMINGS      = 15,
    D3DQUERYTYPE_PIXELTIMINGS       = 16,
    D3DQUERYTYPE_BANDWIDTHTIMINGS   = 17,
    D3DQUERYTYPE_CACHEUTILIZATION   = 18,
    D3DQUERYTYPE_MEMORYPRESSURE     = 19
} D3DQUERYTYPE, *LPD3DQUERYTYPE;
typedef enum D3DDECLUSAGE { 
    D3DDECLUSAGE_POSITION      = 0,
    D3DDECLUSAGE_BLENDWEIGHT   = 1,
    D3DDECLUSAGE_BLENDINDICES  = 2,
    D3DDECLUSAGE_NORMAL        = 3,
    D3DDECLUSAGE_PSIZE         = 4,
    D3DDECLUSAGE_TEXCOORD      = 5,
    D3DDECLUSAGE_TANGENT       = 6,
    D3DDECLUSAGE_BINORMAL      = 7,
    D3DDECLUSAGE_TESSFACTOR    = 8,
    D3DDECLUSAGE_POSITIONT     = 9,
    D3DDECLUSAGE_COLOR         = 10,
    D3DDECLUSAGE_FOG           = 11,
    D3DDECLUSAGE_DEPTH         = 12,
    D3DDECLUSAGE_SAMPLE        = 13
} D3DDECLUSAGE, *LPD3DDECLUSAGE;
typedef enum D3DDECLMETHOD { 
    D3DDECLMETHOD_DEFAULT           = 0,
    D3DDECLMETHOD_PARTIALU          = 1,
    D3DDECLMETHOD_PARTIALV          = 2,
    D3DDECLMETHOD_CROSSUV           = 3,
    D3DDECLMETHOD_UV                = 4,
    D3DDECLMETHOD_LOOKUP            = 5,
    D3DDECLMETHOD_LOOKUPPRESAMPLED  = 6
} D3DDECLMETHOD, *LPD3DDECLMETHOD;
typedef enum D3DDECLTYPE { 
    D3DDECLTYPE_FLOAT1     = 0,
    D3DDECLTYPE_FLOAT2     = 1,
    D3DDECLTYPE_FLOAT3     = 2,
    D3DDECLTYPE_FLOAT4     = 3,
    D3DDECLTYPE_D3DCOLOR   = 4,
    D3DDECLTYPE_UBYTE4     = 5,
    D3DDECLTYPE_SHORT2     = 6,
    D3DDECLTYPE_SHORT4     = 7,
    D3DDECLTYPE_UBYTE4N    = 8,
    D3DDECLTYPE_SHORT2N    = 9,
    D3DDECLTYPE_SHORT4N    = 10,
    D3DDECLTYPE_USHORT2N   = 11,
    D3DDECLTYPE_USHORT4N   = 12,
    D3DDECLTYPE_UDEC3      = 13,
    D3DDECLTYPE_DEC3N      = 14,
    D3DDECLTYPE_FLOAT16_2  = 15,
    D3DDECLTYPE_FLOAT16_4  = 16,
    D3DDECLTYPE_UNUSED     = 17
} D3DDECLTYPE, *LPD3DDECLTYPE;
typedef enum D3DDEVTYPE { 
    D3DDEVTYPE_HAL          = 1,
    D3DDEVTYPE_NULLREF      = 4,
    D3DDEVTYPE_REF          = 2,
    D3DDEVTYPE_SW           = 3,
    D3DDEVTYPE_FORCE_DWORD  = 0x7fffffff
} D3DDEVTYPE, *LPD3DDEVTYPE;
typedef enum _D3DFORMAT {
    D3DFMT_UNKNOWN              =  0,

    D3DFMT_R8G8B8               = 20,
    D3DFMT_A8R8G8B8             = 21,
    D3DFMT_X8R8G8B8             = 22,
    D3DFMT_R5G6B5               = 23,
    D3DFMT_X1R5G5B5             = 24,
    D3DFMT_A1R5G5B5             = 25,
    D3DFMT_A4R4G4B4             = 26,
    D3DFMT_R3G3B2               = 27,
    D3DFMT_A8                   = 28,
    D3DFMT_A8R3G3B2             = 29,
    D3DFMT_X4R4G4B4             = 30,
    D3DFMT_A2B10G10R10          = 31,
    D3DFMT_A8B8G8R8             = 32,
    D3DFMT_X8B8G8R8             = 33,
    D3DFMT_G16R16               = 34,
    D3DFMT_A2R10G10B10          = 35,
    D3DFMT_A16B16G16R16         = 36,

    D3DFMT_A8P8                 = 40,
    D3DFMT_P8                   = 41,

    D3DFMT_L8                   = 50,
    D3DFMT_A8L8                 = 51,
    D3DFMT_A4L4                 = 52,
    
    D3DFMT_V8U8                 = 60,
    D3DFMT_L6V5U5               = 61,
    D3DFMT_X8L8V8U8             = 62,
    D3DFMT_Q8W8V8U8             = 63,
    D3DFMT_V16U16               = 64,
    D3DFMT_A2W10V10U10          = 67,

    D3DFMT_UYVY                 = ('U', 'Y', 'V', 'Y'),
    D3DFMT_R8G8_B8G8            = ('R', 'G', 'B', 'G'),
    D3DFMT_YUY2                 = ('Y', 'U', 'Y', '2'),
    D3DFMT_G8R8_G8B8            = ('G', 'R', 'G', 'B'),
    D3DFMT_DXT1                 = ('D', 'X', 'T', '1'),
    D3DFMT_DXT2                 = ('D', 'X', 'T', '2'),
    D3DFMT_DXT3                 = ('D', 'X', 'T', '3'),
    D3DFMT_DXT4                 = ('D', 'X', 'T', '4'),
    D3DFMT_DXT5                 = ('D', 'X', 'T', '5'),

    D3DFMT_D16_LOCKABLE         = 70,
    D3DFMT_D32                  = 71,
    D3DFMT_D15S1                = 73,
    D3DFMT_D24S8                = 75,
    D3DFMT_D24X8                = 77,
    D3DFMT_D24X4S4              = 79,
    D3DFMT_D16                  = 80,

    D3DFMT_D32F_LOCKABLE        = 82,
    D3DFMT_D24FS8               = 83,
    
#if !defined(D3D_DISABLE_9EX)
    D3DFMT_D32_LOCKABLE         = 84,
    D3DFMT_S8_LOCKABLE          = 85,
#endif // !D3D_DISABLE_9EX
    D3DFMT_L16                  = 81,

    D3DFMT_VERTEXDATA           = 100,
    D3DFMT_INDEX16              = 101,
    D3DFMT_INDEX32              = 102,

    D3DFMT_Q16W16V16U16         = 110,
    D3DFMT_MULTI2_ARGB8         = ('M','E','T','1'),

    D3DFMT_R16F                 = 111,
    D3DFMT_G16R16F              = 112,
    D3DFMT_A16B16G16R16F        = 113,
    D3DFMT_R32F                 = 114,
    D3DFMT_G32R32F              = 115,
    D3DFMT_A32B32G32R32F        = 116,

    D3DFMT_CxV8U8               = 117,
#if !defined(D3D_DISABLE_9EX)
    D3DFMT_A1                   = 118,
    D3DFMT_A2B10G10R10_XR_BIAS  = 119,
    D3DFMT_BINARYBUFFER         = 199,
#endif // !D3D_DISABLE_9EX
    D3DFMT_FORCE_DWORD          =0x7fffffff
} D3DFORMAT;
typedef enum D3DRESOURCETYPE { 
    D3DRTYPE_SURFACE        = 1,
    D3DRTYPE_VOLUME         = 2,
    D3DRTYPE_TEXTURE        = 3,
    D3DRTYPE_VOLUMETEXTURE  = 4,
    D3DRTYPE_CUBETEXTURE    = 5,
    D3DRTYPE_VERTEXBUFFER   = 6,
    D3DRTYPE_INDEXBUFFER    = 7,
    D3DRTYPE_FORCE_DWORD    = 0x7fffffff
} D3DRESOURCETYPE, *LPD3DRESOURCETYPE;
typedef enum D3DMULTISAMPLE_TYPE { 
    D3DMULTISAMPLE_NONE          = 0,
    D3DMULTISAMPLE_NONMASKABLE   = 1,
    D3DMULTISAMPLE_2_SAMPLES     = 2,
    D3DMULTISAMPLE_3_SAMPLES     = 3,
    D3DMULTISAMPLE_4_SAMPLES     = 4,
    D3DMULTISAMPLE_5_SAMPLES     = 5,
    D3DMULTISAMPLE_6_SAMPLES     = 6,
    D3DMULTISAMPLE_7_SAMPLES     = 7,
    D3DMULTISAMPLE_8_SAMPLES     = 8,
    D3DMULTISAMPLE_9_SAMPLES     = 9,
    D3DMULTISAMPLE_10_SAMPLES    = 10,
    D3DMULTISAMPLE_11_SAMPLES    = 11,
    D3DMULTISAMPLE_12_SAMPLES    = 12,
    D3DMULTISAMPLE_13_SAMPLES    = 13,
    D3DMULTISAMPLE_14_SAMPLES    = 14,
    D3DMULTISAMPLE_15_SAMPLES    = 15,
    D3DMULTISAMPLE_16_SAMPLES    = 16,
    D3DMULTISAMPLE_FORCE_DWORD   = 0xffffffff
} D3DMULTISAMPLE_TYPE, *LPD3DMULTISAMPLE_TYPE;
typedef enum D3DSWAPEFFECT { 
    D3DSWAPEFFECT_DISCARD      = 1,
    D3DSWAPEFFECT_FLIP         = 2,
    D3DSWAPEFFECT_COPY         = 3,
    D3DSWAPEFFECT_OVERLAY      = 4,
    D3DSWAPEFFECT_FLIPEX       = 5,
    D3DSWAPEFFECT_FORCE_DWORD  = 0xFFFFFFFF
} D3DSWAPEFFECT, *LPD3DSWAPEFFECT;
typedef enum D3DTEXTUREFILTERTYPE { 
    D3DTEXF_NONE             = 0,
    D3DTEXF_POINT            = 1,
    D3DTEXF_LINEAR           = 2,
    D3DTEXF_ANISOTROPIC      = 3,
    D3DTEXF_PYRAMIDALQUAD    = 6,
    D3DTEXF_GAUSSIANQUAD     = 7,
    D3DTEXF_CONVOLUTIONMONO  = 8,
    D3DTEXF_FORCE_DWORD      = 0x7fffffff
} D3DTEXTUREFILTERTYPE, *LPD3DTEXTUREFILTERTYPE;
typedef enum D3DCUBEMAP_FACES { 
    D3DCUBEMAP_FACE_POSITIVE_X   = 0,
    D3DCUBEMAP_FACE_NEGATIVE_X   = 1,
    D3DCUBEMAP_FACE_POSITIVE_Y   = 2,
    D3DCUBEMAP_FACE_NEGATIVE_Y   = 3,
    D3DCUBEMAP_FACE_POSITIVE_Z   = 4,
    D3DCUBEMAP_FACE_NEGATIVE_Z   = 5,
    D3DCUBEMAP_FACE_FORCE_DWORD  = 0xffffffff
} D3DCUBEMAP_FACES, *LPD3DCUBEMAP_FACES;
typedef enum D3DPOOL { 
    D3DPOOL_DEFAULT      = 0,
    D3DPOOL_MANAGED      = 1,
    D3DPOOL_SYSTEMMEM    = 2,
    D3DPOOL_SCRATCH      = 3,
    D3DPOOL_FORCE_DWORD  = 0x7fffffff
} D3DPOOL, *LPD3DPOOL;
typedef enum D3DBACKBUFFER_TYPE { 
    D3DBACKBUFFER_TYPE_MONO         = 0,
    D3DBACKBUFFER_TYPE_LEFT         = 1,
    D3DBACKBUFFER_TYPE_RIGHT        = 2,
    D3DBACKBUFFER_TYPE_FORCE_DWORD  = 0x7fffffff
} D3DBACKBUFFER_TYPE, *LPD3DBACKBUFFER_TYPE;