Поделиться через


Структура SWbemRpnQueryToken (wmiutils.h)

Структура SWbemRpnQueryToken представляет маркеры запроса в запросе типа WMIQ_ANALYSIS_RPN_SEQUENCE. Пример маркера запроса: j > 4.

Синтаксис

typedef struct tag_SWbemRpnQueryToken {
  ULONG                   m_uVersion;
  ULONG                   m_uTokenType;
  ULONG                   m_uSubexpressionShape;
  ULONG                   m_uOperator;
  SWbemQueryQualifiedName *m_pRightIdent;
  SWbemQueryQualifiedName *m_pLeftIdent;
  ULONG                   m_uConstApparentType;
  SWbemRpnConst           m_Const;
  ULONG                   m_uConst2ApparentType;
  SWbemRpnConst           m_Const2;
  LPCWSTR                 m_pszRightFunc;
  LPCWSTR                 m_pszLeftFunc;
} SWbemRpnQueryToken;

Члены

m_uVersion

Не используется. Всегда 1.

m_uTokenType

Тип маркера, который представляет этот экземпляр.

WMIQ_RPN_TOKEN_EXPRESSION (1)

Этот маркер является выражением, например J = 7.

WMIQ_RPN_TOKEN_AND (2)

Этот маркер является логическим И.

WMIQ_RPN_TOKEN_OR (3)

Этот маркер является логическим ИЛИ.

WMIQ_RPN_TOKEN_NOT (4)

Этот маркер является логическим NOT.

m_uSubexpressionShape

Если элемент m_uTokenTypeявляется WMIQ_RPN_TOKEN_EXPRESSION, m_uSubexpressionShape значение битовой маски указывает форму выражения.

WMIQ_RPN_LEFT_PROPERTY_NAME (1 (0x1))

Левый аргумент — это имя свойства.

WMIQ_RPN_RIGHT_PROPERTY_NAME (2 (0x2))

Правый аргумент — это имя свойства.

WMIQ_RPN_CONST2 (4 (0x4))

Имеет вторую константу. Используется с предложениями BETWEEN.

WMIQ_RPN_CONST (8 (0x8))

Имеет константу.

WMIQ_RPN_RELOP (16 (0x10))

Поле m_uOperator не равно 0 (нулю).

WMIQ_RPN_LEFT_FUNCTION (32 (0x20))

Левый аргумент является функцией.

WMIQ_RPN_RIGHT_FUNCTION (64 (0x40))

Правый аргумент — это функция.

m_uOperator

Это поле может иметь значение 0 (ноль) или одно из следующих значений.

WMIQ_RPN_OP_UNDEFINED (0 (0x0))

Оператор не определен или неизвестен.

WMIQ_RPN_OP_EQ (1 (0x1))

Оператор равен (=).

WMIQ_RPN_OP_NE (2 (0x2))

Оператор не равен (<>).

WMIQ_RPN_OP_GE (3 (0x3))

Оператор больше или равно (>=).

WMIQ_RPN_OP_LE (4 (0x4))

Оператор меньше или равен (<=).

WMIQ_RPN_OP_LT (5 (0x5))

Оператор меньше (<) .

WMIQ_RPN_OP_GT (6 (0x6))

Оператор больше чем (>).

WMIQ_RPN_OP_LIKE (7 (0x7))

Оператор — LIKE.

WMIQ_RPN_OP_ISA (8 (0x8))

Оператор is ISA.

WMIQ_RPN_OP_ISNOTA (9 (0x9))

Оператор ISOTA.

WMIQ_RPN_OP_ISNULL (10 (0xA))

Оператор is ISNULL.

WMIQ_RPN_OP_ISNOTNULL (11 (0xB))

Оператор ISOTNULL.

m_pRightIdent

Если в маркере есть два имени свойств, m_pRightIdent используется для определения правильного имени свойства.

m_pLeftIdent

Если в маркере есть два имени свойств , m_pLeftIdent используется для идентификации имени левого свойства. Если присутствует только одно имя свойства, оно отображается в этом элементе.

m_uConstApparentType

Видимый тип данных константы.

VT_I4 (3 (0x3))

Тип данных Long.

VT_R8 (5 (0x5))

Тип данных с плавающей запятой двойной точности.

VT_BOOL (11 (0xB))

Логический тип данных

VT_UI4 (19 (0x13))

Тип данных unsigned long.

VT_I8 (20 (0x14))

64-разрядное целое число со знаком.

VT_UI8 (21 (0x15))

64-разрядное целое число без знака.

VT_LPWSTR (31 (0x1F))

Тип данных LPCWSTR.

m_Const

Значение первой константы. Дополнительные сведения см. в разделе SWbemRpnConst.

m_uConst2ApparentType

Тип второй константы. Поля m_uConst2ApparentType и m_uConst2 используются только для фраз BETWEEN.

VT_I4 (3 (0x3))

Тип данных Long.

VT_R8 (5 (0x5))

Тип данных с плавающей запятой двойной точности.

VT_BOOL (11 (0xB))

Логический тип данных.

VT_UI4 (19 (0x13))

Тип данных unsigned long.

VT_I8 (20 (0x14))

64-разрядное целое число со знаком.

VT_UI8 (21 (0x15))

64-разрядное целое число без знака.

VT_LPWSTR (31 (0x1F))

Тип данных LPCWSTR.

m_Const2

Значение второй константы. Поля m_uConst2ApparentType и m_uConst2 используются только для фраз BETWEEN. Дополнительные сведения см. в разделе SWbemRpnConst.

m_pszRightFunc

Задает функцию справа от оператора в предложении WHERE. Если справа от оператора в этом маркере нет функции, это поле имеет значение NULL.

m_pszLeftFunc

Задает функцию слева от оператора в предложении WHERE. Если слева от оператора в этом токене нет функции, это поле имеет значение NULL.

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Минимальная версия сервера Windows Server 2008
Верхняя часть wmiutils.h

См. также раздел

IWbemQuery

IWbemQuery::GetAnalysis

SWbemRpnConst

SWbemrpnEncodedQuery