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_DATAMaxPagesPerWrite 멤버의 값입니다. Mdl 설명한 현재 버퍼에 대한 데이터는 보조 버퍼에 복사되고 처리됩니다. 필터가 보조 버퍼의 덤프 데이터 처리를 완료하면 Mdl 가리키는 MDL 보조 버퍼의 주소로 업데이트됩니다. MDL 설정된 보조 버퍼의 시작 주소는 페이지 정렬되어야 합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista 및 Windows Server 2008부터 사용할 수 있습니다. |
대상 플랫폼 | 바탕 화면 |
헤더 | ntdddump.h(Ntdddump.h 포함) |