PMDL
PopSplitMdl(
  IN  PMDL Original,
  IN  ULONG SplitPages
  );

Routine Description:

    Splits a new MDL of length SplitPages out from the original MDL.
    This is needed so that when we have an enormous MDL of spare pages
    we do not have to map the whole thing, just the part we need.

Arguments:

    Original - supplies the original MDL. The length of this MDL will
               be decreated by SplitPages

    SplitPages - supplies the length (in pages) of the new MDL.

Return Value:

    pointer to newly allocated MDL
    NULL if a new MDL could not be allocated