英語で読む

次の方法で共有


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をサポートするには、仮想ミニポート ドライバーが必要です。

構文

C++
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 構造体の ミニポート ダンプData メンバーで渡されます。

SystemIoBusNumber

HBA が接続されている I/O バスのシステム割り当て番号を指定します。 Storport ドライバーは、このメンバーを初期化します。 Storport ドライバーで動作するミニポート ドライバーは、このメンバーを変更しないでください。 詳細については、PORT_CONFIGURATION_INFORMATIONSystemIoBusNumber メンバーを参照してください。

AdapterInterfaceType

I/O バス インターフェイスを識別します。 Storport ドライバーは、このメンバーを初期化します。 Storport ドライバーで動作するミニポート ドライバーは、このメンバーを変更しないでください。 詳細については、PORT_CONFIGURATION_INFORMATIONAdapterInterfaceType メンバーを参照してください。

MaximumTransferLength

HBA がクラッシュダンプ モードで 1 回の転送操作で転送できる最大バイト数を指定します。 既定では、このメンバーの値は SP_UNINITIALIZED_VALUE であり、転送の最大サイズは無制限であることを示します。 この値はミニポートのダンプ操作に固有であり、PORT_CONFIGURATION_INFORMATIONMaximumTransferLength メンバーの値とは異なる場合があります。

NumberOfPhysicalBreaks

データ バッファーが散布図/収集リストを作成するために必要なアドレス範囲間の区切りの最大数を指定します。 つまり、アダプターがサポートできる散布図/収集リスト エントリの数から 1 を引いた値です。 詳細については、PORT_CONFIGURATION_INFORMATIONNumberOfPhysicalBreaks メンバーを参照してください。

AlignmentMask

転送操作に HBA で必要なバッファーのアラインメント制限を示すマスクが含まれています。 有効なマスク値は、Microsoft Windows オペレーティング システムのさまざまなバージョンのメモリ マネージャーの特性によっても制限されます。 有効なマスク値は、0 (バイトアライン)、0x1 (ワードアライン)、0x3 (DWORD アライン)、および0x7 (二重 DWORD アライン) です。 ミニポート ドライバーは、HBA が散布図/収集をサポートしている場合は、このマスクを設定する必要があります。 PORT_CONFIGURATION_INFORMATIONAlignmentMask メンバーにも同じ考慮事項が適用されます。

NumberOfAccessRanges

配列内の AccessRanges 要素の数を指定します。 詳細については、PORT_CONFIGURATION_INFORMATIONNumberOfAccessRanges メンバーを参照してください。

AccessRanges

ACCESS_RANGE型要素の配列へのポインター。 Storport ドライバーは、このメンバーを初期化します。 Storport ドライバーで動作するミニポート ドライバーは、このメンバーを変更しないでください。 詳細については、PORT_CONFIGURATION_INFORMATIONAccessRanges メンバーを参照してください。

NumberOfBuses

アダプターによって制御されるバスの数を指定します。 既定では、このメンバーの値は 0 です。 詳細については、PORT_CONFIGURATION_INFORMATIONNumberOfBuses メンバーを参照してください。

Master

TRUE 場合、HBA がバス マスターであることを示します。 Storport ドライバーは、ミニポート ドライバーがバス マスター DMA をサポートする必要があるため、TRUE このメンバーを初期化します。 Storport ドライバーで動作するミニポート ドライバーは、この値を変更しないでください。 詳細については、PORT_CONFIGURATION_INFORMATIONMaster メンバーを参照してください。

MapBuffers

Storport ドライバーが SRB データ バッファー アドレスをシステム仮想アドレスにマップするかどうかを示します。 詳細については、MapBuffersHW_INITIALIZATION_DATAのメンバーを参照してください。

MaximumNumberOfTargets

アダプターが制御できるターゲット周辺機器の数を指定します。 詳細については、PORT_CONFIGURATION_INFORMATIONMaximumNumberOfTargets メンバーを参照してください。

備考

Windows 8 以降では、物理ミニポート ドライバーは必要に応じてSRB_FUNCTION_DUMP_POINTERSをサポートできます。 物理ミニポートがこの関数をサポートしている場合は、StorPortInitializeを呼び出す前に、HW_INITIALIZATION_DATA 構造体の FeatureSupport メンバーにSTOR_FEATURE_DUMP_POINTERS フラグ設定する必要があります。 物理ミニポートは、少なくとも バージョンサイズMINIPORT_DUMP_POINTERSメンバーを設定する必要があります。 また、PORT_CONFIGURATION_INFORMATIONで指定された値と異なる場合は、MaximumTransferLength メンバーが物理ミニポートに必要です。

必要条件

要件 価値
ヘッダー storport.h (Storport.h を含む)

関連項目

HW_INITIALIZATION_DATA

HwStorInitialize

PORT_CONFIGURATION_INFORMATION

SCSI_REQUEST_BLOCK