1 /* $Id: kernel_main.c 21434 2006-04-01 19:12:56Z greatlrd $
3 * COPYRIGHT: See COPYING in the top level directory
5 * FILE: lib/ddraw/main/kernel.c
6 * PURPOSE: IDirectDrawKernel and IDirectDrawSurfaceKernel Implementation
7 * PROGRAMMER: Maarten Bosma
14 /***** IDirectDrawKernel ****/
17 DirectDrawKernel_AddRef ( LPDIRECTDRAWKERNEL iface
)
21 IDirectDrawKernelImpl
* This
= (IDirectDrawKernelImpl
*)iface
;
27 ref
= InterlockedIncrement( (PLONG
) &This
->ref
);
33 DirectDrawKernel_Release ( LPDIRECTDRAWKERNEL iface
)
37 IDirectDrawKernelImpl
* This
= (IDirectDrawKernelImpl
*)iface
;
42 ref
= InterlockedDecrement( (PLONG
) &This
->ref
);
46 /* Add here if we need releae some memory pointer before
52 HeapFree(GetProcessHeap(), 0, This
);
60 DirectDrawKernel_QueryInterface ( LPDIRECTDRAWKERNEL iface
,
69 DirectDrawKernel_GetKernelHandle ( LPDIRECTDRAWKERNEL iface
,
77 DirectDrawKernel_ReleaseKernelHandle ( LPDIRECTDRAWKERNEL iface
)
85 DDSurfaceKernel_AddRef ( LPDIRECTDRAWSURFACEKERNEL iface
)
89 IDirectDrawSurfaceKernelImpl
* This
= (IDirectDrawSurfaceKernelImpl
*)iface
;
95 ref
= InterlockedIncrement( (PLONG
) &This
->ref
);
101 DDSurfaceKernel_Release ( LPDIRECTDRAWSURFACEKERNEL iface
)
105 IDirectDrawSurfaceKernelImpl
* This
= (IDirectDrawSurfaceKernelImpl
*)iface
;
110 ref
= InterlockedDecrement( (PLONG
) &This
->ref
);
114 /* Add here if we need releae some memory pointer before
120 HeapFree(GetProcessHeap(), 0, This
);
128 DDSurfaceKernel_QueryInterface ( LPDIRECTDRAWSURFACEKERNEL iface
,
137 DDSurfaceKernel_GetKernelHandle ( LPDIRECTDRAWSURFACEKERNEL iface
,
145 DDSurfaceKernel_ReleaseKernelHandle ( LPDIRECTDRAWSURFACEKERNEL iface
)
152 IDirectDrawKernelVtbl DirectDrawKernel_Vtable
=
154 DirectDrawKernel_QueryInterface
,
155 DirectDrawKernel_AddRef
,
156 DirectDrawKernel_Release
,
157 DirectDrawKernel_GetKernelHandle
,
158 DirectDrawKernel_ReleaseKernelHandle
161 IDirectDrawSurfaceKernelVtbl DirectDrawSurfaceKernel_Vtable
=
163 DDSurfaceKernel_QueryInterface
,
164 DDSurfaceKernel_AddRef
,
165 DDSurfaceKernel_Release
,
166 DDSurfaceKernel_GetKernelHandle
,
167 DDSurfaceKernel_ReleaseKernelHandle