ScsiPortWmiFireLogicalUnitEvent 関数 (scsiwmi.h)
ScsiPortWmiFireLogicalUnitEvent ルーチンは、イベントの通知を要求した WMI データ コンシューマーに配信するために、論理ユニットに関連付けられているイベントをポート ドライバーに送信します。
構文
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バイトである必要があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | scsiwmi.h (Miniport.h、Scsi.h を含む) |
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示