Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
[Individuazione funzioni è disponibile per l'uso nei sistemi operativi specificati nella sezione Requisiti. Può essere modificato o non disponibile nelle versioni successive.
Recupera una raccolta di istanze di funzione che soddisfano i vincoli specificati.
Sintassi
HRESULT Query(
[in] IFunctionDiscoveryProviderQuery *pIFunctionDiscoveryProviderQuery,
[out] IFunctionInstanceCollection **ppIFunctionInstanceCollection
);
Parametri
[in] pIFunctionDiscoveryProviderQuery
Puntatore a un'interfaccia IFunctionDiscoveryProviderQuery che contiene parametri che definiscono i criteri di query.
[out] ppIFunctionInstanceCollection
Puntatore a un'interfaccia IFunctionInstanceCollection che il provider deve usare per restituire le istanze di funzione in modo sincrono in risposta alla query specificata.
Quando si implementa il metodo Query , è possibile impostare questo parametro su NULL se il provider supporta le notifiche, ovvero il provider restituisce i risultati in modo asincrono. I risultati asincroni devono essere restituiti usando l'interfaccia IFunctionDiscoveryNotification passata al metodo Initialize del provider.
Se l'applicazione client non ha implementato le notifiche, può passare un parametro NULL .
Valore restituito
I valori restituiti possibili includono, ma non sono limitati a, quanto segue.
| Codice restituito | Descrizione |
|---|---|
|
Il metodo è stato completato correttamente e i risultati vengono restituiti in modo sincrono. |
|
Il parametro pIFunctionDiscoveryProviderQuery è NULL. |
|
Il metodo è stato completato correttamente e i risultati vengono restituiti in modo asincrono. |
Commenti
Una query attiva viene terminata da Individuazione funzione con una chiamata al metodo EndQuery . Si noti che EndQuery verrà chiamato solo se il client ha specificato un'interfaccia IFunctionDiscoveryNotification per la query. Se non è stato specificato un oggetto IFunctionDiscoveryNotification , la query deve essere considerata terminata dal provider dopo il completamento della chiamata di query .
Un client può eseguire nuovamente una query in qualsiasi momento dopo la restituzione della chiamata query precedente. L'implementazione di Query deve essere in grado di restituire un oggetto IFunctionInstanceCollection per la nuova query. EndQuery verrà chiamato solo prima di una chiamata query successiva quando un client ha passato un'interfaccia IFunctionDiscoveryNotification passata al metodo Initialize del provider.
Se Query restituisce E_PENDING, il provider deve chiamare il metodo OnEvent dell'interfaccia IFunctionDiscoveryNotification con FD_EVENTID_SEARCHCOMPLETE per indicare che l'enumerazione dei risultati è completa. Non è possibile inviare l'evento FD_EVENTID_SEARCHCOMPLETE in modo indefinito ai client
Requisiti
| Requisito | Valore |
|---|---|
| Client minimo supportato | Windows Vista [solo app desktop] |
| Server minimo supportato | Windows Server 2008 [solo app desktop] |
| Piattaforma di destinazione | Windows |
| Intestazione | functiondiscoveryprovider.h |