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 HRESULT eval_boolcmp(UINT op, LONGLONG lval, LONGLONG rval, UINT ltype, UINT rtype, LONGLONG *val)
int WINAPIV wsprintfW(_Out_ LPWSTR, _In_ _Printf_format_string_ LPCWSTR,...)
static HRESULT append_table(struct view *view, struct table *table)
static const WCHAR classW[]
static BSTR build_servername(void)
static UINT resolve_type(UINT left, UINT right)
void free_query(struct query *query)
HRESULT put_propval(const struct view *view, UINT index, const WCHAR *name, VARIANT *var, CIMTYPE type)
#define LIST_FOR_EACH_SAFE(cursor, cursor2, list)
HRESULT get_column_index(const struct table *table, const WCHAR *name, UINT *column)
static HRESULT do_query(const WCHAR *str, struct query **ret_query)
static UINT count_key_columns(const struct table *table)
static rfbScreenInfoPtr server
static HRESULT eval_unary(const struct table *table, UINT row, const struct complex_expr *expr, LONGLONG *val, UINT *type)
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
static BOOL is_refcmp(const struct complex_expr *expr, UINT ltype, UINT rtype)
GLsizei const GLchar ** path
static HRESULT eval_binary(const struct table *table, UINT row, const struct complex_expr *expr, LONGLONG *val, UINT *type)
GLuint GLuint GLsizei count
GLboolean GLenum GLenum GLvoid * values
static HRESULT eval_propval(const struct table *table, UINT row, const struct property *propval, LONGLONG *val, UINT *type)
const struct column * columns
HRESULT get_propval(const struct view *view, UINT index, const WCHAR *name, VARIANT *ret, CIMTYPE *type, LONG *flavor)
HRESULT EnumWbemClassObject_create(struct query *query, LPVOID *ppObj)
GLenum GLsizei GLenum GLenum const GLvoid * table
static HRESULT parse_path(const WCHAR *str, BSTR *server, BSTR *namespace, BSTR *relative)
VARTYPE to_vartype(CIMTYPE type)
struct table * addref_table(struct table *table)
HRESULT WINAPI SafeArrayGetElement(SAFEARRAY *psa, LONG *rgIndices, void *pvData)
static CIMTYPE to_cimtype(VARTYPE type)
BOOL WINAPI GetComputerNameW(LPWSTR lpBuffer, LPDWORD lpnSize)
static const WCHAR * format_int(WCHAR *buf, UINT len, CIMTYPE type, LONGLONG val)
static void * heap_realloc(void *mem, size_t len)
BSTR get_value_bstr(const struct table *table, UINT row, UINT column)
static void * heap_alloc(size_t len)
enum fill_status(* fill)(struct table *, const struct expr *cond)
const struct keyword * keywordlist
GLsizei GLsizei GLuint * obj
HRESULT get_properties(const struct view *view, UINT index, LONG flags, SAFEARRAY **props)
WCHAR * query_from_path(const struct path *path)
GLenum GLuint GLenum GLsizei const GLchar * buf
WINE_DEFAULT_DEBUG_CHANNEL(d3d9)
static WCHAR * heap_strdupW(const WCHAR *str)
const struct property * next
static BOOL is_system_prop(const WCHAR *name)
void destroy_array(struct array *array, CIMTYPE type)
static HRESULT get_antecedent_table(const WCHAR *assocclass, const WCHAR *dependent, struct table **table)
HRESULT parse_query(const WCHAR *, struct view **, struct list *) DECLSPEC_HIDDEN
void release_query(struct query *query)
BSTR WINAPI SysAllocString(LPCOLESTR str)
void set_variant(VARTYPE type, LONGLONG val, void *val_ptr, VARIANT *ret)
struct table * grab_table(const WCHAR *name)
static BOOL is_strcmp(const struct complex_expr *expr, UINT ltype, UINT rtype)
HRESULT execute_view(struct view *view)
static BSTR build_namespace(void)
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 HRESULT set_value(struct d3dx_parameter *param, const void *data, unsigned int bytes, void *dst_data)
const struct property * proplist
static struct array * to_array(VARIANT *var, CIMTYPE *type)
static HRESULT exec_select_view(struct view *view)
static BOOL is_boolcmp(const struct complex_expr *expr, UINT ltype, UINT rtype)
static BSTR build_path(const struct view *view, UINT table_index, UINT result_index, const WCHAR *name)
SAFEARRAY * to_safearray(const struct array *array, CIMTYPE basetype)
unsigned int get_type_size(ULONG *pFlags, VARTYPE vt)
void destroy_view(struct view *view)
static UINT count_properties(const struct table *table)
GLdouble GLdouble GLdouble GLdouble q
void release_table(struct table *table)
static WCHAR * build_antecedent_query(const WCHAR *assocclass, const WCHAR *dependent)
HRESULT WINAPI SafeArrayDestroy(SAFEARRAY *psa)
SAFEARRAY *WINAPI SafeArrayCreateVector(VARTYPE vt, LONG lLbound, ULONG cElements)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
#define InterlockedDecrement
void clear_table(struct table *table)
UINT WINAPI SysStringLen(BSTR str)
struct query * addref_query(struct query *query)
int _cdecl swprintf(const WCHAR *,...)
static HRESULT get_antecedent(const WCHAR *assocclass, const WCHAR *dependent, BSTR *ret)
BOOL is_result_prop(const struct view *view, const WCHAR *name)
#define MAX_COMPUTERNAME_LENGTH
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
static WCHAR * build_assoc_query(const WCHAR *class, UINT class_len)
HRESULT WINAPI SafeArrayGetUBound(SAFEARRAY *psa, UINT nDim, LONG *plUbound)
static unsigned __int64 next
#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
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)
HRESULT get_value(const struct table *table, UINT row, UINT column, LONGLONG *val)
HRESULT exec_query(const WCHAR *str, IEnumWbemClassObject **result)
static HRESULT get_system_propval(const struct view *view, UINT table_index, UINT result_index, const WCHAR *name, VARIANT *ret, CIMTYPE *type, LONG *flavor)
const struct property * propval
static UINT count_result_properties(const struct view *view, UINT table_index)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
HRESULT WINAPI SafeArrayGetVartype(SAFEARRAY *psa, VARTYPE *pvt)
static HRESULT exec_assoc_view(struct view *view)
struct table * get_view_table(const struct view *view, UINT index)
static const WCHAR props[]
HRESULT WINAPI SafeArrayPutElement(SAFEARRAY *psa, LONG *rgIndices, void *pvData)
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
static IOleDocumentView * view
HRESULT eval_cond(const struct table *table, UINT row, const struct expr *cond, LONGLONG *val, UINT *type)
HRESULT to_longlong(VARIANT *var, LONGLONG *val, CIMTYPE *type)
static BSTR build_proplist(const struct table *table, UINT row, UINT count, UINT *len)
BOOL is_method(const struct table *table, UINT column)
GLenum GLenum GLvoid GLvoid * column
GLuint GLuint GLsizei GLenum type
static const WCHAR trueW[]
static HRESULT eval_strcmp(UINT op, const WCHAR *lstr, const WCHAR *rstr, LONGLONG *val)
static HRESULT eval_refcmp(UINT op, const WCHAR *lstr, const WCHAR *rstr, LONGLONG *val)
static void free_path(struct btrfs_path *path)
static BSTR build_relpath(const struct view *view, UINT table_index, UINT result_index, const WCHAR *name)
static BOOL is_int(CIMTYPE type)
static WCHAR * build_canonical_path(const WCHAR *relpath)
static struct sockaddr_in sa
static BOOL eval_like(const WCHAR *lstr, const WCHAR *rstr)
static HRESULT create_assoc_enum(const WCHAR *class, UINT class_len, IEnumWbemClassObject **iter)
struct query * create_query(void)
static HRESULT map_view_index(const struct view *view, UINT index, UINT *table_index, UINT *result_index)
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
static BOOL heap_free(void *mem)