PSCSIWMI_SET_DATABLOCK funzione di callback (scsiwmi.h)
Viene chiamata la routine HwScsiWmiSetDataBlock di un driver miniport per modificare tutti gli elementi di dati in una singola istanza di un blocco di dati. Questa routine è facoltativa.
Sintassi
PSCSIWMI_SET_DATABLOCK PscsiwmiSetDatablock;
BOOLEAN PscsiwmiSetDatablock(
[in] PVOID DeviceContext,
[in] PSCSIWMI_REQUEST_CONTEXT RequestContext,
[in] ULONG GuidIndex,
[in] ULONG InstanceIndex,
[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 passata dal driver miniport a ScsiPortWmiDispatchFunction.
[in] GuidIndex
Specifica il blocco di dati in base al relativo indice nell'elenco di 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] BufferSize
Specifica le dimensioni in byte del buffer in Buffer.
[in] Buffer
Punta a un buffer che contiene nuovi valori per l'istanza di .
Valore restituito
HwScsiWmiSetDataBlock 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 corrisponde a quello passato a ScsiPortWmiPostProcess.
Commenti
Quando un driver miniport riceve un SRB in cui il membro Function è impostato su SRB_FUNCTION_WMI, chiama ScsiPortWmiDispatchFunction con un puntatore a una struttura SCSI_WMILIB_CONTEXT inizializzata e MinorFunction impostato su Srb-WmiSubFunction>. Il driver di porta SCSI chiama la routine HwScsiWmiSetDataBlock del driver miniport se MinorFunction indica una richiesta di modifica di un'istanza di un blocco di dati.
Se un driver miniport non implementa una routine HwScsiWmiSetDataBlock , deve impostare SetWmiDataBlock su NULL nel SCSI_WMILIB_CONTEXT il driver miniport passa a ScsiPortWmiDispatchFunction. In questo caso, il driver della porta restituisce SRB_STATUS_ERROR al chiamante.
Se il driver miniport implementa HwScsiWmiSetDataBlock , deve modificare l'istanza del blocco di dati in base ai nuovi valori dal buffer.
Se tutti gli elementi nel blocco dati sono di sola lettura, il driver miniport deve restituire SRB_STATUS_ERROR. In caso contrario, il driver miniport modifica gli elementi che può e restituisce SRB_STATUS_SUCCESS.
Il driver miniport deve chiamare ScsiPortWmiPostProcess con un valore SrbStatus appropriato al termine della richiesta. Se la richiesta non viene eseguita tramite penna, è necessario chiamare ScsiPortWmiPostProcess nel callback HwScsiWmiSetDataBlock . In caso contrario, è necessario chiamare ScsiPortWmiPostProcess al termine della richiesta.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | scsiwmi.h (include Scsiwmi.h) |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per