MINIPORT_DUMP_POINTERS構造体 (storport.h)
Storport ミニポート ドライバーは、この構造体を使用して 、SCSI_REQUEST_BLOCK (SRB) 関数コード SRB_FUNCTION_DUMP_POINTERSをサポートします。 ミニポート ドライバーがこの種類の SRB を受信すると、 DataBuffer SRB メンバーは 、MINIPORT_DUMP_POINTERS 構造体を指します。 この SRB は、ミニポート ドライバーの HwStorInitialize ルーチンから SRB が返された後、クラッシュ ダンプ データを保持するディスクを制御するために使用されるミニポート ドライバーに送信されます。 SRB_FUNCTION_DUMP_POINTERSをサポートするには、仮想ミニポート ドライバーが必要です。
構文
typedef struct _MINIPORT_DUMP_POINTERS {
USHORT Version;
USHORT Size;
WCHAR DriverName[DUMP_MINIPORT_NAME_LENGTH];
struct _ADAPTER_OBJECT *AdapterObject;
PVOID MappedRegisterBase;
ULONG CommonBufferSize;
PVOID MiniportPrivateDumpData;
ULONG SystemIoBusNumber;
INTERFACE_TYPE AdapterInterfaceType;
ULONG MaximumTransferLength;
ULONG NumberOfPhysicalBreaks;
ULONG AlignmentMask;
ULONG NumberOfAccessRanges;
ACCESS_RANGE( ) *AccessRanges[];
UCHAR NumberOfBuses;
BOOLEAN Master;
BOOLEAN MapBuffers;
UCHAR MaximumNumberOfTargets;
} MINIPORT_DUMP_POINTERS, *PMINIPORT_DUMP_POINTERS;
メンバー
Version
[DUMP_MINIPORT_VERSION_1] に設定します。
Size
sizeof(MINIPORT_DUMP_POINTERS) に設定します。
DriverName[DUMP_MINIPORT_NAME_LENGTH]
パス情報のないミニポート ドライバーのワイド文字名 (たとえば、Miniport.sys)。
AdapterObject
NULL に設定します。
MappedRegisterBase
0 に設定します。
CommonBufferSize
必要な共通バッファーのサイズ。 サイズは 64 KB (65,536 バイト) を超えてはなりません。
MiniportPrivateDumpData
クラッシュ ダンプ中にミニポート ドライバーの HwStorFindAdapter ルーチンに渡されるコンテキスト。 コンテキストは予約済みメンバーで渡されるか、Windows 8以降では、PORT_CONFIGURATION_INFORMATION構造体の MiniportDumpData メンバーが渡されます。
SystemIoBusNumber
HBA が接続されている I/O バスのシステム割り当て番号を指定します。 Storport ドライバーは、このメンバーを初期化します。 Storport ドライバーで動作するミニポート ドライバーは、このメンバーを変更しないでください。 詳細については、PORT_CONFIGURATION_INFORMATION の SystemIoBusNumber メンバーを参照してください。
AdapterInterfaceType
I/O バス インターフェイスを識別します。 Storport ドライバーは、このメンバーを初期化します。 Storport ドライバーで動作するミニポート ドライバーは、このメンバーを変更しないでください。 詳細については、PORT_CONFIGURATION_INFORMATION の AdapterInterfaceType メンバーを参照してください。
MaximumTransferLength
1 回の転送操作で HBA がクラッシュダンプ モードで転送できる最大バイト数を指定します。 既定では、このメンバーの値はSP_UNINITIALIZED_VALUEです。これは、無制限の最大転送サイズを示します。 この値はミニポートのダンプ操作に固有であり、PORT_CONFIGURATION_INFORMATIONの MaximumTransferLength メンバーの値とは異なる場合があります。
NumberOfPhysicalBreaks
データ バッファーでスキャッター/ギャザー リストを作成するために必要なアドレス範囲間の区切りの最大数を指定します。 つまり、アダプターでサポートできる散布/収集リスト エントリの数から 1 を引いた値です。 詳細については、PORT_CONFIGURATION_INFORMATIONの NumberOfPhysicalBreaks メンバーを参照してください。
AlignmentMask
転送操作に HBA で必要なバッファーのアラインメント制限を示すマスクが含まれます。 有効なマスク値は、Microsoft Windows オペレーティング システムのさまざまなバージョンのメモリ マネージャーの特性によっても制限されます。 有効なマスク値は、0 (バイトアライン)、0x1 (ワードアライン)、0x3 (DWORD アライン)、および0x7 (二重 DWORD アライン) です。 ミニポート ドライバーは、HBA が散布/収集をサポートしている場合、このマスクを設定する必要があります。 PORT_CONFIGURATION_INFORMATION の AlignmentMask メンバーにも同じ考慮事項 が適用されます。
NumberOfAccessRanges
配列内の AccessRanges 要素の 数を指定します。 詳細については、PORT_CONFIGURATION_INFORMATIONの NumberOfAccessRanges メンバーを参照してください。
AccessRanges
ACCESS_RANGE型要素の配列へのポインター。 Storport ドライバーは、このメンバーを初期化します。 Storport ドライバーで動作するミニポート ドライバーは、このメンバーを変更しないでください。 詳細については、PORT_CONFIGURATION_INFORMATIONの AccessRanges メンバーを参照してください。
NumberOfBuses
アダプターによって制御されるバスの数を指定します。 既定では、このメンバーの値は 0 です。 詳細については、PORT_CONFIGURATION_INFORMATIONの NumberOfBuses メンバーを参照してください。
Master
TRUE の場合、HBA がバス マスターであることを示します。 Storport ドライバーは、ミニポート ドライバーがバス マスタリング DMA をサポートする必要があるため、このメンバーを TRUE に初期化します。 Storport ドライバーで動作するミニポート ドライバーは、この値を変更しないでください。 詳細については、PORT_CONFIGURATION_INFORMATIONの Master メンバーに 関するページを参照してください。
MapBuffers
Storport ドライバーが SRB データ バッファー アドレスをシステム仮想アドレスにマップするかどうかを示します。 詳細については、HW_INITIALIZATION_DATAの MapBuffers メンバーを参照してください。
MaximumNumberOfTargets
アダプターが制御できるターゲット周辺機器の数を指定します。 詳細については、PORT_CONFIGURATION_INFORMATIONの MaximumNumberOfTargets メンバーを参照してください。
注釈
Windows 8以降、物理 minport ドライバーは必要に応じてSRB_FUNCTION_DUMP_POINTERSをサポートできます。 物理ミニポートがこの関数をサポートしている場合は、StorPortInitialize を呼び出す前に、HW_INITIALIZATION_DATA構造体の FeatureSupport メンバーでSTOR_FEATURE_DUMP_POINTERS フラグを設定する必要があります。 MINIPORT_DUMP_POINTERSの Version メンバーと Size メンバーを少なくとも設定するには、物理ミニポート が必要です。 また、 PORT_CONFIGURATION_INFORMATIONで指定された値と異なる場合は、物理ミニポートに MaximumTransferLength メンバーが必要です。
要件
要件 | 値 |
---|---|
Header | storport.h (Storport.h を含む) |