Freigeben über


PSCSIWMI_SET_DATAITEM Rückruffunktion (scsiwmi.h)

Die HwScsiWmiSetDataItem Routine eines Miniporttreibers wird aufgerufen, um ein einzelnes Datenelement in einer Instanz eines Datenblocks zu ändern. Diese Routine ist optional.

Hinweis Der SCSI-Porttreiber und die SCSI-Miniporttreibermodelle können in Zukunft geändert oder nicht mehr verfügbar sein. Stattdessen empfehlen wir die Verwendung des Storport-Treibers und Storport Miniport Treibermodelle.
 

Syntax

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
)
{...}

Parameter

[in] DeviceContext

Verweist auf den miniport treiberdefinierten Kontextwert, der an ScsiPortWmiDispatchFunctionübergeben wird.

[in] RequestContext

Verweist auf die SCSIWMI_REQUEST_CONTEXT Struktur, die der Miniporttreiber an ScsiPortWmiDispatchFunctionübergeben hat.

[in] GuidIndex

Gibt den Datenblock anhand seines Indexes in der Liste der GUIDs in der SCSI_WMILIB_CONTEXT Struktur an, die der Miniporttreiber an ScsiPortWmiDispatchFunctionübergeben hat.

[in] InstanceIndex

Wenn der durch GuidIndex- angegebene Block mehrere Instanzen aufweist, gibt InstanceIndex- die Instanz an.

[in] DataItemId

Gibt die ID des festzulegenden Datenelements an.

[in] BufferSize

Gibt die Größe in Byte des Puffers bei Puffer-an.

[in] Buffer

Verweist auf einen Puffer, der den neuen Wert für das Datenelement enthält.

Rückgabewert

HwScsiWmiSetDataItem- gibt SRB_STATUS_PENDING zurück, wenn die Anforderung aussteht, oder einen Nichtzero-SRB-Statuswert, wenn die Anforderung abgeschlossen wurde. Der von dieser Routine zurückgegebene SRB-Statuswert entspricht dem, was an HwScsiWmiSetDataItem-übergeben wurde. Obwohl der Rückgabewert-Datentyp BOOLEAN ist, gibt die HwScsiWmiSetDataItem- Routine tatsächlich einen SRB-Statuswert zurück.

Bemerkungen

Wenn ein Miniporttreiber einen SRB empfängt, in dem das Function Member auf SRB_FUNCTION_WMI festgelegt ist, ruft er ScsiPortWmiDispatchFunction mit einem Zeiger auf eine initialisierte SCSI_WMILIB_CONTEXT Struktur auf und MinorFunction auf Srb->WmiSubFunctionfestgelegt. Der SCSI-Porttreiber ruft die HwScsiWmiSetDataItem Routine des Miniporttreibers auf, wenn MinorFunction- eine Anforderung angibt, ein Element in einer Instanz eines Datenblocks zu ändern.

Wenn ein Miniporttreiber keine HwScsiWmiSetDataItem- Routine implementiert, muss SetWmiDataItem- auf NULL- im SCSI_WMILIB_CONTEXT der Miniporttreiber an ScsiPortWmiDispatchFunctionfestgelegt werden. In diesem Fall gibt der Porttreiber SRB_STATUS_ERROR an den Anrufer zurück.

Wenn die Anforderung nicht eingestiftet wird, sollte der Miniporttreiber ScsiPortWmiPostProcess- in seinem HwScsiWmiSetDataItem- Rückruf aufrufen. Andernfalls sollte der Miniporttreiber ScsiPortWmiPostProcess aufrufen, wenn die Anforderung tatsächlich abgeschlossen ist. Der Miniporttreiber sollte ScsiPortWmiPostProcess- mit dem entsprechenden SrbStatus--Wert aufrufen.

Wenn das Element schreibgeschützt ist, ruft der Miniporttreiber ScsiPortWmiPostProcess- mit SRB_STATUS_ERROR auf. Andernfalls ändert der Miniporttreiber das Element und ruft ScsiPortWmiPostProcess- mit SRB_STATUS_SUCCESS auf.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- scsiwmi.h (include Scsiwmi.h)

Siehe auch

SCSI_WMILIB_CONTEXT

ScsiPortWmiDispatchFunction-

ScsiPortWmiPostProcess-