44 IUnknown_AddRef(iface);
59 TRACE(
"(%p)->(ref before=%u)\n",
This, refCount - 1);
71 TRACE(
"(%p)->(ref before=%u)\n",
This, refCount + 1);
89 TRACE(
"(%p)\n", iface);
90 if (
NULL == pdwCount) {
93 *pdwCount =
This->cont->nSubContainers;
104 TRACE(
"(%p, %u, %p, %u)\n", iface, dwIndex, pwszContainer, cchContainer);
106 if (
NULL == pwszContainer || 0 == cchContainer) {
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)) ?
121 TRACE(
"Failed to find container name at specified index\n");
122 *pwszContainer =
'\0';
131 if (0 ==
lstrcmpW(
p->contName, pwszContainer)) {
141 LPCWSTR pwszContainer, IDxDiagContainer **ppInstance)
152 if (
NULL == ppInstance ||
NULL == pwszContainer) {
158 tmp_len =
lstrlenW(pwszContainer) + 1;
166 if (!*(
cur + 1))
break;
181 TRACE(
"Succeeded in getting the container instance\n");
194 TRACE(
"(%p)\n", iface);
195 if (
NULL == pdwCount) {
198 *pdwCount =
This->cont->nProperties;
209 TRACE(
"(%p, %u, %p, %u)\n", iface, dwIndex, pwszPropName, cchPropName);
211 if (
NULL == pwszPropName || 0 == cchPropName) {
219 lstrcpynW(pwszPropName,
p->propName, cchPropName);
220 return (cchPropName <=
lstrlenW(
p->propName)) ?
226 TRACE(
"Failed to find property name at specified index\n");
238 if (
NULL == pvarProp ||
NULL == pwszPropName) {
244 if (0 ==
lstrcmpW(
p->propName, pwszPropName)) {
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static HRESULT WINAPI IDxDiagContainerImpl_QueryInterface(IDxDiagContainer *iface, REFIID riid, void **ppobj)
static HRESULT WINAPI IDxDiagContainerImpl_GetNumberOfProps(IDxDiagContainer *iface, DWORD *pdwCount)
static const IDxDiagContainerVtbl DxDiagContainer_Vtbl
static ULONG WINAPI IDxDiagContainerImpl_AddRef(IDxDiagContainer *iface)
static HRESULT WINAPI IDxDiagContainerImpl_GetChildContainer(IDxDiagContainer *iface, LPCWSTR pwszContainer, IDxDiagContainer **ppInstance)
static IDxDiagContainerImpl * impl_from_IDxDiagContainer(IDxDiagContainer *iface)
static HRESULT WINAPI IDxDiagContainerImpl_GetProp(IDxDiagContainer *iface, LPCWSTR pwszPropName, VARIANT *pvarProp)
static ULONG WINAPI IDxDiagContainerImpl_Release(IDxDiagContainer *iface)
HRESULT DXDiag_CreateDXDiagContainer(REFIID riid, IDxDiagContainerImpl_Container *cont, IDxDiagProvider *pProv, LPVOID *ppobj)
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_GetNumberOfChildContainers(IDxDiagContainer *iface, DWORD *pdwCount)
static HRESULT WINAPI IDxDiagContainerImpl_EnumPropNames(IDxDiagContainer *iface, DWORD dwIndex, LPWSTR pwszPropName, DWORD cchPropName)
#define HeapFree(x, y, z)
int WINAPI lstrcmpW(LPCWSTR str1, LPCWSTR str2)
static void DXDIAGN_UnlockModule(void)
static void DXDIAGN_LockModule(void)
#define IDxDiagProvider_Release(p)
#define IDxDiagProvider_AddRef(p)
#define DXDIAG_E_INSUFFICIENT_BUFFER
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
#define IsEqualGUID(rguid1, rguid2)
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
struct list subContainers
#define CONTAINING_RECORD(address, type, field)
void WINAPI VariantInit(VARIANTARG *pVarg)
HRESULT WINAPI VariantCopy(VARIANTARG *pvargDest, VARIANTARG *pvargSrc)