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에 정의된 오류 상태 값 중 하나를 반환해야 합니다.

설명

필터 드라이버는 작성해야 하는 데이터를 읽을 수 있습니다. 그러나 필터 드라이버는 크래시 덤프 프로세스에서 사용되는 코드 또는 데이터의 내용을 변경할 수 있으므로 버퍼에 쓸 수 없습니다. 또한 필터 드라이버는 데이터의 크기를 변경할 수 없습니다.

덤프 쓰기에 대한 데이터를 안전하게 수정하려면 필터 드라이버가 보조 버퍼를 할당해야 합니다. 버퍼의 크기는 PAGE_SIZE 곱한 FILTER_INITIALIZATION_DATA MaxPagesPerWrite 멤버의 값입니다. Mdl에서 설명하는 현재 버퍼의 데이터는 보조 버퍼에 복사되어 처리됩니다. 필터가 보조 버퍼의 덤프 데이터 처리를 완료하면 Mdl 이 가리키는 MDL 이 보조 버퍼의 주소로 업데이트됩니다. MDL에 설정된 보조 버퍼의 시작 주소는 페이지에 맞춰야 합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista 및 Windows Server 2008부터 사용할 수 있습니다.
대상 플랫폼 데스크톱
헤더 ntdddump.h(Ntdddump.h 포함)

참고 항목

Dump_Read

FILTER_EXTENSION

FILTER_INITIALIZATION_DATA