PSCSIWMI_SET_DATAITEM funzione di callback (scsiwmi.h)
La routine HwScsiWmiSetDataItem di un driver miniport viene chiamata per modificare un singolo elemento di dati in un'istanza di un blocco di dati. Questa routine è facoltativa.
Sintassi
PSCSIWMI_SET_DATAITEM PscsiwmiSetDataitem;
BOOLEAN PscsiwmiSetDataitem(
[in] PVOID DeviceContext,
[in] PSCSIWMI_REQUEST_CONTEXT RequestContext,
[in] ULONG GuidIndex,
[in] ULONG InstanceIndex,
[in] ULONG DataItemId,
[in] ULONG BufferSize,
[in] PUCHAR Buffer
)
{...}
Parametri
[in] DeviceContext
Punta al valore di contesto definito dal driver miniport passato a SCSIPortWmiDispatchFunction.
[in] RequestContext
Punta alla struttura SCSIWMI_REQUEST_CONTEXT che il driver miniport passato a SCSIPortWmiDispatchFunction.
[in] GuidIndex
Specifica il blocco di dati in base al relativo indice nell'elenco dei GUID nella struttura SCSI_WMILIB_CONTEXT che il driver miniport passato a SCSIPortWmiDispatchFunction.
[in] InstanceIndex
Se il blocco specificato da GuidIndex ha più istanze, InstanceIndex specifica l'istanza.
[in] DataItemId
Specifica l'ID dell'elemento di dati da impostare.
[in] BufferSize
Specifica le dimensioni in byte del buffer in Buffer.
[in] Buffer
Punta a un buffer contenente il nuovo valore per l'elemento di dati.
Valore restituito
HwScsiWmiSetDataItem restituisce SRB_STATUS_PENDING se la richiesta è in sospeso o un valore di stato SRB diverso da zero se la richiesta è stata completata. Il valore di stato SRB restituito da questa routine è uguale a quello passato a HwSCSIWmiSetDataItem. Anche se il tipo di dati del valore restituito è BOOLEAN, la routine HwSCSIWmiSetDataItem restituisce effettivamente un valore di stato SRB.
Commenti
Quando un driver miniport riceve una SRB in cui il membro funzione è impostato su SRB_FUNCTION_WMI, chiama SCSIPortWmiDispatchFunction con un puntatore a una struttura di SCSI_WMILIB_CONTEXT inizializzata e MinorFunction impostata su Srb-WmiSubFunction>. Il driver di porta SCSI chiama la routine HwSCSIWmiSetDataItem del driver miniport se MinorFunction indica una richiesta di modifica di un elemento in un'istanza di un blocco di dati.
Se un driver miniport non implementa una routine HwSCSIWmiSetDataItem , deve impostare SetWmiDataItem su NULL nel SCSI_WMILIB_CONTEXT il driver miniport passa a SCSIPortWmiDispatchFunction. In questa circostanza, il driver della porta restituirà SRB_STATUS_ERROR al chiamante.
Se la richiesta non viene pennata, il driver miniport deve chiamare SCSIPortWmiPostProcess nel callback HwSCSIWmiSetDataItem . In caso contrario, il driver miniport deve chiamare SCSIPortWmiPostProcess al termine della richiesta. Il driver miniport deve chiamare SCSIPortWmiPostProcess con il valore SrbStatus appropriato.
Se l'elemento è di sola lettura, il driver miniport chiama SCSIPortWmiPostProcess con SRB_STATUS_ERROR. In caso contrario, il driver miniport modifica l'elemento e chiama SCSIPortWmiPostProcess con SRB_STATUS_SUCCESS.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | SCSIwmi.h (include SCSIwmi.h) |