ReactOS  0.4.14-dev-49-gfb4591c
path.c File Reference
#include <stdarg.h>
#include "windows.h"
#include "initguid.h"
#include "wmiutils.h"
#include "wbemcli.h"
#include "wine/test.h"
Include dependency graph for path.c:

Go to the source code of this file.

Macros

#define COBJMACROS
 

Functions

static IWbemPathcreate_path (void)
 
static void test_IWbemPath_SetText (void)
 
static void test_IWbemPath_GetText (void)
 
static void test_IWbemPath_GetClassName (void)
 
static void test_IWbemPath_SetClassName (void)
 
static void test_IWbemPath_GetServer (void)
 
static void test_IWbemPath_GetInfo (void)
 
static void test_IWbemPath_SetServer (void)
 
static void test_IWbemPath_GetNamespaceAt (void)
 
static void test_IWbemPath_RemoveAllNamespaces (void)
 
static void test_IWbemPath_RemoveNamespaceAt (void)
 
static void test_IWbemPath_SetNamespaceAt (void)
 
 START_TEST (path)
 

Variables

static const WCHAR path1 [] = {0}
 
static const WCHAR path2 [] = {'\\',0}
 
static const WCHAR path3 [] = {'\\','\\','s','e','r','v','e','r',0}
 
static const WCHAR path4 [] = {'\\','\\','s','e','r','v','e','r','\\',0}
 
static const WCHAR path5 [] = {'\\','\\','.','\\',0}
 
static const WCHAR path6 [] = {'/','/','.','/','r','o','o','t','/','c','i','m','v','2',0}
 
static const WCHAR path7 []
 
static const WCHAR path8 []
 
static const WCHAR path9 []
 
static const WCHAR path10 []
 
static const WCHAR path11 []
 
static const WCHAR path12 []
 
static const WCHAR path13 []
 
static const WCHAR path14 []
 
static const WCHAR path15 []
 
static const WCHAR path16 []
 
static const WCHAR path17 []
 
static const WCHAR path18 []
 
static const WCHAR path19 []
 
static const WCHAR path20 []
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 19 of file path.c.

Function Documentation

◆ create_path()

static IWbemPath* create_path ( void  )
static

Definition at line 76 of file path.c.

77 {
78  HRESULT hr;
79  IWbemPath *path;
80 
81  hr = CoCreateInstance( &CLSID_WbemDefPath, NULL, CLSCTX_INPROC_SERVER, &IID_IWbemPath, (void **)&path );
82  if (hr != S_OK)
83  {
84  win_skip( "can't create WbemDefPath instance, skipping tests\n" );
85  return NULL;
86  }
87  return path;
88 }
HRESULT hr
Definition: shlfolder.c:183
smooth NULL
Definition: ftsmooth.c:416
const char * path
Definition: path.c:46
LONG HRESULT
Definition: typedefs.h:77
HRESULT WINAPI DECLSPEC_HOTPATCH CoCreateInstance(REFCLSID rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, REFIID iid, LPVOID *ppv)
Definition: compobj.c:3234
#define S_OK
Definition: intsafe.h:59
Definition: services.c:325
#define win_skip
Definition: test.h:141

Referenced by test_IWbemPath_GetClassName(), test_IWbemPath_GetInfo(), test_IWbemPath_GetNamespaceAt(), test_IWbemPath_GetServer(), test_IWbemPath_GetText(), test_IWbemPath_RemoveAllNamespaces(), test_IWbemPath_RemoveNamespaceAt(), test_IWbemPath_SetClassName(), test_IWbemPath_SetNamespaceAt(), test_IWbemPath_SetServer(), and test_IWbemPath_SetText().

◆ START_TEST()

START_TEST ( path  )

Definition at line 865 of file path.c.

866 {
867  CoInitialize( NULL );
868 
880 
881  CoUninitialize();
882 }
static void test_IWbemPath_GetText(void)
Definition: path.c:162
static void test_IWbemPath_GetServer(void)
Definition: path.c:451
static void test_IWbemPath_GetNamespaceAt(void)
Definition: path.c:617
static void test_IWbemPath_GetClassName(void)
Definition: path.c:365
static void test_IWbemPath_SetNamespaceAt(void)
Definition: path.c:791
static void test_IWbemPath_SetClassName(void)
Definition: path.c:413
static void test_IWbemPath_GetInfo(void)
Definition: path.c:499
smooth NULL
Definition: ftsmooth.c:416
static void test_IWbemPath_RemoveAllNamespaces(void)
Definition: path.c:673
static void test_IWbemPath_SetText(void)
Definition: path.c:90
static void test_IWbemPath_RemoveNamespaceAt(void)
Definition: path.c:716
void WINAPI DECLSPEC_HOTPATCH CoUninitialize(void)
Definition: compobj.c:1991
static void test_IWbemPath_SetServer(void)
Definition: path.c:562
HRESULT WINAPI CoInitialize(LPVOID lpReserved)
Definition: compobj.c:1897

◆ test_IWbemPath_GetClassName()

static void test_IWbemPath_GetClassName ( void  )
static

Definition at line 365 of file path.c.

366 {
367  static const WCHAR classW[] = {'W','i','n','3','2','_','L','o','g','i','c','a','l','D','i','s','k',0};
368  IWbemPath *path;
369  HRESULT hr;
370  WCHAR buf[32];
371  ULONG len;
372 
373  if (!(path = create_path())) return;
374 
375  hr = IWbemPath_GetClassName( path, NULL, NULL );
376  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
377 
378  len = 0;
379  hr = IWbemPath_GetClassName( path, &len, NULL );
380  ok( hr == WBEM_E_INVALID_OBJECT_PATH, "got %08x\n", hr );
381 
382  len = sizeof(buf) / sizeof(buf[0]);
383  hr = IWbemPath_GetClassName( path, &len, buf );
384  ok( hr == WBEM_E_INVALID_OBJECT_PATH, "got %08x\n", hr );
385 
386  len = sizeof(buf) / sizeof(buf[0]);
387  hr = IWbemPath_GetClassName( path, &len, NULL );
388  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
389  ok( len == sizeof(buf) / sizeof(buf[0]), "unexpected length %u\n", len );
390 
391  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, path17 );
392  ok( hr == S_OK, "got %08x\n", hr );
393 
394  len = 0;
395  hr = IWbemPath_GetClassName( path, &len, NULL );
396  ok( hr == S_OK, "got %08x\n", hr );
397 
398  len = sizeof(buf) / sizeof(buf[0]);
399  hr = IWbemPath_GetClassName( path, &len, NULL );
400  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
401  ok( len == sizeof(buf) / sizeof(buf[0]), "unexpected length %u\n", len );
402 
403  buf[0] = 0;
404  len = sizeof(buf) / sizeof(buf[0]);
405  hr = IWbemPath_GetClassName( path, &len, buf );
406  ok( hr == S_OK, "got %08x\n", hr );
407  ok( !lstrcmpW( buf, classW ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
408  ok( len == lstrlenW( classW ) + 1, "unexpected length %u\n", len );
409 
410  IWbemPath_Release( path );
411 }
static const WCHAR classW[]
Definition: lex.c:38
static IWbemPath * create_path(void)
Definition: path.c:76
HRESULT hr
Definition: shlfolder.c:183
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
char * wine_dbgstr_w(const wchar_t *wstr)
Definition: atltest.h:87
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:170
#define lstrlenW
Definition: compat.h:407
smooth NULL
Definition: ftsmooth.c:416
const char * path
Definition: path.c:46
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
static const WCHAR path17[]
Definition: path.c:60
GLenum GLsizei len
Definition: glext.h:6722
#define S_OK
Definition: intsafe.h:59
#define ok(value,...)
Definition: atltest.h:57
Definition: services.c:325
unsigned int ULONG
Definition: retypes.h:1

Referenced by START_TEST().

◆ test_IWbemPath_GetInfo()

static void test_IWbemPath_GetInfo ( void  )
static

Definition at line 499 of file path.c.

500 {
501  IWbemPath *path;
502  HRESULT hr;
503  ULONGLONG resp;
504 
505  if (!(path = create_path())) return;
506 
507  hr = IWbemPath_GetInfo( path, 0, NULL );
508  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
509 
510  hr = IWbemPath_GetInfo( path, 1, NULL );
511  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
512 
513  resp = 0xdeadbeef;
514  hr = IWbemPath_GetInfo( path, 0, &resp );
515  ok( hr == S_OK, "got %08x\n", hr );
517  "got %s\n", wine_dbgstr_longlong(resp) );
518 
519  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, path17 );
520  ok( hr == S_OK, "got %08x\n", hr );
521 
522  hr = IWbemPath_GetInfo( path, 0, NULL );
523  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
524 
525  hr = IWbemPath_GetInfo( path, 1, NULL );
526  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
527 
528  resp = 0xdeadbeef;
529  hr = IWbemPath_GetInfo( path, 0, &resp );
530  ok( hr == S_OK, "got %08x\n", hr );
534  "got %s\n", wine_dbgstr_longlong(resp) );
535 
536  IWbemPath_Release( path );
537  if (!(path = create_path())) return;
538 
539  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, path12 );
540  ok( hr == S_OK, "got %08x\n", hr );
541 
542  resp = 0xdeadbeef;
543  hr = IWbemPath_GetInfo( path, 0, &resp );
544  ok( hr == S_OK, "got %08x\n", hr );
548  "got %s\n", wine_dbgstr_longlong(resp) );
549 
550  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, path1 );
551  ok( hr == S_OK, "got %08x\n", hr );
552 
553  resp = 0xdeadbeef;
554  hr = IWbemPath_GetInfo( path, 0, &resp );
555  ok( hr == S_OK, "got %08x\n", hr );
557  "got %s\n", wine_dbgstr_longlong(resp) );
558 
559  IWbemPath_Release( path );
560 }
static IWbemPath * create_path(void)
Definition: path.c:76
HRESULT hr
Definition: shlfolder.c:183
smooth NULL
Definition: ftsmooth.c:416
static const WCHAR path1[]
Definition: path.c:28
const char * path
Definition: path.c:46
LONG HRESULT
Definition: typedefs.h:77
uint64_t ULONGLONG
Definition: typedefs.h:65
static const WCHAR path17[]
Definition: path.c:60
#define S_OK
Definition: intsafe.h:59
static const WCHAR path12[]
Definition: path.c:49
#define ok(value,...)
Definition: atltest.h:57
Definition: services.c:325
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
Definition: compat.h:41

Referenced by START_TEST().

◆ test_IWbemPath_GetNamespaceAt()

static void test_IWbemPath_GetNamespaceAt ( void  )
static

Definition at line 617 of file path.c.

618 {
619  static const WCHAR rootW[] = {'r','o','o','t',0};
620  static const WCHAR cimv2W[] = {'c','i','m','v','2',0};
621  IWbemPath *path;
622  HRESULT hr;
623  WCHAR buf[32];
624  ULONG len;
625 
626  if (!(path = create_path())) return;
627 
628  hr = IWbemPath_GetNamespaceAt( path, 0, NULL, NULL );
629  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
630 
631  len = 0;
632  hr = IWbemPath_GetNamespaceAt( path, 0, &len, NULL );
633  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
634 
635  len = sizeof(buf) / sizeof(buf[0]);
636  hr = IWbemPath_GetNamespaceAt( path, 0, &len, buf );
637  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
638 
639  len = sizeof(buf) / sizeof(buf[0]);
640  hr = IWbemPath_GetNamespaceAt( path, 0, &len, NULL );
641  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
642  ok( len == sizeof(buf) / sizeof(buf[0]), "unexpected length %u\n", len );
643 
644  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, path17 );
645  ok( hr == S_OK, "got %08x\n", hr );
646 
647  len = 0;
648  hr = IWbemPath_GetNamespaceAt( path, 2, &len, NULL );
649  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
650 
651  len = sizeof(buf) / sizeof(buf[0]);
652  hr = IWbemPath_GetNamespaceAt( path, 0, &len, NULL );
653  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
654  ok( len == sizeof(buf) / sizeof(buf[0]), "unexpected length %u\n", len );
655 
656  buf[0] = 0;
657  len = sizeof(buf) / sizeof(buf[0]);
658  hr = IWbemPath_GetNamespaceAt( path, 0, &len, buf );
659  ok( hr == S_OK, "got %08x\n", hr );
660  ok( !lstrcmpW( buf, rootW ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
661  ok( len == lstrlenW( rootW ) + 1, "unexpected length %u\n", len );
662 
663  buf[0] = 0;
664  len = sizeof(buf) / sizeof(buf[0]);
665  hr = IWbemPath_GetNamespaceAt( path, 1, &len, buf );
666  ok( hr == S_OK, "got %08x\n", hr );
667  ok( !lstrcmpW( buf, cimv2W ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
668  ok( len == lstrlenW( cimv2W ) + 1, "unexpected length %u\n", len );
669 
670  IWbemPath_Release( path );
671 }
static IWbemPath * create_path(void)
Definition: path.c:76
HRESULT hr
Definition: shlfolder.c:183
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
char * wine_dbgstr_w(const wchar_t *wstr)
Definition: atltest.h:87
static const WCHAR rootW[]
Definition: chain.c:69
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:170
#define lstrlenW
Definition: compat.h:407
smooth NULL
Definition: ftsmooth.c:416
const char * path
Definition: path.c:46
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
static const WCHAR path17[]
Definition: path.c:60
GLenum GLsizei len
Definition: glext.h:6722
#define S_OK
Definition: intsafe.h:59
#define ok(value,...)
Definition: atltest.h:57
Definition: services.c:325
unsigned int ULONG
Definition: retypes.h:1

Referenced by START_TEST().

◆ test_IWbemPath_GetServer()

static void test_IWbemPath_GetServer ( void  )
static

Definition at line 451 of file path.c.

452 {
453  static const WCHAR dotW[] = {'.',0};
454  IWbemPath *path;
455  HRESULT hr;
456  WCHAR buf[32];
457  ULONG len;
458 
459  if (!(path = create_path())) return;
460 
461  hr = IWbemPath_GetServer( path, NULL, NULL );
462  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
463 
464  len = 0;
465  hr = IWbemPath_GetServer( path, &len, NULL );
466  ok( hr == WBEM_E_NOT_AVAILABLE, "got %08x\n", hr );
467 
468  len = sizeof(buf) / sizeof(buf[0]);
469  hr = IWbemPath_GetServer( path, &len, buf );
470  ok( hr == WBEM_E_NOT_AVAILABLE, "got %08x\n", hr );
471 
472  len = sizeof(buf) / sizeof(buf[0]);
473  hr = IWbemPath_GetServer( path, &len, NULL );
474  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
475  ok( len == sizeof(buf) / sizeof(buf[0]), "unexpected length %u\n", len );
476 
477  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, path17 );
478  ok( hr == S_OK, "got %08x\n", hr );
479 
480  len = 0;
481  hr = IWbemPath_GetServer( path, &len, NULL );
482  ok( hr == S_OK, "got %08x\n", hr );
483 
484  len = sizeof(buf) / sizeof(buf[0]);
485  hr = IWbemPath_GetServer( path, &len, NULL );
486  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
487  ok( len == sizeof(buf) / sizeof(buf[0]), "unexpected length %u\n", len );
488 
489  buf[0] = 0;
490  len = sizeof(buf) / sizeof(buf[0]);
491  hr = IWbemPath_GetServer( path, &len, buf );
492  ok( hr == S_OK, "got %08x\n", hr );
493  ok( !lstrcmpW( buf, dotW ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
494  ok( len == lstrlenW( dotW ) + 1, "unexpected length %u\n", len );
495 
496  IWbemPath_Release( path );
497 }
static IWbemPath * create_path(void)
Definition: path.c:76
HRESULT hr
Definition: shlfolder.c:183
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
char * wine_dbgstr_w(const wchar_t *wstr)
Definition: atltest.h:87
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:170
#define lstrlenW
Definition: compat.h:407
smooth NULL
Definition: ftsmooth.c:416
const char * path
Definition: path.c:46
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
static const WCHAR path17[]
Definition: path.c:60
GLenum GLsizei len
Definition: glext.h:6722
#define S_OK
Definition: intsafe.h:59
#define ok(value,...)
Definition: atltest.h:57
Definition: services.c:325
unsigned int ULONG
Definition: retypes.h:1
static const WCHAR dotW[]
Definition: directory.c:80

Referenced by START_TEST().

◆ test_IWbemPath_GetText()

static void test_IWbemPath_GetText ( void  )
static

Definition at line 162 of file path.c.

163 {
164  static const WCHAR serviceW[] =
165  {'W','i','n','3','2','_','S','e','r','v','i','c','e','.','N','a','m','e','=',
166  '\"','S','e','r','v','i','c','e','\"',0};
167  static const WCHAR classW[] =
168  {'W','i','n','3','2','_','C','l','a','s','s',0};
169  static const WCHAR expected1W[] =
170  {'r','o','o','t','\\','c','i','m','v','2',':','W','i','n','3','2','_',
171  'L','o','g','i','c','a','l','D','i','s','k','.','D','e','v','i','c','e','I','d','=',
172  '"','C',':','"',0};
173  static const WCHAR expected2W[] =
174  {'W','i','n','3','2','_','L','o','g','i','c','a','l','D','i','s','k','.',
175  'D','e','v','i','c','e','I','d','=','"','C',':','"',0};
176  static const WCHAR expected3W[] =
177  {'\\','\\','.','\\','r','o','o','t','\\','c','i','m','v','2',0};
178  WCHAR buf[128];
179  ULONG len, count;
180  IWbemPath *path;
181  HRESULT hr;
182 
183  if (!(path = create_path())) return;
184 
185  hr = IWbemPath_GetText( path, 0, NULL, NULL );
186  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
187 
188  len = sizeof(buf)/sizeof(buf[0]);
189  hr = IWbemPath_GetText( path, 0, &len, NULL );
190  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
191  ok( len == sizeof(buf)/sizeof(buf[0]), "unexpected length %u\n", len );
192 
193  len = sizeof(buf)/sizeof(buf[0]);
194  memset( buf, 0x55, sizeof(buf) );
195  hr = IWbemPath_GetText( path, 0, &len, buf );
196  ok( hr == S_OK, "got %08x\n", hr );
197  ok( !buf[0], "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
198  ok( len == 1, "unexpected length %u\n", len );
199 
200  hr = IWbemPath_GetText( path, WBEMPATH_GET_ORIGINAL, NULL, NULL );
201  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
202 
203  len = sizeof(buf)/sizeof(buf[0]);
204  hr = IWbemPath_GetText( path, WBEMPATH_GET_ORIGINAL, &len, NULL );
205  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
206  ok( len == sizeof(buf)/sizeof(buf[0]), "unexpected length %u\n", len );
207 
208  len = sizeof(buf)/sizeof(buf[0]);
209  memset( buf, 0x55, sizeof(buf) );
210  hr = IWbemPath_GetText( path, WBEMPATH_GET_ORIGINAL, &len, buf );
211  ok( hr == S_OK, "got %08x\n", hr );
212  ok( !buf[0], "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
213  ok( len == 1, "unexpected length %u\n", len );
214 
215  len = sizeof(buf)/sizeof(buf[0]);
216  memset( buf, 0x55, sizeof(buf) );
217  hr = IWbemPath_GetText( path, WBEMPATH_GET_SERVER_TOO, &len, buf );
218  ok( hr == S_OK, "got %08x\n", hr );
219  todo_wine ok( !buf[0], "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
220  todo_wine ok( len == 1, "unexpected length %u\n", len );
221 
222  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, path8 );
223  ok( hr == S_OK, "got %08x\n", hr );
224 
225  count = 0xdeadbeef;
226  hr = IWbemPath_GetNamespaceCount( path, &count );
227  ok( hr == S_OK, "got %08x\n", hr );
228  ok( count == 2, "got %u\n", count );
229 
230  len = sizeof(buf)/sizeof(buf[0]);
231  memset( buf, 0x55, sizeof(buf) );
232  hr = IWbemPath_GetText( path, WBEMPATH_GET_SERVER_TOO, &len, buf );
233  ok( hr == S_OK, "got %08x\n", hr );
234  ok( !lstrcmpW( buf, path9 ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
235  ok( len == lstrlenW( path9 ) + 1, "unexpected length %u\n", len );
236 
237  len = sizeof(buf)/sizeof(buf[0]);
238  memset( buf, 0x55, sizeof(buf) );
239  hr = IWbemPath_GetText( path, WBEMPATH_GET_SERVER_AND_NAMESPACE_ONLY, &len, buf );
240  ok( hr == S_OK, "got %08x\n", hr );
241  ok( !lstrcmpW( buf, path13 ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
242  ok( len == lstrlenW( path13 ) + 1, "unexpected length %u\n", len );
243 
244  len = sizeof(buf)/sizeof(buf[0]);
245  memset( buf, 0x55, sizeof(buf) );
246  hr = IWbemPath_GetText( path, WBEMPATH_GET_RELATIVE_ONLY, &len, buf );
247  ok( hr == S_OK, "got %08x\n", hr );
248  ok( !lstrcmpW( buf, path14 ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
249  ok( len == lstrlenW( path14 ) + 1, "unexpected length %u\n", len );
250 
251  len = sizeof(buf)/sizeof(buf[0]);
252  memset( buf, 0x55, sizeof(buf) );
253  hr = IWbemPath_GetText( path, WBEMPATH_GET_NAMESPACE_ONLY, &len, buf );
254  ok( hr == S_OK, "got %08x\n", hr );
255  ok( !lstrcmpW( buf, path15 ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
256  ok( len == lstrlenW( path15 ) + 1, "unexpected length %u\n", len );
257 
258  len = sizeof(buf)/sizeof(buf[0]);
259  memset( buf, 0x55, sizeof(buf) );
260  hr = IWbemPath_GetText( path, 0, &len, buf );
261  ok( hr == S_OK, "got %08x\n", hr );
262  ok( !lstrcmpW( buf, path12 ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
263  ok( len == lstrlenW( path12 ) + 1, "unexpected length %u\n", len );
264 
265  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, path1 );
266  ok( hr == S_OK, "got %08x\n", hr );
267 
268  count = 0xdeadbeef;
269  hr = IWbemPath_GetNamespaceCount( path, &count );
270  ok( hr == S_OK, "got %08x\n", hr );
271  ok( !count, "got %u\n", count );
272 
273  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, path6 );
274  ok( hr == S_OK, "got %08x\n", hr );
275 
276  count = 0xdeadbeef;
277  hr = IWbemPath_GetNamespaceCount( path, &count );
278  ok( hr == S_OK, "got %08x\n", hr );
279  ok( count == 2, "got %u\n", count );
280 
281  len = 0;
282  hr = IWbemPath_GetText( path, WBEMPATH_GET_SERVER_TOO, &len, NULL );
283  ok( hr == S_OK, "got %08x\n", hr );
284  ok( len == lstrlenW( path16 ) + 1, "unexpected length %u\n", len );
285 
286  len = sizeof(buf)/sizeof(buf[0]);
287  memset( buf, 0x55, sizeof(buf) );
288  hr = IWbemPath_GetText( path, WBEMPATH_GET_SERVER_TOO, &len, buf );
289  ok( hr == S_OK, "got %08x\n", hr );
290  ok( !lstrcmpW( buf, path16 ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
291  ok( len == lstrlenW( path16 ) + 1, "unexpected length %u\n", len );
292 
293  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, path17 );
294  ok( hr == S_OK, "got %08x\n", hr );
295 
296  len = sizeof(buf)/sizeof(buf[0]);
297  memset( buf, 0x55, sizeof(buf) );
298  hr = IWbemPath_GetText( path, WBEMPATH_GET_SERVER_TOO, &len, buf );
299  ok( hr == S_OK, "got %08x\n", hr );
300  ok( !lstrcmpW( buf, path17 ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
301  ok( len == lstrlenW( path17 ) + 1, "unexpected length %u\n", len );
302 
303  len = sizeof(buf)/sizeof(buf[0]);
304  memset( buf, 0x55, sizeof(buf) );
305  hr = IWbemPath_GetText( path, 0, &len, buf );
306  ok( hr == S_OK, "got %08x\n", hr );
307  ok( !lstrcmpW( buf, expected1W ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
308  ok( len == lstrlenW( expected1W ) + 1, "unexpected length %u\n", len );
309 
310  len = sizeof(buf)/sizeof(buf[0]);
311  memset( buf, 0x55, sizeof(buf) );
312  hr = IWbemPath_GetText( path, WBEMPATH_GET_RELATIVE_ONLY, &len, buf );
313  ok( hr == S_OK, "got %08x\n", hr );
314  ok( !lstrcmpW( buf, expected2W ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
315  ok( len == lstrlenW( expected2W ) + 1, "unexpected length %u\n", len );
316 
317  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, path15 );
318  ok( hr == S_OK, "got %08x\n", hr );
319 
320  len = sizeof(buf)/sizeof(buf[0]);
321  memset( buf, 0x55, sizeof(buf) );
322  hr = IWbemPath_GetText( path, WBEMPATH_GET_SERVER_TOO, &len, buf );
323  ok( hr == S_OK, "got %08x\n", hr );
324  ok( !lstrcmpW( buf, expected3W ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
325  ok( len == lstrlenW( expected3W ) + 1, "unexpected length %u\n", len );
326 
327  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, path18 );
328  ok( hr == S_OK, "got %08x\n", hr );
329 
330  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, path19 );
331  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
332 
333  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, path20 );
334  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
335 
336  IWbemPath_Release( path );
337  if (!(path = create_path())) return;
338 
339  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, serviceW );
340  ok( hr == S_OK, "got %08x\n", hr );
341 
342  len = sizeof(buf)/sizeof(buf[0]);
343  memset( buf, 0x55, sizeof(buf) );
344  hr = IWbemPath_GetText( path, WBEMPATH_GET_RELATIVE_ONLY, &len, buf );
345  ok( hr == S_OK, "got %08x\n", hr );
346  ok( !lstrcmpW( buf, serviceW ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
347  ok( len == lstrlenW( serviceW ) + 1, "unexpected length %u\n", len );
348 
349  IWbemPath_Release( path );
350  if (!(path = create_path())) return;
351 
352  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, classW );
353  ok( hr == S_OK, "got %08x\n", hr );
354 
355  len = sizeof(buf)/sizeof(buf[0]);
356  memset( buf, 0x55, sizeof(buf) );
357  hr = IWbemPath_GetText( path, WBEMPATH_GET_RELATIVE_ONLY, &len, buf );
358  ok( hr == S_OK, "got %08x\n", hr );
359  ok( !lstrcmpW( buf, classW ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
360  ok( len == lstrlenW( classW ) + 1, "unexpected length %u\n", len );
361 
362  IWbemPath_Release( path );
363 }
static const WCHAR classW[]
Definition: lex.c:38
static const WCHAR path20[]
Definition: path.c:71
static IWbemPath * create_path(void)
Definition: path.c:76
HRESULT hr
Definition: shlfolder.c:183
static const WCHAR path14[]
Definition: path.c:54
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
char * wine_dbgstr_w(const wchar_t *wstr)
Definition: atltest.h:87
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:170
GLuint GLuint GLsizei count
Definition: gl.h:1545
#define lstrlenW
Definition: compat.h:407
static const WCHAR path19[]
Definition: path.c:68
static const WCHAR path18[]
Definition: path.c:64
static const WCHAR path13[]
Definition: path.c:52
smooth NULL
Definition: ftsmooth.c:416
static const WCHAR path1[]
Definition: path.c:28
const char * path
Definition: path.c:46
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
static const WCHAR path17[]
Definition: path.c:60
#define todo_wine
Definition: test.h:154
static const WCHAR path8[]
Definition: path.c:37
GLenum GLsizei len
Definition: glext.h:6722
static const WCHAR path16[]
Definition: path.c:58
#define S_OK
Definition: intsafe.h:59
static const WCHAR path15[]
Definition: path.c:56
static const WCHAR path12[]
Definition: path.c:49
#define ok(value,...)
Definition: atltest.h:57
Definition: services.c:325
static const WCHAR path6[]
Definition: path.c:33
unsigned int ULONG
Definition: retypes.h:1
#define memset(x, y, z)
Definition: compat.h:39
static const WCHAR path9[]
Definition: path.c:40

Referenced by START_TEST().

◆ test_IWbemPath_RemoveAllNamespaces()

static void test_IWbemPath_RemoveAllNamespaces ( void  )
static

Definition at line 673 of file path.c.

674 {
675  static const ULONGLONG expected_flags =
679  IWbemPath *path;
680  WCHAR buf[16];
681  ULONG len;
683  HRESULT hr;
684 
685  if (!(path = create_path())) return;
686 
687  hr = IWbemPath_RemoveAllNamespaces( path );
688  ok( hr == S_OK, "got %08x\n", hr );
689 
690  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, path17 );
691  ok( hr == S_OK, "got %08x\n", hr );
692 
693  flags = 0;
694  hr = IWbemPath_GetInfo( path, 0, &flags );
695  ok( hr == S_OK, "got %08x\n", hr );
696  ok( flags == expected_flags,
697  "got %s\n", wine_dbgstr_longlong(flags) );
698 
699  hr = IWbemPath_RemoveAllNamespaces( path );
700  ok( hr == S_OK, "got %08x\n", hr );
701 
702  flags = 0;
703  hr = IWbemPath_GetInfo( path, 0, &flags );
704  ok( hr == S_OK, "got %08x\n", hr );
705  ok( flags == expected_flags,
706  "got %s\n", wine_dbgstr_longlong(flags) );
707 
708  buf[0] = 0;
709  len = sizeof(buf) / sizeof(buf[0]);
710  hr = IWbemPath_GetNamespaceAt( path, 0, &len, buf );
711  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
712 
713  IWbemPath_Release( path );
714 }
static IWbemPath * create_path(void)
Definition: path.c:76
HRESULT hr
Definition: shlfolder.c:183
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
const char * path
Definition: path.c:46
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
uint64_t ULONGLONG
Definition: typedefs.h:65
GLbitfield flags
Definition: glext.h:7161
static const WCHAR path17[]
Definition: path.c:60
GLenum GLsizei len
Definition: glext.h:6722
#define S_OK
Definition: intsafe.h:59
#define ok(value,...)
Definition: atltest.h:57
Definition: services.c:325
unsigned int ULONG
Definition: retypes.h:1
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
Definition: compat.h:41

Referenced by START_TEST().

◆ test_IWbemPath_RemoveNamespaceAt()

static void test_IWbemPath_RemoveNamespaceAt ( void  )
static

Definition at line 716 of file path.c.

717 {
718  static const ULONGLONG expected_flags =
722  static const WCHAR cimv2W[] = {'c','i','m','v','2',0};
723  IWbemPath *path;
724  WCHAR buf[16];
725  ULONG len, count;
727  HRESULT hr;
728 
729  if (!(path = create_path())) return;
730 
731  hr = IWbemPath_RemoveNamespaceAt( path, 0 );
732  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
733 
734  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, path17 );
735  ok( hr == S_OK, "got %08x\n", hr );
736 
737  flags = 0;
738  hr = IWbemPath_GetInfo( path, 0, &flags );
739  ok( hr == S_OK, "got %08x\n", hr );
740  ok( flags == expected_flags,
741  "got %s\n", wine_dbgstr_longlong(flags) );
742 
743  count = 0xdeadbeef;
744  hr = IWbemPath_GetNamespaceCount( path, &count );
745  ok( hr == S_OK, "got %08x\n", hr );
746  ok( count == 2, "got %u\n", count );
747 
748  hr = IWbemPath_RemoveNamespaceAt( path, 0 );
749  ok( hr == S_OK, "got %08x\n", hr );
750 
751  flags = 0;
752  hr = IWbemPath_GetInfo( path, 0, &flags );
753  ok( hr == S_OK, "got %08x\n", hr );
754  ok( flags == expected_flags,
755  "got %s\n", wine_dbgstr_longlong(flags) );
756 
757  count = 0xdeadbeef;
758  hr = IWbemPath_GetNamespaceCount( path, &count );
759  ok( hr == S_OK, "got %08x\n", hr );
760  ok( count == 1, "got %u\n", count );
761 
762  buf[0] = 0;
763  len = sizeof(buf) / sizeof(buf[0]);
764  hr = IWbemPath_GetNamespaceAt( path, 0, &len, buf );
765  ok( hr == S_OK, "got %08x\n", hr );
766  ok( !lstrcmpW( buf, cimv2W ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
767  ok( len == lstrlenW( cimv2W ) + 1, "unexpected length %u\n", len );
768 
769  hr = IWbemPath_RemoveNamespaceAt( path, 0 );
770  ok( hr == S_OK, "got %08x\n", hr );
771 
772  flags = 0;
773  hr = IWbemPath_GetInfo( path, 0, &flags );
774  ok( hr == S_OK, "got %08x\n", hr );
775  ok( flags == expected_flags,
776  "got %s\n", wine_dbgstr_longlong(flags) );
777 
778  count = 0xdeadbeef;
779  hr = IWbemPath_GetNamespaceCount( path, &count );
780  ok( hr == S_OK, "got %08x\n", hr );
781  ok( !count, "got %u\n", count );
782 
783  buf[0] = 0;
784  len = sizeof(buf) / sizeof(buf[0]);
785  hr = IWbemPath_GetNamespaceAt( path, 0, &len, buf );
786  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
787 
788  IWbemPath_Release( path );
789 }
static IWbemPath * create_path(void)
Definition: path.c:76
HRESULT hr
Definition: shlfolder.c:183
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
char * wine_dbgstr_w(const wchar_t *wstr)
Definition: atltest.h:87
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:170
GLuint GLuint GLsizei count
Definition: gl.h:1545
#define lstrlenW
Definition: compat.h:407
const char * path
Definition: path.c:46
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
uint64_t ULONGLONG
Definition: typedefs.h:65
GLbitfield flags
Definition: glext.h:7161
static const WCHAR path17[]
Definition: path.c:60
GLenum GLsizei len
Definition: glext.h:6722
#define S_OK
Definition: intsafe.h:59
#define ok(value,...)
Definition: atltest.h:57
Definition: services.c:325
unsigned int ULONG
Definition: retypes.h:1
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
Definition: compat.h:41

Referenced by START_TEST().

◆ test_IWbemPath_SetClassName()

static void test_IWbemPath_SetClassName ( void  )
static

Definition at line 413 of file path.c.

414 {
415  static const WCHAR classW[] = {'c','l','a','s','s',0};
416  static const WCHAR emptyW[] = {0};
417  IWbemPath *path;
418  WCHAR buf[16];
419  ULONG len;
421  HRESULT hr;
422 
423  if (!(path = create_path())) return;
424 
425  hr = IWbemPath_SetClassName( path, NULL );
426  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
427 
428  hr = IWbemPath_SetClassName( path, emptyW );
429  ok( hr == S_OK, "got %08x\n", hr );
430 
431  hr = IWbemPath_SetClassName( path, classW );
432  ok( hr == S_OK, "got %08x\n", hr );
433 
434  buf[0] = 0;
435  len = sizeof(buf) / sizeof(buf[0]);
436  hr = IWbemPath_GetClassName( path, &len, buf );
437  ok( hr == S_OK, "got %08x\n", hr );
438  ok( !lstrcmpW( buf, classW ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
439 
440  flags = 0;
441  hr = IWbemPath_GetInfo( path, 0, &flags );
442  ok( hr == S_OK, "got %08x\n", hr );
446  "got %s\n", wine_dbgstr_longlong(flags) );
447 
448  IWbemPath_Release( path );
449 }
static const WCHAR classW[]
Definition: lex.c:38
static IWbemPath * create_path(void)
Definition: path.c:76
HRESULT hr
Definition: shlfolder.c:183
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
char * wine_dbgstr_w(const wchar_t *wstr)
Definition: atltest.h:87
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:170
smooth NULL
Definition: ftsmooth.c:416
const char * path
Definition: path.c:46
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
uint64_t ULONGLONG
Definition: typedefs.h:65
GLbitfield flags
Definition: glext.h:7161
GLenum GLsizei len
Definition: glext.h:6722
#define S_OK
Definition: intsafe.h:59
static const WCHAR emptyW[]
Definition: navigate.c:36
#define ok(value,...)
Definition: atltest.h:57
Definition: services.c:325
unsigned int ULONG
Definition: retypes.h:1
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
Definition: compat.h:41

Referenced by START_TEST().

◆ test_IWbemPath_SetNamespaceAt()

static void test_IWbemPath_SetNamespaceAt ( void  )
static

Definition at line 791 of file path.c.

792 {
793  static const ULONGLONG expected_flags =
797  static const WCHAR rootW[] = {'r','o','o','t',0};
798  static const WCHAR cimv2W[] = {'c','i','m','v','2',0};
799  IWbemPath *path;
800  WCHAR buf[16];
801  ULONG len, count;
803  HRESULT hr;
804 
805  if (!(path = create_path())) return;
806 
807  hr = IWbemPath_SetNamespaceAt( path, 0, NULL );
808  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
809 
810  hr = IWbemPath_SetNamespaceAt( path, 1, cimv2W );
811  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
812 
813  hr = IWbemPath_SetNamespaceAt( path, 0, cimv2W );
814  ok( hr == S_OK, "got %08x\n", hr );
815 
816  count = 0xdeadbeef;
817  hr = IWbemPath_GetNamespaceCount( path, &count );
818  ok( hr == S_OK, "got %08x\n", hr );
819  ok( count == 1, "got %u\n", count );
820 
821  flags = 0;
822  hr = IWbemPath_GetInfo( path, 0, &flags );
823  ok( hr == S_OK, "got %08x\n", hr );
824  ok( flags == expected_flags,
825  "got %s\n", wine_dbgstr_longlong(flags) );
826 
827  buf[0] = 0;
828  len = sizeof(buf) / sizeof(buf[0]);
829  hr = IWbemPath_GetNamespaceAt( path, 0, &len, buf );
830  ok( hr == S_OK, "got %08x\n", hr );
831  ok( !lstrcmpW( buf, cimv2W ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
832  ok( len == lstrlenW( cimv2W ) + 1, "unexpected length %u\n", len );
833 
834  hr = IWbemPath_SetNamespaceAt( path, 0, rootW );
835  ok( hr == S_OK, "got %08x\n", hr );
836 
837  flags = 0;
838  hr = IWbemPath_GetInfo( path, 0, &flags );
839  ok( hr == S_OK, "got %08x\n", hr );
840  ok( flags == expected_flags,
841  "got %s\n", wine_dbgstr_longlong(flags) );
842 
843  count = 0xdeadbeef;
844  hr = IWbemPath_GetNamespaceCount( path, &count );
845  ok( hr == S_OK, "got %08x\n", hr );
846  ok( count == 2, "got %u\n", count );
847 
848  buf[0] = 0;
849  len = sizeof(buf) / sizeof(buf[0]);
850  hr = IWbemPath_GetNamespaceAt( path, 0, &len, buf );
851  ok( hr == S_OK, "got %08x\n", hr );
852  ok( !lstrcmpW( buf, rootW ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
853  ok( len == lstrlenW( rootW ) + 1, "unexpected length %u\n", len );
854 
855  buf[0] = 0;
856  len = sizeof(buf) / sizeof(buf[0]);
857  hr = IWbemPath_GetNamespaceAt( path, 1, &len, buf );
858  ok( hr == S_OK, "got %08x\n", hr );
859  ok( !lstrcmpW( buf, cimv2W ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
860  ok( len == lstrlenW( cimv2W ) + 1, "unexpected length %u\n", len );
861 
862  IWbemPath_Release( path );
863 }
static IWbemPath * create_path(void)
Definition: path.c:76
HRESULT hr
Definition: shlfolder.c:183
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
char * wine_dbgstr_w(const wchar_t *wstr)
Definition: atltest.h:87
static const WCHAR rootW[]
Definition: chain.c:69
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:170
GLuint GLuint GLsizei count
Definition: gl.h:1545
#define lstrlenW
Definition: compat.h:407
smooth NULL
Definition: ftsmooth.c:416
const char * path
Definition: path.c:46
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
uint64_t ULONGLONG
Definition: typedefs.h:65
GLbitfield flags
Definition: glext.h:7161
GLenum GLsizei len
Definition: glext.h:6722
#define S_OK
Definition: intsafe.h:59
#define ok(value,...)
Definition: atltest.h:57
Definition: services.c:325
unsigned int ULONG
Definition: retypes.h:1
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
Definition: compat.h:41

Referenced by START_TEST().

◆ test_IWbemPath_SetServer()

static void test_IWbemPath_SetServer ( void  )
static

Definition at line 562 of file path.c.

563 {
564  static const WCHAR serverW[] = {'s','e','r','v','e','r',0};
565  static const WCHAR emptyW[] = {0};
566  IWbemPath *path;
567  WCHAR buf[16];
568  ULONG len;
570  HRESULT hr;
571 
572  if (!(path = create_path())) return;
573 
574  hr = IWbemPath_SetServer( path, NULL );
575  ok( hr == S_OK, "got %08x\n", hr );
576 
577  len = sizeof(buf) / sizeof(buf[0]);
578  hr = IWbemPath_GetServer( path, &len, buf );
579  ok( hr == WBEM_E_NOT_AVAILABLE, "got %08x\n", hr );
580 
581  hr = IWbemPath_SetServer( path, emptyW );
582  ok( hr == S_OK, "got %08x\n", hr );
583 
584  hr = IWbemPath_SetServer( path, serverW );
585  ok( hr == S_OK, "got %08x\n", hr );
586 
587  buf[0] = 0;
588  len = sizeof(buf) / sizeof(buf[0]);
589  hr = IWbemPath_GetServer( path, &len, buf );
590  ok( hr == S_OK, "got %08x\n", hr );
591  ok( !lstrcmpW( buf, serverW ), "unexpected buffer contents %s\n", wine_dbgstr_w(buf) );
592 
593  flags = 0;
594  hr = IWbemPath_GetInfo( path, 0, &flags );
595  ok( hr == S_OK, "got %08x\n", hr );
599  "got %s\n", wine_dbgstr_longlong(flags) );
600 
601  hr = IWbemPath_SetServer( path, NULL );
602  ok( hr == S_OK, "got %08x\n", hr );
603 
604  len = sizeof(buf) / sizeof(buf[0]);
605  hr = IWbemPath_GetServer( path, &len, buf );
606  ok( hr == WBEM_E_NOT_AVAILABLE, "got %08x\n", hr );
607 
608  flags = 0;
609  hr = IWbemPath_GetInfo( path, 0, &flags );
610  ok( hr == S_OK, "got %08x\n", hr );
612  "got %s\n", wine_dbgstr_longlong(flags) );
613 
614  IWbemPath_Release( path );
615 }
static IWbemPath * create_path(void)
Definition: path.c:76
HRESULT hr
Definition: shlfolder.c:183
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
char * wine_dbgstr_w(const wchar_t *wstr)
Definition: atltest.h:87
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:170
smooth NULL
Definition: ftsmooth.c:416
const char * path
Definition: path.c:46
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
uint64_t ULONGLONG
Definition: typedefs.h:65
GLbitfield flags
Definition: glext.h:7161
GLenum GLsizei len
Definition: glext.h:6722
#define S_OK
Definition: intsafe.h:59
static const WCHAR emptyW[]
Definition: navigate.c:36
#define ok(value,...)
Definition: atltest.h:57
Definition: services.c:325
unsigned int ULONG
Definition: retypes.h:1
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
Definition: compat.h:41

Referenced by START_TEST().

◆ test_IWbemPath_SetText()

static void test_IWbemPath_SetText ( void  )
static

Definition at line 90 of file path.c.

91 {
92  static const struct
93  {
94  const WCHAR *path;
95  ULONG mode;
96  HRESULT ret;
97  BOOL todo;
98  } test[] =
99  {
127  };
128  IWbemPath *path;
129  HRESULT hr;
130  UINT i;
131 
132  if (!(path = create_path())) return;
133 
134  hr = IWbemPath_SetText( path, 0, NULL );
135  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
136 
137  hr = IWbemPath_SetText( path, WBEMPATH_CREATE_ACCEPT_ALL, NULL );
138  ok( hr == WBEM_E_INVALID_PARAMETER, "got %08x\n", hr );
139 
140  for (i = 0; i < sizeof(test)/sizeof(test[0]); i++)
141  {
142  hr = IWbemPath_SetText( path, test[i].mode, test[i].path );
144  ok( hr == test[i].ret, "%u got %08x\n", i, hr );
145 
146  if (test[i].ret == S_OK)
147  {
148  WCHAR buf[128];
149  ULONG len;
150 
151  memset( buf, 0x55, sizeof(buf) );
152  len = sizeof(buf)/sizeof(buf[0]);
153  hr = IWbemPath_GetText( path, WBEMPATH_GET_ORIGINAL, &len, buf );
154  ok( hr == S_OK, "%u got %08x\n", i, hr );
155  ok( !lstrcmpW( buf, test[i].path ), "%u unexpected path %s\n", i, wine_dbgstr_w(buf) );
156  ok( len == lstrlenW( test[i].path ) + 1, "%u unexpected length %u\n", i, len );
157  }
158  }
159  IWbemPath_Release( path );
160 }
static const WCHAR path3[]
Definition: path.c:30
static const WCHAR path2[]
Definition: path.c:29
static const WCHAR path4[]
Definition: path.c:31
static IWbemPath * create_path(void)
Definition: path.c:76
#define TRUE
Definition: types.h:120
HRESULT hr
Definition: shlfolder.c:183
GLenum GLuint GLenum GLsizei const GLchar * buf
Definition: glext.h:7751
DWORD todo
Definition: path.c:47
char * wine_dbgstr_w(const wchar_t *wstr)
Definition: atltest.h:87
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:170
#define test
Definition: rosglue.h:37
#define lstrlenW
Definition: compat.h:407
DWORD ret
Definition: path.c:47
static const WCHAR path11[]
Definition: path.c:46
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
static const WCHAR path10[]
Definition: path.c:43
static const WCHAR path5[]
Definition: path.c:32
unsigned int BOOL
Definition: ntddk_ex.h:94
smooth NULL
Definition: ftsmooth.c:416
static const WCHAR path1[]
Definition: path.c:28
const char * path
Definition: path.c:46
#define todo_wine_if(is_todo)
Definition: test.h:155
__wchar_t WCHAR
Definition: xmlstorage.h:180
LONG HRESULT
Definition: typedefs.h:77
static const WCHAR path8[]
Definition: path.c:37
GLenum GLsizei len
Definition: glext.h:6722
GLenum mode
Definition: glext.h:6217
#define S_OK
Definition: intsafe.h:59
static const WCHAR path15[]
Definition: path.c:56
#define ok(value,...)
Definition: atltest.h:57
Definition: services.c:325
unsigned int UINT
Definition: ndis.h:50
static const WCHAR path6[]
Definition: path.c:33
unsigned int ULONG
Definition: retypes.h:1
static const WCHAR path7[]
Definition: path.c:34
#define memset(x, y, z)
Definition: compat.h:39
static const WCHAR path9[]
Definition: path.c:40

Referenced by START_TEST().

Variable Documentation

◆ path1

◆ path10

const WCHAR path10[]
static
Initial value:
=
{'/','\\','.','\\','r','o','o','t','\\','c','i','m','v','2',':','W','i','n','3','2','_',
'O','p','e','r','a','t','i','n','g','S','y','s','t','e','m',0}

Definition at line 43 of file path.c.

Referenced by test_DavGetHTTPFromUNCPath(), test_DavGetUNCFromHTTPPath(), and test_IWbemPath_SetText().

◆ path11

const WCHAR path11[]
static
Initial value:
=
{'/','/','.','\\','r','o','o','t','\\','c','i','m','v','2',':','W','i','n','3','2','_',
'O','p','e','r','a','t','i','n','g','S','y','s','t','e','m',0}

Definition at line 46 of file path.c.

Referenced by test_DavGetHTTPFromUNCPath(), test_DavGetUNCFromHTTPPath(), and test_IWbemPath_SetText().

◆ path12

const WCHAR path12[]
static
Initial value:
=
{'r','o','o','t','\\','c','i','m','v','2',':','W','i','n','3','2','_',
'O','p','e','r','a','t','i','n','g','S','y','s','t','e','m',0}

Definition at line 49 of file path.c.

Referenced by test_DavGetHTTPFromUNCPath(), test_DavGetUNCFromHTTPPath(), test_IWbemPath_GetInfo(), and test_IWbemPath_GetText().

◆ path13

const WCHAR path13[]
static
Initial value:
=
{'\\','\\','.','\\','r','o','o','t','\\','c','i','m','v','2',0}

Definition at line 52 of file path.c.

Referenced by test_DavGetHTTPFromUNCPath(), test_DavGetUNCFromHTTPPath(), and test_IWbemPath_GetText().

◆ path14

const WCHAR path14[]
static
Initial value:
=
{'W','i','n','3','2','_','O','p','e','r','a','t','i','n','g','S','y','s','t','e','m',0}

Definition at line 54 of file path.c.

Referenced by test_DavGetHTTPFromUNCPath(), test_DavGetUNCFromHTTPPath(), and test_IWbemPath_GetText().

◆ path15

const WCHAR path15[]
static
Initial value:
=
{'r','o','o','t','\\','c','i','m','v','2',0}

Definition at line 56 of file path.c.

Referenced by test_DavGetHTTPFromUNCPath(), test_DavGetUNCFromHTTPPath(), test_IWbemPath_GetText(), and test_IWbemPath_SetText().

◆ path16

const WCHAR path16[]
static
Initial value:
=
{'\\','\\','.','\\','r','o','o','t','\\','c','i','m','v','2',0}

Definition at line 58 of file path.c.

Referenced by test_DavGetHTTPFromUNCPath(), test_DavGetUNCFromHTTPPath(), and test_IWbemPath_GetText().

◆ path17

const WCHAR path17[]
static
Initial value:
=
{'\\','\\','.','\\','r','o','o','t','\\','c','i','m','v','2',':','W','i','n','3','2','_',
'L','o','g','i','c','a','l','D','i','s','k','.','D','e','v','i','c','e','I','d','=',
'"','C',':','"',0}

Definition at line 60 of file path.c.

Referenced by test_DavGetHTTPFromUNCPath(), test_DavGetUNCFromHTTPPath(), test_IWbemPath_GetClassName(), test_IWbemPath_GetInfo(), test_IWbemPath_GetNamespaceAt(), test_IWbemPath_GetServer(), test_IWbemPath_GetText(), test_IWbemPath_RemoveAllNamespaces(), and test_IWbemPath_RemoveNamespaceAt().

◆ path18

const WCHAR path18[]
static
Initial value:
=
{'\\','\\','.','\\','r','o','o','t','\\','c','i','m','v','2',':','W','i','n','3','2','_',
'L','o','g','i','c','a','l','D','i','s','k','.','D','e','v','i','c','e','I','d','=',
'"','C',':','"',',','D','r','i','v','e','T','y','p','e','=','3',0}

Definition at line 64 of file path.c.

Referenced by test_DavGetHTTPFromUNCPath(), test_DavGetUNCFromHTTPPath(), and test_IWbemPath_GetText().

◆ path19

const WCHAR path19[]
static
Initial value:
=
{'\\','\\','.','\\','r','o','o','t','\\','c','i','m','v','2',':','W','i','n','3','2','_',
'L','o','g','i','c','a','l','D','i','s','k','.','D','e','v','i','c','e','I','d','=',0}

Definition at line 68 of file path.c.

Referenced by test_DavGetHTTPFromUNCPath(), test_DavGetUNCFromHTTPPath(), and test_IWbemPath_GetText().

◆ path2

◆ path20

const WCHAR path20[]
static
Initial value:
=
{'\\','\\','.','\\','r','o','o','t','\\','c','i','m','v','2',':','W','i','n','3','2','_',
'L','o','g','i','c','a','l','D','i','s','k','.','D','e','v','i','c','e','I','d',' ','=',' ',
'"','C',':','"',0}

Definition at line 71 of file path.c.

Referenced by test_DavGetHTTPFromUNCPath(), test_DavGetUNCFromHTTPPath(), and test_IWbemPath_GetText().

◆ path3

const WCHAR path3[] = {'\\','\\','s','e','r','v','e','r',0}
static

Definition at line 30 of file path.c.

Referenced by test_IWbemPath_SetText(), and test_PathSearchAndQualify().

◆ path4

const WCHAR path4[] = {'\\','\\','s','e','r','v','e','r','\\',0}
static

Definition at line 31 of file path.c.

Referenced by test_IWbemPath_SetText().

◆ path5

◆ path6

const WCHAR path6[] = {'/','/','.','/','r','o','o','t','/','c','i','m','v','2',0}
static

◆ path7

const WCHAR path7[]
static
Initial value:
=
{'/','/','.','/','r','o','o','t','/','c','i','m','v','2',':','W','i','n','3','2','_',
'O','p','e','r','a','t','i','n','g','S','y','s','t','e','m',0}

Definition at line 34 of file path.c.

Referenced by test_DavGetHTTPFromUNCPath(), test_DavGetUNCFromHTTPPath(), and test_IWbemPath_SetText().

◆ path8

const WCHAR path8[]
static
Initial value:
=
{'/','r','o','o','t','/','c','i','m','v','2',':','W','i','n','3','2','_',
'O','p','e','r','a','t','i','n','g','S','y','s','t','e','m',0}

Definition at line 37 of file path.c.

Referenced by test_DavGetHTTPFromUNCPath(), test_DavGetUNCFromHTTPPath(), test_IWbemPath_GetText(), and test_IWbemPath_SetText().

◆ path9

const WCHAR path9[]
static
Initial value:
=
{'\\','\\','.','\\','r','o','o','t','\\','c','i','m','v','2',':','W','i','n','3','2','_',
'O','p','e','r','a','t','i','n','g','S','y','s','t','e','m',0}

Definition at line 40 of file path.c.

Referenced by test_DavGetHTTPFromUNCPath(), test_DavGetUNCFromHTTPPath(), test_IWbemPath_GetText(), and test_IWbemPath_SetText().