Refactored d3d9 a bit
[reactos.git] / reactos / dll / directx / d3d9 / d3d9_helpers.h
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS ReactX
4 * FILE: dll/directx/d3d9/d3d9_helpers.h
5 * PURPOSE: d3d9.dll helper functions
6 * PROGRAMERS: Gregor Brunmar <gregor (dot) brunmar (at) home (dot) se>
7 */
8 #ifndef _D3D9_HELPERS_H_
9 #define _D3D9_HELPERS_H_
10
11 #include "d3d9_common.h"
12 #include "d3d9_private.h"
13
14 /* Convert a IDirect3D9 pointer safely to the internal implementation struct */
15 LPDIRECT3D9_INT impl_from_IDirect3D9(LPDIRECT3D9 iface);
16
17 /* Reads a registry value if it's of the correct value type */
18 BOOL ReadRegistryValue(IN DWORD ValueType, IN LPCSTR ValueName, OUT LPBYTE DataBuffer, IN OUT LPDWORD DataBufferSize);
19
20 /* Formats debug strings */
21 HRESULT FormatDebugString(IN OUT LPSTR Buffer, IN LONG BufferSize, IN LPCSTR FormatString, ... );
22
23 /* Allocates memory and returns an aligned pointer */
24 HRESULT AlignedAlloc(IN OUT LPVOID *ppObject, IN SIZE_T dwSize);
25
26 /* Frees memory allocated with AlignedAlloc */
27 VOID AlignedFree(IN OUT LPVOID pObject);
28
29
30 #endif // _D3D9_HELPERS_H_