PpInitializeBootDDB

NTSTATUS __stdcall PpInitializeBootDDB(_LOADER_PARAMETER_BLOCK *LoaderBlock, UINT64 Phase){
  NTSTATUS result; 
  _LOADER_PARAMETER_EXTENSION *Extension; 
  VOID *DrvDBPatchImage; 

  if( (_DWORD)Phase )
    return 0;
  PpDDBHandle = 0i64;
  PpBootDDB = 0i64;
  PpDDBPatchHandle = 0i64;
  PpBootDDBPatch = 0i64;
  ExInitializeResourceLite((INT64)&PnpReplaceEvent + 5792);
  PiInitializeDDBCache();
  if( InitIsWinPEMode )
    return -1073741823;
  result = PpBootDDBHelper(LoaderBlock->Extension->DrvDBImage, LoaderBlock->Extension->DrvDBSize);
  if( result >= 0 )
  {
    Extension = LoaderBlock->Extension;
    DrvDBPatchImage = Extension->DrvDBPatchImage;
    if( DrvDBPatchImage )
      PpBootDDBHelper(DrvDBPatchImage, Extension->DrvDBPatchSize);
    PpBootDDBInitialized = 1;
    return 0;
  }
  return result;
}

Referenced by:

IopInitializePlugPlayServices