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.

Nota I modelli di driver di porta SCSI e miniport SCSI possono essere modificati o non disponibili in futuro. È invece consigliabile usare i modelli di driver Storport e Miniport Storport.
 

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)

Vedi anche

SCSI_WMILIB_CONTEXT

SCSIPortWmiDispatchFunction

SCSIPortWmiPostProcess