WINE_DEFAULT_DEBUG_CHANNEL(d3d9);
-/* IDirect3DQuery9 IUnknown parts follow: */
-static HRESULT WINAPI IDirect3DQuery9Impl_QueryInterface(LPDIRECT3DQUERY9 iface, REFIID riid, LPVOID* ppobj) {
- IDirect3DQuery9Impl *This = (IDirect3DQuery9Impl *)iface;
+static inline IDirect3DQuery9Impl *impl_from_IDirect3DQuery9(IDirect3DQuery9 *iface)
+{
+ return CONTAINING_RECORD(iface, IDirect3DQuery9Impl, IDirect3DQuery9_iface);
+}
+
+static HRESULT WINAPI IDirect3DQuery9Impl_QueryInterface(IDirect3DQuery9 *iface, REFIID riid,
+ void **ppobj)
+{
+ IDirect3DQuery9Impl *This = impl_from_IDirect3DQuery9(iface);
TRACE("iface %p, riid %s, object %p.\n", iface, debugstr_guid(riid), ppobj);
return E_NOINTERFACE;
}
-static ULONG WINAPI IDirect3DQuery9Impl_AddRef(LPDIRECT3DQUERY9 iface) {
- IDirect3DQuery9Impl *This = (IDirect3DQuery9Impl *)iface;
+static ULONG WINAPI IDirect3DQuery9Impl_AddRef(IDirect3DQuery9 *iface)
+{
+ IDirect3DQuery9Impl *This = impl_from_IDirect3DQuery9(iface);
ULONG ref = InterlockedIncrement(&This->ref);
TRACE("%p increasing refcount to %u.\n", iface, ref);
return ref;
}
-static ULONG WINAPI IDirect3DQuery9Impl_Release(LPDIRECT3DQUERY9 iface) {
- IDirect3DQuery9Impl *This = (IDirect3DQuery9Impl *)iface;
+static ULONG WINAPI IDirect3DQuery9Impl_Release(IDirect3DQuery9 *iface)
+{
+ IDirect3DQuery9Impl *This = impl_from_IDirect3DQuery9(iface);
ULONG ref = InterlockedDecrement(&This->ref);
TRACE("%p decreasing refcount to %u.\n", iface, ref);
if (ref == 0) {
wined3d_mutex_lock();
- IWineD3DQuery_Release(This->wineD3DQuery);
+ wined3d_query_decref(This->wineD3DQuery);
wined3d_mutex_unlock();
IDirect3DDevice9Ex_Release(This->parentDevice);
return ref;
}
-/* IDirect3DQuery9 Interface follow: */
-static HRESULT WINAPI IDirect3DQuery9Impl_GetDevice(IDirect3DQuery9 *iface, IDirect3DDevice9 **device)
+static HRESULT WINAPI IDirect3DQuery9Impl_GetDevice(IDirect3DQuery9 *iface,
+ IDirect3DDevice9 **device)
{
- IDirect3DQuery9Impl *This = (IDirect3DQuery9Impl *)iface;
+ IDirect3DQuery9Impl *This = impl_from_IDirect3DQuery9(iface);
TRACE("iface %p, device %p.\n", iface, device);
return D3D_OK;
}
-static D3DQUERYTYPE WINAPI IDirect3DQuery9Impl_GetType(LPDIRECT3DQUERY9 iface) {
- IDirect3DQuery9Impl *This = (IDirect3DQuery9Impl *)iface;
- HRESULT hr;
+static D3DQUERYTYPE WINAPI IDirect3DQuery9Impl_GetType(IDirect3DQuery9 *iface)
+{
+ IDirect3DQuery9Impl *This = impl_from_IDirect3DQuery9(iface);
+ D3DQUERYTYPE type;
TRACE("iface %p.\n", iface);
wined3d_mutex_lock();
- hr = IWineD3DQuery_GetType(This->wineD3DQuery);
+ type = wined3d_query_get_type(This->wineD3DQuery);
wined3d_mutex_unlock();
- return hr;
+ return type;
}
-static DWORD WINAPI IDirect3DQuery9Impl_GetDataSize(LPDIRECT3DQUERY9 iface) {
- IDirect3DQuery9Impl *This = (IDirect3DQuery9Impl *)iface;
+static DWORD WINAPI IDirect3DQuery9Impl_GetDataSize(IDirect3DQuery9 *iface)
+{
+ IDirect3DQuery9Impl *This = impl_from_IDirect3DQuery9(iface);
DWORD ret;
TRACE("iface %p.\n", iface);
wined3d_mutex_lock();
- ret = IWineD3DQuery_GetDataSize(This->wineD3DQuery);
+ ret = wined3d_query_get_data_size(This->wineD3DQuery);
wined3d_mutex_unlock();
return ret;
}
-static HRESULT WINAPI IDirect3DQuery9Impl_Issue(LPDIRECT3DQUERY9 iface, DWORD dwIssueFlags) {
- IDirect3DQuery9Impl *This = (IDirect3DQuery9Impl *)iface;
+static HRESULT WINAPI IDirect3DQuery9Impl_Issue(IDirect3DQuery9 *iface, DWORD dwIssueFlags)
+{
+ IDirect3DQuery9Impl *This = impl_from_IDirect3DQuery9(iface);
HRESULT hr;
TRACE("iface %p, flags %#x.\n", iface, dwIssueFlags);
wined3d_mutex_lock();
- hr = IWineD3DQuery_Issue(This->wineD3DQuery, dwIssueFlags);
+ hr = wined3d_query_issue(This->wineD3DQuery, dwIssueFlags);
wined3d_mutex_unlock();
return hr;
}
-static HRESULT WINAPI IDirect3DQuery9Impl_GetData(LPDIRECT3DQUERY9 iface, void* pData, DWORD dwSize, DWORD dwGetDataFlags) {
- IDirect3DQuery9Impl *This = (IDirect3DQuery9Impl *)iface;
+static HRESULT WINAPI IDirect3DQuery9Impl_GetData(IDirect3DQuery9 *iface, void *pData,
+ DWORD dwSize, DWORD dwGetDataFlags)
+{
+ IDirect3DQuery9Impl *This = impl_from_IDirect3DQuery9(iface);
HRESULT hr;
TRACE("iface %p, data %p, size %u, flags %#x.\n",
iface, pData, dwSize, dwGetDataFlags);
wined3d_mutex_lock();
- hr = IWineD3DQuery_GetData(This->wineD3DQuery, pData, dwSize, dwGetDataFlags);
+ hr = wined3d_query_get_data(This->wineD3DQuery, pData, dwSize, dwGetDataFlags);
wined3d_mutex_unlock();
return hr;
{
HRESULT hr;
- query->lpVtbl = &Direct3DQuery9_Vtbl;
+ query->IDirect3DQuery9_iface.lpVtbl = &Direct3DQuery9_Vtbl;
query->ref = 1;
wined3d_mutex_lock();
- hr = IWineD3DDevice_CreateQuery(device->WineD3DDevice, type, &query->wineD3DQuery);
+ hr = wined3d_query_create(device->wined3d_device, type, &query->wineD3DQuery);
wined3d_mutex_unlock();
if (FAILED(hr))
{
return hr;
}
- query->parentDevice = (IDirect3DDevice9Ex *)device;
+ query->parentDevice = &device->IDirect3DDevice9Ex_iface;
IDirect3DDevice9Ex_AddRef(query->parentDevice);
return D3D_OK;