118 IWbemPathKeyList_AddRef( iface );
129 TRACE(
"%p, %p\n", iface, puKeyCount);
135 *puKeyCount =
parent->num_keys;
167 ULONG *puNameBufSize,
169 ULONG *puKeyValBufSize,
171 ULONG *puApparentCimType )
173 FIXME(
"%p, %u, 0x%x, %p, %p, %p, %p, %p\n", iface, uKeyIx,
uFlags, puNameBufSize,
174 pszKeyName, puKeyValBufSize, pKeyVal, puApparentCimType);
182 ULONG *puNameBufSize,
185 ULONG *puApparentCimType )
187 FIXME(
"%p, %u, 0x%x, %p, %p, %p, %p\n", iface, uKeyIx,
uFlags, puNameBufSize,
188 pszKeyName, pKeyValue, puApparentCimType);
238 FIXME(
"%p, %d\n", iface, bSet);
244 ULONG uRequestedInfo,
247 FIXME(
"%p, %u, %p\n", iface, uRequestedInfo, puResponse);
257 FIXME(
"%p, 0x%x, %p, %p\n", iface, lFlags, puBuffLength, pszText);
282 TRACE(
"%p\n", ppObj);
293 TRACE(
"returning iface %p\n", *ppObj);
369 IWbemPath_AddRef( iface );
379 while (*
q && *
q !=
'=')
393 while (*
q && *
q !=
',')
q++;
401 if (*
q ==
',') (*ret_len)++;
412 if ((
p[0] ==
'\\' &&
p[1] ==
'\\') || (
p[0] ==
'/' &&
p[1] ==
'/'))
416 while (*
q && *
q !=
'\\' && *
q !=
'/')
q++;
427 if (*
q !=
'\\' && *
q !=
'/' && *
q !=
':')
432 while (*
q && *
q !=
':')
445 if (*
q && *
q !=
'\\' && *
q !=
'/' && *
q !=
':')
448 while (*
p && *
p !=
'\\' && *
p !=
'/' && *
p !=
':')
p++;
457 while (*
q && *
q !=
':')
459 if (*
q ==
'\\' || *
q ==
'/')
462 while (*
p && *
p !=
'\\' && *
p !=
'/' && *
p !=
':')
p++;
475 while (*
q && *
q !=
'.')
q++;
498 if (
hr !=
S_OK)
goto done;
527 if (!pszPath[0])
goto done;
553 if (
i > 0 || leading_slash) *
len += 1;
559 if (
i > 0 || leading_slash) *
p++ =
'\\';
597 if (
i > 0) *
len += 1;
603 if (
i > 0) *
p++ =
',';
621 int len_namespace, len_keylist;
631 *
len = len_namespace;
646 ret[len_namespace] =
':';
685 int len_namespace, len_server, len_keylist;
697 *
len = len_namespace + len_server;
731 int len_namespace, len_server;
735 if (!
namespace || !
server)
741 *
len = len_namespace + len_server;
764 ERR(
"unhandled flags 0x%x\n",
flags);
772 ULONG *puBufferLength,
780 TRACE(
"%p, 0x%x, %p, %p\n", iface, lFlags, puBufferLength, pszText);
787 if (*puBufferLength <
len + 1)
789 *puBufferLength =
len + 1;
799 *puBufferLength =
len + 1;
816 TRACE(
"%p, %u, %p\n", iface,
info, response);
820 FIXME(
"some flags are not implemented\n");
914 TRACE(
"%p, %p\n", iface, puCount);
1043 TRACE(
"%p\n", iface);
1062 FIXME(
"%p, %p\n", iface, puCount);
1087 ULONG *puClassNameBufSize,
1091 FIXME(
"%p, %u, %p, %p, %p\n", iface, uIndex, puClassNameBufSize, pszClass, pKeyList);
1098 ULONG *puTextBufSize,
1101 FIXME(
"%p, %u, %p, %p\n", iface, uIndex, puTextBufSize, pszText);
1109 FIXME(
"%p, %u\n", iface, uIndex);
1116 FIXME(
"%p\n", iface);
1175 TRACE(
"%p, %p\n", iface, pOut);
1203 FIXME(
"%p, 0x%x\n", iface, lFlags);
1279 TRACE(
"%p\n", ppObj);
1291 TRACE(
"returning iface %p\n", *ppObj);
static BOOL WINAPI path_IsRelative(IWbemPath *iface, LPWSTR wszMachine, LPWSTR wszNamespace)
static HRESULT WINAPI path_GetNamespaceAt(IWbemPath *iface, ULONG idx, ULONG *len, LPWSTR name)
static HRESULT WINAPI path_RemoveNamespaceAt(IWbemPath *iface, ULONG idx)
static WCHAR * build_keylist(struct path *path, int *len)
static rfbScreenInfoPtr server
static HRESULT WINAPI keylist_GetKey(IWbemPathKeyList *iface, ULONG uKeyIx, ULONG uFlags, ULONG *puNameBufSize, LPWSTR pszKeyName, ULONG *puKeyValBufSize, LPVOID pKeyVal, ULONG *puApparentCimType)
static HRESULT WINAPI keylist_GetText(IWbemPathKeyList *iface, LONG lFlags, ULONG *puBuffLength, LPWSTR pszText)
static ULONG WINAPI keylist_Release(IWbemPathKeyList *iface)
static WCHAR * strdupW(const WCHAR *src)
static HRESULT WbemPathKeyList_create(IWbemPath *parent, LPVOID *ppObj)
GLuint GLuint GLsizei count
static HRESULT WINAPI keylist_QueryInterface(IWbemPathKeyList *iface, REFIID riid, void **ppvObject)
static HRESULT WINAPI path_GetText(IWbemPath *iface, LONG lFlags, ULONG *puBufferLength, LPWSTR pszText)
static BOOL WINAPI path_IsLocal(IWbemPath *iface, LPCWSTR wszMachine)
static HRESULT WINAPI path_SetScopeFromText(IWbemPath *iface, ULONG uIndex, LPWSTR pszText)
static HRESULT WINAPI path_GetServer(IWbemPath *iface, ULONG *len, LPWSTR name)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
static HRESULT parse_key(struct key *key, const WCHAR *str, unsigned int *ret_len)
static void * heap_realloc(void *mem, size_t len)
static void * heap_alloc(size_t len)
static HRESULT parse_text(struct path *path, ULONG mode, const WCHAR *text)
static HRESULT WINAPI path_GetKeyList(IWbemPath *iface, IWbemPathKeyList **pOut)
static HRESULT WINAPI path_SetClassName(IWbemPath *iface, LPCWSTR name)
static HRESULT WINAPI path_GetInfo(IWbemPath *iface, ULONG info, ULONGLONG *response)
static HRESULT WINAPI path_SetText(IWbemPath *iface, ULONG uMode, LPCWSTR pszPath)
static HRESULT WINAPI keylist_GetInfo(IWbemPathKeyList *iface, ULONG uRequestedInfo, ULONGLONG *puResponse)
static const struct IWbemPathKeyListVtbl keylist_vtbl
static void free_keys(struct key *keys, unsigned int count)
static HRESULT WINAPI keylist_RemoveAllKeys(IWbemPathKeyList *iface, ULONG uFlags)
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
static HRESULT WINAPI path_QueryInterface(IWbemPath *iface, REFIID riid, void **ppvObject)
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)
static struct path * impl_from_IWbemPath(IWbemPath *iface)
static HRESULT WINAPI path_GetScope(IWbemPath *iface, ULONG uIndex, ULONG *puClassNameBufSize, LPWSTR pszClass, IWbemPathKeyList **pKeyList)
static HRESULT WINAPI keylist_RemoveKey(IWbemPathKeyList *iface, LPCWSTR wszName, ULONG uFlags)
_CONST_RETURN wchar_t *__cdecl wcschr(_In_z_ const wchar_t *_Str, wchar_t _Ch)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
static WCHAR * build_path(struct path *path, LONG flags, int *len)
static ULONG WINAPI path_AddRef(IWbemPath *iface)
static HRESULT WINAPI path_SetServer(IWbemPath *iface, LPCWSTR name)
static HRESULT WINAPI path_RemoveScope(IWbemPath *iface, ULONG uIndex)
static struct keylist * impl_from_IWbemPathKeyList(IWbemPathKeyList *iface)
GLdouble GLdouble GLdouble GLdouble q
static WCHAR * build_namespace(struct path *path, int *len, BOOL leading_slash)
static HRESULT WINAPI path_GetScopeAsText(IWbemPath *iface, ULONG uIndex, ULONG *puTextBufSize, LPWSTR pszText)
static JOBOBJECTINFOCLASS LPVOID DWORD LPDWORD ret_len
static HRESULT WINAPI keylist_MakeSingleton(IWbemPathKeyList *iface, boolean bSet)
PCRITICAL_SECTION_DEBUG DebugInfo
static WCHAR * build_server(struct path *path, int *len)
#define InterlockedDecrement
#define memcpy(s1, s2, n)
static HRESULT WINAPI path_GetClassName(IWbemPath *iface, ULONG *len, LPWSTR name)
static HRESULT WINAPI path_RemoveAllScopes(IWbemPath *iface)
REFIID LPVOID * ppvObject
WINE_DEFAULT_DEBUG_CHANNEL(dbghelp)
static HRESULT WINAPI keylist_SetKey(IWbemPathKeyList *iface, LPCWSTR wszName, ULONG uFlags, ULONG uCimType, LPVOID pKeyVal)
static ULONG WINAPI keylist_AddRef(IWbemPathKeyList *iface)
static HRESULT WINAPI path_GetNamespaceCount(IWbemPath *iface, ULONG *puCount)
static HRESULT WINAPI path_DeleteClassPart(IWbemPath *iface, LONG lFlags)
#define InterlockedIncrement
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
static HRESULT WINAPI keylist_GetKey2(IWbemPathKeyList *iface, ULONG uKeyIx, ULONG uFlags, ULONG *puNameBufSize, LPWSTR pszKeyName, VARIANT *pKeyValue, ULONG *puApparentCimType)
static HRESULT WINAPI path_CreateClassPart(IWbemPath *iface, LONG lFlags, LPCWSTR Name)
static BOOL WINAPI path_IsSameClassName(IWbemPath *iface, LPCWSTR wszClass)
static HRESULT WINAPI path_SetScope(IWbemPath *iface, ULONG uIndex, LPWSTR pszClass)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
static void init_path(struct path *path)
static ULONG WINAPI path_Release(IWbemPath *iface)
static HRESULT WINAPI path_SetNamespaceAt(IWbemPath *iface, ULONG idx, LPCWSTR name)
IWbemPath IWbemPath_iface
static HRESULT WINAPI path_RemoveAllNamespaces(IWbemPath *iface)
static BOOL WINAPI path_IsRelativeOrChild(IWbemPath *iface, LPWSTR wszMachine, LPWSTR wszNamespace, LONG lFlags)
static void clear_path(struct path *path)
static HRESULT WINAPI keylist_SetKey2(IWbemPathKeyList *iface, LPCWSTR wszName, ULONG uFlags, ULONG uCimType, VARIANT *pKeyVal)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
static const struct IWbemPathVtbl path_vtbl
static HRESULT WINAPI keylist_GetCount(IWbemPathKeyList *iface, ULONG *puKeyCount)
HRESULT WbemPath_create(LPVOID *ppObj)
static HRESULT WINAPI path_GetScopeCount(IWbemPath *iface, ULONG *puCount)
DWORD_PTR Spare[8/sizeof(DWORD_PTR)]
IWbemPathKeyList IWbemPathKeyList_iface
static BOOL heap_free(void *mem)