ReactOS  0.4.14-dev-854-gb9426a3
container.c File Reference
#include "dxdiag_private.h"
#include "wine/debug.h"
Include dependency graph for container.c:

Go to the source code of this file.

Macros

#define COBJMACROS
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (dxdiag)
 
static IDxDiagContainerImplimpl_from_IDxDiagContainer (IDxDiagContainer *iface)
 
static HRESULT WINAPI IDxDiagContainerImpl_QueryInterface (IDxDiagContainer *iface, REFIID riid, void **ppobj)
 
static ULONG WINAPI IDxDiagContainerImpl_AddRef (IDxDiagContainer *iface)
 
static ULONG WINAPI IDxDiagContainerImpl_Release (IDxDiagContainer *iface)
 
static HRESULT WINAPI IDxDiagContainerImpl_GetNumberOfChildContainers (IDxDiagContainer *iface, DWORD *pdwCount)
 
static HRESULT WINAPI IDxDiagContainerImpl_EnumChildContainerNames (IDxDiagContainer *iface, DWORD dwIndex, LPWSTR pwszContainer, DWORD cchContainer)
 
static HRESULT IDxDiagContainerImpl_GetChildContainerInternal (IDxDiagContainerImpl_Container *cont, LPCWSTR pwszContainer, IDxDiagContainerImpl_Container **subcont)
 
static HRESULT WINAPI IDxDiagContainerImpl_GetChildContainer (IDxDiagContainer *iface, LPCWSTR pwszContainer, IDxDiagContainer **ppInstance)
 
static HRESULT WINAPI IDxDiagContainerImpl_GetNumberOfProps (IDxDiagContainer *iface, DWORD *pdwCount)
 
static HRESULT WINAPI IDxDiagContainerImpl_EnumPropNames (IDxDiagContainer *iface, DWORD dwIndex, LPWSTR pwszPropName, DWORD cchPropName)
 
static HRESULT WINAPI IDxDiagContainerImpl_GetProp (IDxDiagContainer *iface, LPCWSTR pwszPropName, VARIANT *pvarProp)
 
HRESULT DXDiag_CreateDXDiagContainer (REFIID riid, IDxDiagContainerImpl_Container *cont, IDxDiagProvider *pProv, LPVOID *ppobj)
 

Variables

static const IDxDiagContainerVtbl DxDiagContainer_Vtbl
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 23 of file container.c.

Function Documentation

◆ DXDiag_CreateDXDiagContainer()

HRESULT DXDiag_CreateDXDiagContainer ( REFIID  riid,
IDxDiagContainerImpl_Container cont,
IDxDiagProvider *  pProv,
LPVOID ppobj 
)

internal factory

Definition at line 267 of file container.c.

267  {
269 
270  TRACE("(%s, %p)\n", debugstr_guid(riid), ppobj);
271 
273  if (NULL == container) {
274  *ppobj = NULL;
275  return E_OUTOFMEMORY;
276  }
277  container->IDxDiagContainer_iface.lpVtbl = &DxDiagContainer_Vtbl;
278  container->ref = 0; /* will be inited with QueryInterface */
279  container->cont = cont;
280  container->pProv = pProv;
281  IDxDiagProvider_AddRef(pProv);
282  return IDxDiagContainerImpl_QueryInterface(&container->IDxDiagContainer_iface, riid, ppobj);
283 }
REFIID riid
Definition: precomp.h:44
struct container container
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
static HRESULT WINAPI IDxDiagContainerImpl_QueryInterface(IDxDiagContainer *iface, REFIID riid, void **ppobj)
Definition: container.c:35
#define IDxDiagProvider_AddRef(p)
Definition: dxdiag.h:60
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
static const IDxDiagContainerVtbl DxDiagContainer_Vtbl
Definition: container.c:253

Referenced by IDxDiagContainerImpl_GetChildContainer(), and IDxDiagProviderImpl_GetRootContainer().

◆ IDxDiagContainerImpl_AddRef()

static ULONG WINAPI IDxDiagContainerImpl_AddRef ( IDxDiagContainer *  iface)
static

Definition at line 54 of file container.c.

55 {
57  ULONG refCount = InterlockedIncrement(&This->ref);
58 
59  TRACE("(%p)->(ref before=%u)\n", This, refCount - 1);
60 
62 
63  return refCount;
64 }
static void DXDIAGN_LockModule(void)
#define TRACE(s)
Definition: solgame.cpp:4
#define InterlockedIncrement
Definition: armddk.h:53
static IDxDiagContainerImpl * impl_from_IDxDiagContainer(IDxDiagContainer *iface)
Definition: container.c:29
unsigned int ULONG
Definition: retypes.h:1

◆ IDxDiagContainerImpl_EnumChildContainerNames()

static HRESULT WINAPI IDxDiagContainerImpl_EnumChildContainerNames ( IDxDiagContainer *  iface,
DWORD  dwIndex,
LPWSTR  pwszContainer,
DWORD  cchContainer 
)
static

Definition at line 97 of file container.c.

99 {
102  DWORD i = 0;
103 
104  TRACE("(%p, %u, %p, %u)\n", iface, dwIndex, pwszContainer, cchContainer);
105 
106  if (NULL == pwszContainer || 0 == cchContainer) {
107  return E_INVALIDARG;
108  }
109 
111  {
112  if (dwIndex == i) {
113  TRACE("Found container name %s, copying string\n", debugstr_w(p->contName));
114  lstrcpynW(pwszContainer, p->contName, cchContainer);
115  return (cchContainer <= lstrlenW(p->contName)) ?
117  }
118  ++i;
119  }
120 
121  TRACE("Failed to find container name at specified index\n");
122  *pwszContainer = '\0';
123  return E_INVALIDARG;
124 }
#define DXDIAG_E_INSUFFICIENT_BUFFER
Definition: dxdiag.h:57
#define lstrlenW
Definition: compat.h:415
#define lstrcpynW
Definition: compat.h:405
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
Definition: list.h:198
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define debugstr_w
Definition: kernel32.h:32
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
unsigned long DWORD
Definition: ntddk_ex.h:95
uint32_t entry
Definition: isohybrid.c:63
#define S_OK
Definition: intsafe.h:59
static IDxDiagContainerImpl * impl_from_IDxDiagContainer(IDxDiagContainer *iface)
Definition: container.c:29
GLfloat GLfloat p
Definition: glext.h:8902

◆ IDxDiagContainerImpl_EnumPropNames()

static HRESULT WINAPI IDxDiagContainerImpl_EnumPropNames ( IDxDiagContainer *  iface,
DWORD  dwIndex,
LPWSTR  pwszPropName,
DWORD  cchPropName 
)
static

Definition at line 202 of file container.c.

204 {
207  DWORD i = 0;
208 
209  TRACE("(%p, %u, %p, %u)\n", iface, dwIndex, pwszPropName, cchPropName);
210 
211  if (NULL == pwszPropName || 0 == cchPropName) {
212  return E_INVALIDARG;
213  }
214 
216  {
217  if (dwIndex == i) {
218  TRACE("Found property name %s, copying string\n", debugstr_w(p->propName));
219  lstrcpynW(pwszPropName, p->propName, cchPropName);
220  return (cchPropName <= lstrlenW(p->propName)) ?
222  }
223  ++i;
224  }
225 
226  TRACE("Failed to find property name at specified index\n");
227  return E_INVALIDARG;
228 }
#define DXDIAG_E_INSUFFICIENT_BUFFER
Definition: dxdiag.h:57
#define lstrlenW
Definition: compat.h:415
#define lstrcpynW
Definition: compat.h:405
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
Definition: list.h:198
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define debugstr_w
Definition: kernel32.h:32
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
unsigned long DWORD
Definition: ntddk_ex.h:95
uint32_t entry
Definition: isohybrid.c:63
#define S_OK
Definition: intsafe.h:59
static IDxDiagContainerImpl * impl_from_IDxDiagContainer(IDxDiagContainer *iface)
Definition: container.c:29
GLfloat GLfloat p
Definition: glext.h:8902

◆ IDxDiagContainerImpl_GetChildContainer()

static HRESULT WINAPI IDxDiagContainerImpl_GetChildContainer ( IDxDiagContainer *  iface,
LPCWSTR  pwszContainer,
IDxDiagContainer **  ppInstance 
)
static

Definition at line 140 of file container.c.

142 {
144  IDxDiagContainerImpl_Container *pContainer = This->cont;
145  LPWSTR tmp, orig_tmp;
146  INT tmp_len;
147  WCHAR* cur;
149 
150  TRACE("(%p, %s, %p)\n", iface, debugstr_w(pwszContainer), ppInstance);
151 
152  if (NULL == ppInstance || NULL == pwszContainer) {
153  return E_INVALIDARG;
154  }
155 
156  *ppInstance = NULL;
157 
158  tmp_len = lstrlenW(pwszContainer) + 1;
159  orig_tmp = tmp = HeapAlloc(GetProcessHeap(), 0, tmp_len * sizeof(WCHAR));
160  if (NULL == tmp) return E_FAIL;
161  lstrcpynW(tmp, pwszContainer, tmp_len);
162 
163  cur = wcschr(tmp, '.');
164  while (NULL != cur) {
165  *cur = '\0'; /* cut tmp string to '.' */
166  if (!*(cur + 1)) break; /* Account for a lone terminating period, as in "cont1.cont2.". */
167  TRACE("Trying to get parent container %s\n", debugstr_w(tmp));
168  hr = IDxDiagContainerImpl_GetChildContainerInternal(pContainer, tmp, &pContainer);
169  if (FAILED(hr))
170  goto out;
171  cur++; /* go after '.' (just replaced by \0) */
172  tmp = cur;
173  cur = wcschr(tmp, '.');
174  }
175 
176  TRACE("Trying to get container %s\n", debugstr_w(tmp));
177  hr = IDxDiagContainerImpl_GetChildContainerInternal(pContainer, tmp, &pContainer);
178  if (SUCCEEDED(hr)) {
179  hr = DXDiag_CreateDXDiagContainer(&IID_IDxDiagContainer, pContainer, This->pProv, (void **)ppInstance);
180  if (SUCCEEDED(hr))
181  TRACE("Succeeded in getting the container instance\n");
182  }
183 
184 out:
185  HeapFree(GetProcessHeap(), 0, orig_tmp);
186  return hr;
187 }
HRESULT hr
Definition: shlfolder.c:183
#define lstrlenW
Definition: compat.h:415
#define E_FAIL
Definition: ddrawi.h:102
int32_t INT
Definition: typedefs.h:56
#define lstrcpynW
Definition: compat.h:405
static HRESULT IDxDiagContainerImpl_GetChildContainerInternal(IDxDiagContainerImpl_Container *cont, LPCWSTR pwszContainer, IDxDiagContainerImpl_Container **subcont)
Definition: container.c:126
#define debugstr_w
Definition: kernel32.h:32
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
_CONST_RETURN wchar_t *__cdecl wcschr(_In_z_ const wchar_t *_Str, wchar_t _Ch)
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
static FILE * out
Definition: regtests2xml.c:44
HRESULT DXDiag_CreateDXDiagContainer(REFIID riid, IDxDiagContainerImpl_Container *cont, IDxDiagProvider *pProv, LPVOID *ppobj)
Definition: container.c:267
static IDxDiagContainerImpl * impl_from_IDxDiagContainer(IDxDiagContainer *iface)
Definition: container.c:29
WCHAR * LPWSTR
Definition: xmlstorage.h:184
#define HeapFree(x, y, z)
Definition: compat.h:402
#define SUCCEEDED(hr)
Definition: intsafe.h:57

◆ IDxDiagContainerImpl_GetChildContainerInternal()

static HRESULT IDxDiagContainerImpl_GetChildContainerInternal ( IDxDiagContainerImpl_Container cont,
LPCWSTR  pwszContainer,
IDxDiagContainerImpl_Container **  subcont 
)
static

Definition at line 126 of file container.c.

126  {
128 
130  {
131  if (0 == lstrcmpW(p->contName, pwszContainer)) {
132  *subcont = p;
133  return S_OK;
134  }
135  }
136 
137  return E_INVALIDARG;
138 }
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:170
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
Definition: list.h:198
#define E_INVALIDARG
Definition: ddrawi.h:101
uint32_t entry
Definition: isohybrid.c:63
#define S_OK
Definition: intsafe.h:59
GLfloat GLfloat p
Definition: glext.h:8902

Referenced by IDxDiagContainerImpl_GetChildContainer().

◆ IDxDiagContainerImpl_GetNumberOfChildContainers()

static HRESULT WINAPI IDxDiagContainerImpl_GetNumberOfChildContainers ( IDxDiagContainer *  iface,
DWORD pdwCount 
)
static

Definition at line 84 of file container.c.

86 {
88 
89  TRACE("(%p)\n", iface);
90  if (NULL == pdwCount) {
91  return E_INVALIDARG;
92  }
93  *pdwCount = This->cont->nSubContainers;
94  return S_OK;
95 }
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define S_OK
Definition: intsafe.h:59
static IDxDiagContainerImpl * impl_from_IDxDiagContainer(IDxDiagContainer *iface)
Definition: container.c:29

◆ IDxDiagContainerImpl_GetNumberOfProps()

static HRESULT WINAPI IDxDiagContainerImpl_GetNumberOfProps ( IDxDiagContainer *  iface,
DWORD pdwCount 
)
static

Definition at line 189 of file container.c.

191 {
193 
194  TRACE("(%p)\n", iface);
195  if (NULL == pdwCount) {
196  return E_INVALIDARG;
197  }
198  *pdwCount = This->cont->nProperties;
199  return S_OK;
200 }
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
#define S_OK
Definition: intsafe.h:59
static IDxDiagContainerImpl * impl_from_IDxDiagContainer(IDxDiagContainer *iface)
Definition: container.c:29

◆ IDxDiagContainerImpl_GetProp()

static HRESULT WINAPI IDxDiagContainerImpl_GetProp ( IDxDiagContainer *  iface,
LPCWSTR  pwszPropName,
VARIANT pvarProp 
)
static

Definition at line 230 of file container.c.

232 {
235 
236  TRACE("(%p, %s, %p)\n", iface, debugstr_w(pwszPropName), pvarProp);
237 
238  if (NULL == pvarProp || NULL == pwszPropName) {
239  return E_INVALIDARG;
240  }
241 
243  {
244  if (0 == lstrcmpW(p->propName, pwszPropName)) {
245  VariantInit(pvarProp);
246  return VariantCopy(pvarProp, &p->vProp);
247  }
248  }
249 
250  return E_INVALIDARG;
251 }
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:170
void WINAPI VariantInit(VARIANTARG *pVarg)
Definition: variant.c:568
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
Definition: list.h:198
#define debugstr_w
Definition: kernel32.h:32
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
uint32_t entry
Definition: isohybrid.c:63
static IDxDiagContainerImpl * impl_from_IDxDiagContainer(IDxDiagContainer *iface)
Definition: container.c:29
GLfloat GLfloat p
Definition: glext.h:8902
HRESULT WINAPI VariantCopy(VARIANTARG *pvargDest, VARIANTARG *pvargSrc)
Definition: variant.c:748

◆ IDxDiagContainerImpl_QueryInterface()

static HRESULT WINAPI IDxDiagContainerImpl_QueryInterface ( IDxDiagContainer *  iface,
REFIID  riid,
void **  ppobj 
)
static

Definition at line 35 of file container.c.

37 {
39 
40  if (!ppobj) return E_INVALIDARG;
41 
43  || IsEqualGUID(riid, &IID_IDxDiagContainer)) {
44  IUnknown_AddRef(iface);
45  *ppobj = This;
46  return S_OK;
47  }
48 
49  WARN("(%p)->(%s,%p),not found\n",This,debugstr_guid(riid),ppobj);
50  *ppobj = NULL;
51  return E_NOINTERFACE;
52 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
#define WARN(fmt,...)
Definition: debug.h:111
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
const GUID IID_IUnknown
#define S_OK
Definition: intsafe.h:59
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112
static IDxDiagContainerImpl * impl_from_IDxDiagContainer(IDxDiagContainer *iface)
Definition: container.c:29

Referenced by DXDiag_CreateDXDiagContainer().

◆ IDxDiagContainerImpl_Release()

static ULONG WINAPI IDxDiagContainerImpl_Release ( IDxDiagContainer *  iface)
static

Definition at line 66 of file container.c.

67 {
69  ULONG refCount = InterlockedDecrement(&This->ref);
70 
71  TRACE("(%p)->(ref before=%u)\n", This, refCount + 1);
72 
73  if (!refCount) {
76  }
77 
79 
80  return refCount;
81 }
#define IDxDiagProvider_Release(p)
Definition: dxdiag.h:61
static void DXDIAGN_UnlockModule(void)
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:403
#define InterlockedDecrement
Definition: armddk.h:52
static IDxDiagContainerImpl * impl_from_IDxDiagContainer(IDxDiagContainer *iface)
Definition: container.c:29
unsigned int ULONG
Definition: retypes.h:1
#define HeapFree(x, y, z)
Definition: compat.h:402

◆ impl_from_IDxDiagContainer()

static IDxDiagContainerImpl* impl_from_IDxDiagContainer ( IDxDiagContainer *  iface)
inlinestatic

Definition at line 29 of file container.c.

30 {
31  return CONTAINING_RECORD(iface, IDxDiagContainerImpl, IDxDiagContainer_iface);
32 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by IDxDiagContainerImpl_AddRef(), IDxDiagContainerImpl_EnumChildContainerNames(), IDxDiagContainerImpl_EnumPropNames(), IDxDiagContainerImpl_GetChildContainer(), IDxDiagContainerImpl_GetNumberOfChildContainers(), IDxDiagContainerImpl_GetNumberOfProps(), IDxDiagContainerImpl_GetProp(), IDxDiagContainerImpl_QueryInterface(), and IDxDiagContainerImpl_Release().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( dxdiag  )

Variable Documentation

◆ DxDiagContainer_Vtbl

const IDxDiagContainerVtbl DxDiagContainer_Vtbl
static
Initial value:
=
{
}
static ULONG WINAPI IDxDiagContainerImpl_AddRef(IDxDiagContainer *iface)
Definition: container.c:54
static HRESULT WINAPI IDxDiagContainerImpl_GetChildContainer(IDxDiagContainer *iface, LPCWSTR pwszContainer, IDxDiagContainer **ppInstance)
Definition: container.c:140
static HRESULT WINAPI IDxDiagContainerImpl_EnumChildContainerNames(IDxDiagContainer *iface, DWORD dwIndex, LPWSTR pwszContainer, DWORD cchContainer)
Definition: container.c:97
static HRESULT WINAPI IDxDiagContainerImpl_QueryInterface(IDxDiagContainer *iface, REFIID riid, void **ppobj)
Definition: container.c:35
static HRESULT WINAPI IDxDiagContainerImpl_EnumPropNames(IDxDiagContainer *iface, DWORD dwIndex, LPWSTR pwszPropName, DWORD cchPropName)
Definition: container.c:202
static HRESULT WINAPI IDxDiagContainerImpl_GetNumberOfProps(IDxDiagContainer *iface, DWORD *pdwCount)
Definition: container.c:189
static HRESULT WINAPI IDxDiagContainerImpl_GetProp(IDxDiagContainer *iface, LPCWSTR pwszPropName, VARIANT *pvarProp)
Definition: container.c:230
static ULONG WINAPI IDxDiagContainerImpl_Release(IDxDiagContainer *iface)
Definition: container.c:66
static HRESULT WINAPI IDxDiagContainerImpl_GetNumberOfChildContainers(IDxDiagContainer *iface, DWORD *pdwCount)
Definition: container.c:84

Definition at line 253 of file container.c.

Referenced by DXDiag_CreateDXDiagContainer().