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バイト長にする必要があります。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | scsiwmi.h (ミニポート h、Scsi.h を含む) |
関連項目
HwScsiWmiFunctionControl の