Condividi tramite


Funzione DevCreateObjectQueryFromIdEx (devquery.h)

Crea una query del dispositivo per recuperare le proprietà in base ai parametri di query, ai parametri estesi e all'ID oggetto specificati.

Sintassi

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
);

Parametri

[in] ObjectType

Valore dell'enumerazione DEV_OBJECT_TYPE che determina il tipo di oggetto su cui deve operare la query.

[in] pszObjectId

Identificatore di stringa per l'oggetto specifico su cui deve operare la query.

[in] QueryFlags

Combinazione di valori DEV_QUERY_FLAGS combinati tramite un'operazione OR bit per bit.

[in] cRequestedProperties

Numero di strutture di DEVPROPCOMPKEY fornite in pRequestedProperties. Se si specifica DevQueryFlagAllProperties, deve essere impostato su 0.

[in, optional] pRequestedProperties

Facoltativamente, fornisce una matrice di strutture DEVPROPCOMPKEY che specificano le proprietà che devono essere recuperate per gli oggetti nel set di risultati della query quando viene chiamato pCallback per notificare alla query un'aggiunta di un oggetto al relativo set di risultati.
Se DevQueryFlagUpdateResults è stato specificato in QueryFlags, la query riceverà una notifica se il valore di una di queste proprietà cambia per qualsiasi oggetto nel set di risultati della query.

Il campo LocaleName della struttura DEVPROPCOMPKEY viene ignorato e deve essere impostato su NULL.

Se cRequestedProperties è 0, deve essere NULL.

[in] cFilterExpressionCount

Numero di strutture DEVPROP_FILTER_EXPRESSION fornite in pFilter.

[in, optional] pFilter

Facoltativamente, fornisce una matrice di strutture di DEVPROP_FILTER_EXPRESSION che specificano i criteri di filtro per gli oggetti che devono far parte del set di risultati della query. Se cFilterExpressionCount è 0, deve essere NULL.

[in] cExtendedParameterCount

Riservato per l'utilizzo del sistema. Deve essere impostato su 0.

[in, optional] pExtendedParameters

Riservato per l'utilizzo del sistema. Deve essere impostato su NULL.

[in] pCallback

Una funzione di callback PDEV_QUERY_RESULT_CALLBACK a cui devono essere inviati i risultati per questa query.

[in, optional] pContext

Contesto fornito dal chiamante. Questo valore viene passato alla funzione di callback non modificata.

[out] phDevQuery

Puntatore che riceve l'handle che rappresenta la query. Se viene specificato DevQueryFlagsUpdateResults, la query riceverà gli aggiornamenti fino alla chiusura dell'handle. Chiamare DevCloseObjectQuery per chiudere questo handle per arrestare la query.

Valore restituito

S_OK viene restituito se una query è stata creata correttamente; in caso contrario, un valore di errore appropriato.

Osservazioni

Quando un client desidera recuperare dati su un oggetto specifico in base alla relativa identità, usare questa funzione anziché DevCreateObjectQuery con un filtro. Questa funzione è più efficiente.

Per altre informazioni, vedere la sezione osservazioni di DevCreateObjectQuery, che si applicano anche a questa funzione. Per un esempio di creazione di una query del dispositivo per recuperare le proprietà in base ai parametri di query e all'ID oggetto specificati, vedere DevCreateObjectQueryFromId.

Fabbisogno

Requisito Valore
client minimo supportato Windows 10 versione 1809
server minimo supportato Windows Server 2019
intestazione devquery.h
libreria Onecore.lib
dll Cfgmgr32.dll

Vedere anche

DevCreateObjectQuery