次の方法で共有


ScsiPortWmiFireLogicalUnitEvent 関数 (scsiwmi.h)

ScsiPortWmiFireLogicalUnitEvent ルーチンは、イベントの通知を要求した WMI データ コンシューマーに配信するために、論理ユニットに関連付けられたイベントをポート ドライバーに送信します。

SCSI ポート ドライバーと SCSI ミニポート ドライバー モデルは、今後変更されたり使用できなくなったりする可能性があります。 代わりに、Storport ドライバー を使用し、Storport ミニポート ドライバー モデル することをお勧めします。
 

構文

void ScsiPortWmiFireLogicalUnitEvent(
  [in] PVOID  HwDeviceExtension,
  [in] UCHAR  PathId,
  [in] UCHAR  TargetId,
  [in] UCHAR  Lun,
  [in] LPGUID Guid,
  [in] ULONG  InstanceIndex,
  [in] ULONG  EventDataSize,
  [in] PVOID  EventData
);

パラメーター

[in] HwDeviceExtension

ハードウェア デバイス拡張機能へのポインター。 これは、ポート ドライバーが割り当て、ミニポート ドライバーの代わりに初期化する HBA ごとの記憶域です。 ミニポート ドライバーは通常、HBA の状態や HBA のマップされたアクセス範囲など、この拡張機能に HBA 固有の情報を格納します。 この領域は、ミニポート ドライバーが ScsiPortInitialize 呼び出した直後に、HBA のデバイス オブジェクトの メンバーである DeviceExtension->HwDeviceExtension 内のミニポート ドライバーで使用できます。 ポート ドライバーは、デバイスを削除すると、このメモリを解放します。

[in] PathId

SCSI バスを識別します。SP_UNTAGGEDは、HBA によって制御されるすべてのバスを示します。

[in] TargetId

指定されたバス上のターゲット コントローラーまたはデバイスを識別します。SP_UNTAGGEDは、バス上のすべてのターゲットを示します。

[in] Lun

指定されたターゲット コントローラーまたはデバイスの論理ユニットを識別します。SP_UNTAGGEDは、指定されたバス上の特定のターゲット コントローラーのすべての論理ユニットを示します。

[in] Guid

イベント ブロックを表す GUID へのポインター。

[in] InstanceIndex

イベント ブロックに複数のインスタンスがある場合は、インスタンスのインデックスを指定します。

[in] EventDataSize

EventData データのバイト数を指定します。イベント データ バッファーの先頭のパッド バイトは含まれません。 イベントのデータが生成されない場合は、EventDataSize 0 に設定する必要があります。

[in] EventData

イベントのミニポート ドライバーによって生成されたデータを含むミニポート ドライバーによって割り当てられたバッファーへのポインター。 バッファーは、少なくともイベント データのサイズとバッファーの先頭0x40パッド バイトである必要があります。

戻り値

何一つ

備考

ミニポート ドライバー ScsiPortWmiFireLogicalUnitEvent を呼び出して、アダプターまたは論理ユニットに関連付けられたイベントを、イベントの通知を要求したすべてのデータ コンシューマーに送信します。

ミニポート ドライバーは、ミニポート ドライバーの HwScsiWmiFunctionControl ルーチンによって以前に有効にされている場合にのみ、イベントを送信します。

ドライバーは、オフセット 0x40で EventData 指すバッファーにイベント データを書き込む必要があります。 最初の0x40バイトは SCSI WMI によって使用されます。 イベントでデータが返されない場合は、EventData 0x40バイト長にする必要があります。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー scsiwmi.h (ミニポート h、Scsi.h を含む)

関連項目

HwScsiWmiFunctionControl