次の方法で共有


DUMP_WRITE コールバック関数 (ntdddump.h)

Dump_Writeコールバック ルーチンは、ダンプ ポート ドライバーへの書き込みの前に呼び出されます。 フィルター ドライバーは、現時点でダンプ データにアクセスできます。

構文

DUMP_WRITE DumpWrite;

NTSTATUS DumpWrite(
  [in]      PFILTER_EXTENSION FilterExtension,
  [in, out] PLARGE_INTEGER DiskByteOffset,
  [in, out] PMDL Mdl
)
{...}

パラメーター

[in] FilterExtension

FILTER_EXTENSION構造体へのポインター。

[in, out] DiskByteOffset

クラッシュ ダンプまたは休止状態の宛先パーティションに対する相対値 (バイト単位)。 フィルター ドライバーでは、このフィールドを変更しないでください。

[in, out] Mdl

データ バッファーを記述する MDL 構造体へのポインター。 MDL が変更された場合、書き込み操作のサイズは変更できません。

戻り値

ルーチンが成功した場合は、STATUS_SUCCESSを返す必要があります。 それ以外の場合は、 Ntstatus.h で定義されているエラー状態値のいずれかを返す必要があります。

注釈

フィルター ドライバーは、書き込む必要があるデータを読み取ることができます。 ただし、フィルター ドライバーはバッファーに書き込めません。これにより、クラッシュ ダンプ プロセスで使用されているコードまたはデータの内容が変更される可能性があります。 また、フィルター ドライバーでは、データのサイズを変更することはできません。

ダンプ書き込みのデータを安全に変更するには、フィルター ドライバーでセカンダリ バッファーを割り当てる必要があります。 バッファーのサイズは、FILTER_INITIALIZATION_DATAの MaxPagesPerWrite メンバーの値PAGE_SIZE乗算されます。 Mdl によって記述された現在のバッファーのデータがセカンダリ バッファーにコピーされ、処理されます。 フィルターがセカンダリ バッファー内のダンプ データの処理を完了すると、 Mdl が指す MDL がセカンダリ バッファーのアドレスで更新されます。 MDL 内のセカンダリ バッファー セットの開始アドレスは、ページアラインされている必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista および Windows Server 2008 以降で使用できます。
対象プラットフォーム デスクトップ
Header ntdddump.h (Ntdddump.h を含む)

こちらもご覧ください

Dump_Read

FILTER_EXTENSION

FILTER_INITIALIZATION_DATA