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


Функция DevCreateObjectQueryFromIdEx (devquery.h)

Создает запрос устройства для получения свойств на основе указанных параметров запроса, расширенных параметров и идентификатора объекта.

Синтаксис

HRESULT DevCreateObjectQueryFromIdEx(
  [in]           DEV_OBJECT_TYPE                 ObjectType,
  [in]           PCWSTR                          pszObjectId,
  [in]           ULONG                           QueryFlags,
  [in]           ULONG                           cRequestedProperties,
  [in, optional] const DEVPROPCOMPKEY            *pRequestedProperties,
  [in]           ULONG                           cFilterExpressionCount,
  [in, optional] const DEVPROP_FILTER_EXPRESSION *pFilter,
  [in]           ULONG                           cExtendedParameterCount,
  [in, optional] const DEV_QUERY_PARAMETER       *pExtendedParameters,
  [in]           PDEV_QUERY_RESULT_CALLBACK      pCallback,
  [in, optional] PVOID                           pContext,
  [out]          PHDEVQUERY                      phDevQuery
);

Параметры

[in] ObjectType

Значение из перечисления DEV_OBJECT_TYPE, определяющего тип объекта, на который должен работать этот запрос.

[in] pszObjectId

Строковый идентификатор конкретного объекта, с которым должен работать запрос.

[in] QueryFlags

Сочетание значений DEV_QUERY_FLAGS, объединенных с помощью побитовой операции OR.

[in] cRequestedProperties

Количество структур DEVPROPCOMPKEY, предоставляемых в pRequestedProperties. Если указан DevQueryFlagAllProperties, это значение должно иметь значение 0.

[in, optional] pRequestedProperties

При необходимости предоставляет массив структуры DEVPROPCOMP KEY, указывающие свойства, которые следует извлечь для объектов в результирующем наборе запроса при вызове pCallback, чтобы уведомить запрос о добавлении объекта в результирующий набор.
Если devQueryFlagUpdateResults был указан в QueryFlags, запрос будет уведомлен, если значение любого из этих свойств изменяется для любого объекта в результирующем наборе запроса.

Поле LocaleName структуры DEVPROPCOMPKEY игнорируется и должно иметь значение NULL.

Если cRequestedProperties равно 0, это значение должно иметь значение NULL.

[in] cFilterExpressionCount

Количество структур DEVPROP_FILTER_EXPRESSION, предоставляемых в pFilter.

[in, optional] pFilter

При необходимости предоставляет массив структур DEVPROP_FILTER_EXPRESSION, определяющих критерии фильтрации для объектов, которые должны быть частью результирующий набор запроса. Если cFilterExpressionCount равно 0, это значение должно иметь значение NULL.

[in] cExtendedParameterCount

Зарезервировано для использования системы. Должно быть задано значение 0.

[in, optional] pExtendedParameters

Зарезервировано для использования системы. Необходимо задать значение NULL.

[in] pCallback

Функция обратного вызова PDEV_QUERY_RESULT_CALLBACK, в которую должны быть отправлены результаты этого запроса.

[in, optional] pContext

Контекст, предоставленный вызывающей компанией. Это значение передается функции обратного вызова, не измененной.

[out] phDevQuery

Указатель, который получает дескриптор, представляющий запрос. Если DevQueryFlagsUpdateResults, запрос получит обновления до закрытия дескриптора. Вызовите DevCloseObjectQuery, чтобы закрыть этот дескриптор, чтобы остановить запрос.

Возвращаемое значение

S_OK возвращается, если запрос был успешно создан; в противном случае соответствующее значение ошибки.

Замечания

Если клиент хочет получить данные о конкретном объекте, учитывая его удостоверение, используйте эту функцию, а не DevCreateObjectQuery с фильтром. Эта функция более эффективна.

Дополнительные сведения см. в разделе примечаний DevCreateObjectQuery, которые также применяются к этой функции. Пример создания запроса устройства для получения свойств на основе указанных параметров запроса и идентификатора объекта см. в разделе DevCreateObjectQueryFromId.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10 версии 1809
минимальный поддерживаемый сервер Windows Server 2019
заголовка devquery.h
библиотеки Onecore.lib
DLL Cfgmgr32.dll

См. также

DevCreateObjectQuery