Condividi tramite


EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE funzione di callback (wdfwmi.h)

[Si applica solo a KMDF]

La funzione di callback EvtWmiInstance di un driver copia i dati dell'istanza di un provider WMI in un buffer per il recapito a un client WMI.

Sintassi

EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE EvtWdfWmiInstanceQueryInstance;

NTSTATUS EvtWdfWmiInstanceQueryInstance(
  [in]  WDFWMIINSTANCE WmiInstance,
  [in]  ULONG OutBufferSize,
  [in]  PVOID OutBuffer,
  [out] PULONG BufferUsed
)
{...}

Parametri

[in] WmiInstance

Handle per un oggetto di istanza WMI.

[in] OutBufferSize

Dimensioni, in byte, del buffer di output a cui OutBuffer punta.

[in] OutBuffer

Puntatore al buffer di output.

[out] BufferUsed

Puntatore a una posizione che riceve il numero di byte che il driver inserisce nel buffer di output. Se le dimensioni del buffer di output specificate dal parametro OutBufferSize sono troppo piccole, il driver imposta questa posizione sulle dimensioni del buffer necessarie.

Valore restituito

La funzione di callback EvtWmiInstanceQueryInstance deve restituire STATUS_BUFFER_TOO_SMALL, se il valore del parametro OutBufferSize indica che il buffer di output è troppo piccolo per ricevere i dati. In caso contrario, la funzione di callback deve copiare i dati nel buffer e restituire STATUS_SUCCESS.

Commenti

Per registrare una funzione di callback EvtWmiInstanceQueryInstance , il driver deve inserire l'indirizzo della funzione in una struttura di WDF_WMI_INSTANCE_CONFIG prima di chiamare WdfWmiInstanceCreate.

Prima che il framework invii i dati dell'istanza fornita dal driver al client WMI, aggiunge tutte le informazioni di intestazione WMI necessarie ai dati.

Se il driver imposta il membro UseContextForQuery della struttura di WDF_WMI_INSTANCE_CONFIG dell'istanza WMI su TRUE per un blocco di dati di sola lettura, il driver non fornisce una funzione di callback EvtWmiInstanceQueryInstance .

Se il driver deve fornire dati stringa a un client WMI, il driver deve chiamare la funzione WDF_WMI_BUFFER_APPEND_STRING per formattare la stringa.

Per altre informazioni sulla funzione di callback EvtWmiInstanceQueryInstance , vedere Supporto di blocchi dati WMI di lettura/scrittura e supporto di blocchi di dati WMI Read-Only WMI.

Il framework non sincronizza le chiamate alle funzioni di callback degli eventi WMI di un driver con l'altra o con qualsiasi altra funzione di callback evento del driver. Se i dati della funzione di callback di EvtWmiInstance sono dinamici e condivisi con altre funzioni di callback, il driver può usare i blocchi di attesa o i blocchi di rotazione del framework per sincronizzare l'accesso ai dati.

Per altre informazioni su WMI, vedere Supporto di WMI nei driver di Framework-Based.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1,0
Intestazione wdfwmi.h (include Wdf.h)
IRQL PASSIVE_LEVEL

Vedi anche

EvtWmiInstanceExecuteMethod

EvtWmiInstanceSetInstance

EvtWmiInstanceSetItem

EvtWmiProviderFunctionControl

WDF_WMI_BUFFER_APPEND_STRING

WDF_WMI_INSTANCE_CONFIG

WdfWmiInstanceCreate