PSCSIWMI_SET_DATAITEM fungsi panggilan balik (scsiwmi.h)

Rutinitas HwScsiWmiSetDataItem driver miniport dipanggil untuk mengubah satu item data dalam instans blok data. Rutinitas ini bersifat opsional.

Catatan Driver port SCSI dan model driver miniport SCSI dapat diubah atau tidak tersedia di masa mendatang. Sebagai gantinya, sebaiknya gunakan driver Storport dan model driver miniport Storport .
 

Sintaks

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

Menunjuk ke nilai konteks miniport yang ditentukan driver yang diteruskan ke ScsiPortWmiDispatchFunction.

[in] RequestContext

Menunjuk ke struktur SCSIWMI_REQUEST_CONTEXT yang diteruskan driver miniport ke ScsiPortWmiDispatchFunction.

[in] GuidIndex

Menentukan blok data menurut indeksnya ke dalam daftar GUID dalam struktur SCSI_WMILIB_CONTEXT yang diteruskan driver miniport ke ScsiPortWmiDispatchFunction.

[in] InstanceIndex

Jika blok yang ditentukan oleh GuidIndex memiliki beberapa instans, InstanceIndex menentukan instans.

[in] DataItemId

Menentukan ID item data yang akan diatur.

[in] BufferSize

Menentukan ukuran dalam byte buffer di Buffer.

[in] Buffer

Menunjuk ke buffer yang berisi nilai baru untuk item data.

Nilai kembali

HwScsiWmiSetDataItem mengembalikan SRB_STATUS_PENDING jika permintaan tertunda, atau nilai status SRB bukan nol jika permintaan selesai. Nilai status SRB yang dikembalikan oleh rutinitas ini sama dengan apa yang diteruskan ke HwScsiWmiSetDataItem. Meskipun jenis data nilai yang dikembalikan adalah BOOLEAN, rutinitas HwScsiWmiSetDataItem benar-benar mengembalikan nilai status SRB.

Keterangan

Ketika driver miniport menerima SRB di mana anggota Fungsi diatur ke SRB_FUNCTION_WMI, ia memanggil ScsiPortWmiDispatchFunction dengan pointer ke struktur SCSI_WMILIB_CONTEXT yang diinisialisasi dan MinorFunction diatur ke Srb-WmiSubFunction>. Driver port SCSI memanggil rutinitas HwScsiWmiSetDataItem driver miniport jika MinorFunction menunjukkan permintaan untuk mengubah item dalam instans blok data.

Jika driver miniport tidak menerapkan rutinitas HwScsiWmiSetDataItem , driver miniport harus mengatur SetWmiDataItem ke NULL di SCSI_WMILIB_CONTEXT driver miniport lolos ke ScsiPortWmiDispatchFunction. Dalam keadaan ini, driver port akan mengembalikan SRB_STATUS_ERROR ke pemanggil.

Jika permintaan tidak tertunda, driver miniport harus memanggil ScsiPortWmiPostProcess dalam panggilan balik HwScsiWmiSetDataItem . Jika tidak, driver miniport harus memanggil ScsiPortWmiPostProcess ketika permintaan benar-benar selesai. Driver miniport harus memanggil ScsiPortWmiPostProcess dengan nilai SrbStatus yang sesuai.

Jika item bersifat baca-saja, driver miniport memanggil ScsiPortWmiPostProcess dengan SRB_STATUS_ERROR. Jika tidak, driver miniport mengubah item dan memanggil ScsiPortWmiPostProcess dengan SRB_STATUS_SUCCESS.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header scsiwmi.h (termasuk Scsiwmi.h)

Lihat juga

SCSI_WMILIB_CONTEXT

ScsiPortWmiDispatchFunction

ScsiPortWmiPostProcess