StorPortLogSystemEvent 関数 (storport.h)
StorPortLogSystemEvent ルーチンは、ミニポート ドライバーに Windows カーネル イベント機能の機能へのフル アクセスを提供し、ミニポート ドライバーがストレージの問題のトラブルシューティングに本当に役立つイベント ログ エントリを作成できるようにします。 既存のミニポート ドライバー イベント ログ関数 StorPortLogError に代わる優れた代替手段が提供されます。
構文
ULONG StorPortLogSystemEvent(
[in] PVOID HwDeviceExtension,
[in, out] PSTOR_LOG_EVENT_DETAILS LogDetails,
[in, out] PULONG MaximumSize
);
パラメーター
[in] HwDeviceExtension
ハードウェア デバイス拡張機能へのポインター。 これは、ポート ドライバーがミニポート ドライバーの代わりに割り当てて初期化する HBA 記憶域ごとの です。 ミニポート ドライバーは通常、HBA の状態や HBA のマップされたアクセス範囲など、この拡張機能に HBA 固有の情報を格納します。 この領域は、ミニポート ドライバーが StorPortInitialize を呼び出した直後にミニポートで使用できます。 ポート ドライバーは、デバイスを削除すると、このメモリを解放します。
[in, out] LogDetails
システム イベント ログ エントリに表示される情報を含むSTOR_LOG_EVENT_DETAILS構造体。
[in, out] MaximumSize
ミニポートのダンプ データと文字列の最大結合サイズを受け取る変数。 関数が失敗し、STOR_STATUS_INVALID_BUFFER_SIZE値を返す場合にのみ返されます。 このパラメーターは省略できます。
戻り値
リターン コード | 説明 |
---|---|
|
この関数は、アクティブなオペレーティング システムには実装されません。 |
|
無効なパラメーターが渡されました。 |
|
呼び出しは IRQL > DISPATCH_LEVEL で行われました。 |
|
要求を完了するためのシステム リソースが不足していました。 |
|
STOR_LOG_EVENT_DETAILS構造体のサポートされていない (たとえば、より新しい) バージョンが指定されました。 これが返されると、LogDetails->InterfaceRevision はサポートされている最新バージョンに設定されます。 |
|
関数に渡されたバッファーが大きすぎます。 この値が返されると、MaximumSize はミニポートのダンプ データと文字列の最大結合サイズに設定されます。 |
|
ログ操作が正常に完了しました。 |
注釈
カスタム エラー コードを使用して最適な利点を得る方法については、「 Storport エラー ログ拡張機能」を参照してください。 StorPortLogSystemEvent ルーチンは IRQL <= DISPATCH_LEVELで呼び出す必要があります。 このビルドでサポートされているバージョンよりも新しいバージョンのSTOR_LOG_EVENT_DETAILSを渡すと、この関数は InterfaceRevision フィールドをサポートされている最新バージョンに変更し、STOR_STATUS_UNSUPPORTED_VERSIONを返します。 STOR_LOG_EVENT_DETAILS の InterfaceRevision フィールドは 32 ビット値です。 ただし、検証には 3 つの最も重要なバイトのみが使用されます。 下位バイトは、特定のバージョンの互換性のあるマイナー バリエーションを区別するために予約されています。 たとえば、リビジョン 0x00000101構造体は、インターフェイスのリビジョン 0x00000100を実装する Storport と互換性がありますが、マイナーで重要でない機能が失われる可能性があります。 ダンプ データの合計サイズと、許容されるイベント ログエントリの最大サイズを超える文字列を指定した場合、MaximumSize が指す整数はミニポート ダンプ データと文字列の最大許容サイズに設定され、STOR_INVALID_BUFFER_SIZEが返されます。 この関数はパス、ターゲット、および LUN アドレス指定子の ULONG 値を受け取りますが、Storport は内部的にこれらの指定子に対して 8 ビット値のみをサポートするため、値は UCHAR 値に切り捨てられます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | storport.h (Storport.h を含む) |
DDI コンプライアンス規則 | StorPortIrql(storport) |