73 ERR(
"unhandled type %u\n",
type );
101 while (*
q ==
'%')
q++;
102 if (!*
q)
return TRUE;
104 if (!*
p && !*
q)
return TRUE;
142 ERR(
"unhandled operator %u\n",
op);
186 static const WCHAR trueW[] = {
'T',
'r',
'u',
'e',0};
200 ERR(
"unhandled operator %u\n",
op);
229 ERR(
"unhandled operator %u\n",
op);
282 static const WCHAR fmt_signedW[] = {
'%',
'd',0};
283 static const WCHAR fmt_unsignedW[] = {
'%',
'u',0};
284 static const WCHAR fmt_signed64W[] = {
'%',
'I',
'6',
'4',
'd',0};
285 static const WCHAR fmt_unsigned64W[] = {
'%',
'I',
'6',
'4',
'u',0};
310 ERR(
"unhandled type %u\n",
type );
331 WCHAR lbuf[21], rbuf[21];
377 ERR(
"unhandled operator %u\n",
expr->op);
417 ERR(
"unknown operator %u\n",
expr->op);
475 ERR(
"invalid expression type\n");
483 static const WCHAR fmtW[] =
484 {
'S',
'E',
'L',
'E',
'C',
'T',
' ',
'*',
' ',
'F',
'R',
'O',
'M',
' ',
'_',
'_',
'A',
'S',
'S',
'O',
'C',
'I',
'A',
'T',
'O',
'R',
'S',
485 ' ',
'W',
'H',
'E',
'R',
'E',
' ',
'C',
'l',
'a',
's',
's',
'=',
'\'',
'%',
's',
'\'',0};
507 static const WCHAR fmtW[] =
508 {
'S',
'E',
'L',
'E',
'C',
'T',
' ',
'A',
'n',
't',
'e',
'c',
'e',
'd',
'e',
'n',
't',
' ',
'F',
'R',
'O',
'M',
' ',
'%',
's',
' ',
509 'W',
'H',
'E',
'R',
'E',
' ',
'D',
'e',
'p',
'e',
'n',
'd',
'e',
'n',
't',
'=',
'\'',
'%',
's',
'\'',0};
530 static const WCHAR cimv2W[] = {
'R',
'O',
'O',
'T',
'\\',
'C',
'I',
'M',
'V',
'2',0};
536 static const WCHAR fmtW[] = {
'\\',
'\\',
'%',
's',
'\\',
'%',
's',
':',0};
554 if (relpath[
i] ==
'\'')
ret[
len++] =
'"';
567 static const WCHAR antecedentW[] = {
'A',
'n',
't',
'e',
'c',
'e',
'd',
'e',
'n',
't',0};
587 IWbemClassObject_Release(
obj );
588 if (
hr !=
S_OK)
goto done;
592 if (iter) IEnumWbemClassObject_Release( iter );
648 static const WCHAR assocclassW[] = {
'A',
's',
's',
'o',
'c',
'C',
'l',
'a',
's',
's',0};
669 IWbemClassObject_Release(
obj );
672 IWbemClassObject_Release(
obj );
676 if (
hr !=
S_OK)
goto done;
692 if (iter) IEnumWbemClassObject_Release( iter );
794 if (
hr !=
S_OK)
goto done;
796 if (
hr !=
S_OK)
goto done;
807 if (!prop)
return TRUE;
818 return (
name[0] ==
'_' &&
name[1] ==
'_');
823 static const WCHAR fmtW[] = {
'%',
's',
'=',
'%',
's',0};
861 UINT i, num_keys = 0;
872 static const WCHAR fmtW[] = {
'%',
's',
'.',
'%',
's',0};
896 static const WCHAR fmtW[] = {
'\\',
'\\',
'%',
's',
'\\',
'%',
's',
':',
'%',
's',0};
924 UINT i, num_props = 0;
948 static const WCHAR classW[] = {
'_',
'_',
'C',
'L',
'A',
'S',
'S',0};
949 static const WCHAR genusW[] = {
'_',
'_',
'G',
'E',
'N',
'U',
'S',0};
950 static const WCHAR pathW[] = {
'_',
'_',
'P',
'A',
'T',
'H',0};
951 static const WCHAR namespaceW[] = {
'_',
'_',
'N',
'A',
'M',
'E',
'S',
'P',
'A',
'C',
'E',0};
952 static const WCHAR propcountW[] = {
'_',
'_',
'P',
'R',
'O',
'P',
'E',
'R',
'T',
'Y',
'_',
'C',
'O',
'U',
'N',
'T',0};
953 static const WCHAR relpathW[] = {
'_',
'_',
'R',
'E',
'L',
'P',
'A',
'T',
'H',0};
954 static const WCHAR serverW[] = {
'_',
'_',
'S',
'E',
'R',
'V',
'E',
'R',0};
1056 ERR(
"unhandled type %u\n",
type);
1133 ERR(
"unhandled variant type %u\n",
type);
1147 *result_index =
index;
1151 *table_index = *result_index =
index;
1184 void *val_ptr =
NULL;
1201 if (flavor) *flavor = 0;
1211 if (!val_ptr) vartype =
VT_NULL;
1271 ERR(
"unhandled type %u\n",
type);
1289 ret->count = bound + 1;
1291 if (!(
ret->ptr = heap_alloc_zero(
ret->count *
ret->elem_size )))
1296 for (
i = 0;
i <
ret->count;
i++)
1298 void *
ptr = (
char *)
ret->ptr +
i *
ret->elem_size;
1388 FIXME(
"no support for creating new properties\n");
1405 UINT i, table_index, result_index, num_props;
static struct sockaddr_in sa
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
static void * heap_realloc(void *mem, size_t len)
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static void list_init(struct list_entry *head)
static void free_path(struct btrfs_path *path)
BOOL WINAPI GetComputerNameW(LPWSTR lpBuffer, LPDWORD lpnSize)
static HRESULT set_value(struct d3dx_parameter *param, const void *data, unsigned int bytes, void *dst_data)
static WCHAR * heap_strdupW(const WCHAR *str)
HRESULT WINAPI SafeArrayGetUBound(SAFEARRAY *psa, UINT nDim, LONG *plUbound)
HRESULT WINAPI SafeArrayGetElement(SAFEARRAY *psa, LONG *rgIndices, void *pvData)
SAFEARRAY *WINAPI SafeArrayCreateVector(VARTYPE vt, LONG lLbound, ULONG cElements)
HRESULT WINAPI SafeArrayDestroy(SAFEARRAY *psa)
HRESULT WINAPI SafeArrayGetVartype(SAFEARRAY *psa, VARTYPE *pvt)
HRESULT WINAPI SafeArrayPutElement(SAFEARRAY *psa, LONG *rgIndices, void *pvData)
unsigned int get_type_size(ULONG *pFlags, VARTYPE vt)
static BOOL parse_query(const WCHAR **ptr, parse_data *data, DWORD flags)
static HRESULT parse_path(const WCHAR *str, BSTR *server, BSTR *namespace, BSTR *relative)
void destroy_array(struct array *array, CIMTYPE type)
HRESULT EnumWbemClassObject_create(struct query *query, LPVOID *ppObj)
HRESULT eval_cond(const struct table *table, UINT row, const struct expr *cond, LONGLONG *val, UINT *type)
VARTYPE to_vartype(CIMTYPE type)
static BSTR build_path(const struct view *view, UINT table_index, UINT result_index, const WCHAR *name)
static HRESULT exec_assoc_view(struct view *view)
static BOOL is_strcmp(const struct complex_expr *expr, UINT ltype, UINT rtype)
static BSTR build_relpath(const struct view *view, UINT table_index, UINT result_index, const WCHAR *name)
void free_query(struct query *query)
static HRESULT eval_refcmp(UINT op, const WCHAR *lstr, const WCHAR *rstr, LONGLONG *val)
static BOOL is_int(CIMTYPE type)
static BSTR build_namespace(void)
static WCHAR * build_assoc_query(const WCHAR *class, UINT class_len)
struct table * get_view_table(const struct view *view, UINT index)
void destroy_view(struct view *view)
BOOL is_method(const struct table *table, UINT column)
static UINT count_properties(const struct table *table)
void release_query(struct query *query)
static HRESULT exec_select_view(struct view *view)
static HRESULT eval_binary(const struct table *table, UINT row, const struct complex_expr *expr, LONGLONG *val, UINT *type)
static HRESULT get_antecedent_table(const WCHAR *assocclass, const WCHAR *dependent, struct table **table)
static HRESULT eval_propval(const struct table *table, UINT row, const struct property *propval, LONGLONG *val, UINT *type)
static UINT resolve_type(UINT left, UINT right)
static BOOL eval_like(const WCHAR *lstr, const WCHAR *rstr)
static HRESULT eval_unary(const struct table *table, UINT row, const struct complex_expr *expr, LONGLONG *val, UINT *type)
HRESULT put_propval(const struct view *view, UINT index, const WCHAR *name, VARIANT *var, CIMTYPE type)
static BOOL is_refcmp(const struct complex_expr *expr, UINT ltype, UINT rtype)
static BSTR build_proplist(const struct table *table, UINT row, UINT count, UINT *len)
static BOOL is_system_prop(const WCHAR *name)
BOOL is_result_prop(const struct view *view, const WCHAR *name)
HRESULT execute_view(struct view *view)
static UINT count_key_columns(const struct table *table)
struct query * create_query(void)
HRESULT get_properties(const struct view *view, UINT index, LONG flags, SAFEARRAY **props)
static HRESULT create_assoc_enum(const WCHAR *class, UINT class_len, IEnumWbemClassObject **iter)
static WCHAR * build_canonical_path(const WCHAR *relpath)
static struct array * to_array(VARIANT *var, CIMTYPE *type)
struct query * addref_query(struct query *query)
static HRESULT append_table(struct view *view, struct table *table)
static HRESULT get_system_propval(const struct view *view, UINT table_index, UINT result_index, const WCHAR *name, VARIANT *ret, CIMTYPE *type, LONG *flavor)
HRESULT to_longlong(VARIANT *var, LONGLONG *val, CIMTYPE *type)
static CIMTYPE to_cimtype(VARTYPE type)
static BOOL is_boolcmp(const struct complex_expr *expr, UINT ltype, UINT rtype)
SAFEARRAY * to_safearray(const struct array *array, CIMTYPE basetype)
HRESULT create_view(enum view_type type, const WCHAR *path, const struct keyword *keywordlist, const WCHAR *class, const struct property *proplist, const struct expr *cond, struct view **ret)
static HRESULT map_view_index(const struct view *view, UINT index, UINT *table_index, UINT *result_index)
void set_variant(VARTYPE type, LONGLONG val, void *val_ptr, VARIANT *ret)
static HRESULT eval_boolcmp(UINT op, LONGLONG lval, LONGLONG rval, UINT ltype, UINT rtype, LONGLONG *val)
static HRESULT eval_strcmp(UINT op, const WCHAR *lstr, const WCHAR *rstr, LONGLONG *val)
static const WCHAR * format_int(WCHAR *buf, UINT len, CIMTYPE type, LONGLONG val)
static HRESULT get_antecedent(const WCHAR *assocclass, const WCHAR *dependent, BSTR *ret)
HRESULT exec_query(const WCHAR *str, IEnumWbemClassObject **result)
static HRESULT do_query(const WCHAR *str, struct query **ret_query)
static UINT count_result_properties(const struct view *view, UINT table_index)
static WCHAR * build_antecedent_query(const WCHAR *assocclass, const WCHAR *dependent)
HRESULT get_propval(const struct view *view, UINT index, const WCHAR *name, VARIANT *ret, CIMTYPE *type, LONG *flavor)
static BSTR build_servername(void)
WCHAR * query_from_path(const struct path *path)
HRESULT get_value(const struct table *table, UINT row, UINT column, LONGLONG *val)
void clear_table(struct table *table)
struct table * grab_table(const WCHAR *name)
struct table * addref_table(struct table *table)
HRESULT get_column_index(const struct table *table, const WCHAR *name, UINT *column)
void release_table(struct table *table)
BSTR get_value_bstr(const struct table *table, UINT row, UINT column)
struct png_info_def *typedef unsigned char **typedef struct png_info_def *typedef struct png_info_def *typedef struct png_info_def *typedef unsigned char ** row
GLuint GLuint GLsizei GLenum type
GLuint GLuint GLsizei count
GLdouble GLdouble GLdouble GLdouble q
GLenum GLuint GLenum GLsizei const GLchar * buf
GLboolean GLenum GLenum GLvoid * values
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
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 GLint GLint j
static const WCHAR trueW[]
BSTR WINAPI SysAllocString(LPCOLESTR str)
UINT WINAPI SysStringLen(BSTR str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
static unsigned __int64 next
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
#define LIST_FOR_EACH_SAFE(cursor, cursor2, list)
const struct property * propval
const struct property * next
enum fill_status(* fill)(struct table *, const struct expr *cond)
const struct column * columns
const struct property * proplist
const struct keyword * keywordlist
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
static const WCHAR classW[]
static rfbScreenInfoPtr server
@ WBEM_FLAG_NONSYSTEM_ONLY
@ WBEM_FLAVOR_ORIGIN_SYSTEM
static const WCHAR props[]
#define MAX_COMPUTERNAME_LENGTH
int WINAPIV wsprintfW(_Out_ LPWSTR, _In_ _Printf_format_string_ LPCWSTR,...)