A question about SwapBuffers

Hi, everyone.
I have a question about MiniFilter Sample: SwapBuffers

In PreRead callback routine, the return value is FLT_PREOP_SUCCESS_WITH_CALLBACK
and in PostRead, it has a check:
if (!NT_SUCCESS(Data->IoStatus.Status) || (Data->IoStatus.Information == 0)) {
leave;
}
But if the status is STATUS_PENDING, which mean the read operation is not finished.
what will happened?
Should I return FLT_PREOP_SYNCHRONIZE in PreRead?

Sorry, My Mistake.
In PostRead, the Read Operation has been finished!