Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

164 lines
3.2 KiB

  1. /*++
  2. Copyright (c) 1993 Microsoft Corporation
  3. Module Name:
  4. spsysprp.h
  5. Abstract:
  6. Public header file for setup of sys prep images
  7. Author:
  8. Sean Selitrennikoff (v-seasel) 16-Jun-1998
  9. Revision History:
  10. --*/
  11. #ifndef _SPSYSPREP_DEFN_
  12. #define _SPSYSPREP_DEFN_
  13. #include <remboot.h>
  14. #include <oscpkt.h>
  15. extern NET_CARD_INFO RemoteSysPrepNetCardInfo;
  16. typedef struct _MIRROR_VOLUME_INFO_MEMORY {
  17. WCHAR DriveLetter;
  18. UCHAR PartitionType;
  19. BOOLEAN PartitionActive;
  20. BOOLEAN IsBootDisk;
  21. BOOLEAN CompressedVolume;
  22. ULONG DiskNumber;
  23. ULONG PartitionNumber;
  24. ULONG DiskSignature;
  25. ULONG BlockSize;
  26. ULONG LastUSNMirrored;
  27. ULONG FileSystemFlags;
  28. WCHAR FileSystemName[16];
  29. PWCHAR VolumeLabel;
  30. PWCHAR OriginalArcName;
  31. LARGE_INTEGER DiskSpaceUsed;
  32. LARGE_INTEGER StartingOffset;
  33. LARGE_INTEGER PartitionSize;
  34. PDISK_REGION CreatedRegion;
  35. } MIRROR_VOLUME_INFO_MEMORY, *PMIRROR_VOLUME_INFO_MEMORY;
  36. typedef struct _MIRROR_CFG_INFO_MEMORY {
  37. ULONG NumberVolumes;
  38. MIRROR_VOLUME_INFO_MEMORY Volumes[1];
  39. } MIRROR_CFG_INFO_MEMORY, *PMIRROR_CFG_INFO_MEMORY;
  40. extern PUCHAR RemoteIMirrorFilePath;
  41. VOID
  42. SpInstallSysPrepImage(
  43. IN HANDLE SetupSifHandle,
  44. IN HANDLE WinntSifHandle,
  45. IN PMIRROR_CFG_INFO_FILE pFileData,
  46. IN PMIRROR_CFG_INFO_MEMORY pMemoryData
  47. );
  48. NTSTATUS
  49. SpFixupThirdPartyComponents(
  50. IN PVOID SifHandle,
  51. IN PWSTR ThirdPartySourceDevicePath,
  52. IN PDISK_REGION NtPartitionRegion,
  53. IN PWSTR Sysroot,
  54. IN PDISK_REGION SystemPartitionRegion,
  55. IN PWSTR SystemPartitionDirectory
  56. );
  57. BOOLEAN
  58. SpReadIMirrorFile(
  59. OUT PMIRROR_CFG_INFO_FILE *ppFileData,
  60. IN PCHAR pszIMirrorFilePath
  61. );
  62. BOOLEAN
  63. SpFindMirrorDataFile(
  64. IN PCWSTR SrcPath,
  65. IN PFILE_BOTH_DIR_INFORMATION FileInfo,
  66. OUT PULONG ReturnData,
  67. IN PVOID *ppFileData
  68. );
  69. BOOLEAN
  70. SpDetermineDiskLayout(
  71. IN PMIRROR_CFG_INFO_FILE pFileData,
  72. OUT PMIRROR_CFG_INFO_MEMORY *pMemoryData
  73. );
  74. BOOLEAN
  75. SpFixupLocalDisks(
  76. IN HANDLE SifHandle,
  77. OUT PDISK_REGION *InstallRegion,
  78. OUT PDISK_REGION *SystemPartitionRegion,
  79. IN PWSTR SetupSourceDevicePath,
  80. IN PWSTR DirectoryOnSetupSource,
  81. IN PMIRROR_CFG_INFO_MEMORY pMemoryData,
  82. IN BOOLEAN UseWholeDisk
  83. );
  84. BOOLEAN
  85. SpCopyMirrorDisk(
  86. PMIRROR_CFG_INFO_FILE pFileData,
  87. ULONG cDisk
  88. );
  89. NTSTATUS
  90. SpPatchSysPrepImage(
  91. IN HANDLE SetupSifHandle,
  92. IN HANDLE WinntSifHandle,
  93. IN PMIRROR_CFG_INFO_FILE pFileData,
  94. IN PMIRROR_CFG_INFO_MEMORY pMemoryData
  95. );
  96. NTSTATUS
  97. SpPatchBootIni(
  98. IN PWCHAR BootIniPath,
  99. IN PMIRROR_CFG_INFO_MEMORY pMemoryData
  100. );
  101. NTSTATUS
  102. SpCopyNicFiles(
  103. IN PWCHAR SetupPath,
  104. IN PWCHAR DestPath
  105. );
  106. NTSTATUS
  107. SpSysPrepNicRcvFunc(
  108. PVOID DataBuffer,
  109. ULONG DataBufferLength
  110. );
  111. VOID
  112. SpSysPrepFailure(
  113. ULONG ReasonNumber,
  114. PVOID Parameter1,
  115. PVOID Parameter2
  116. );
  117. NTSTATUS
  118. SpSysPrepSetExtendedInfo (
  119. PWCHAR Source,
  120. PWCHAR Dest,
  121. BOOLEAN Directory,
  122. BOOLEAN RootDir
  123. );
  124. NTSTATUS
  125. SpCopyEAsAndStreams (
  126. PWCHAR SourceFile,
  127. HANDLE SourceHandle,
  128. PWCHAR TargetFile,
  129. HANDLE TargetHandle,
  130. BOOLEAN Directory
  131. );
  132. #endif // ndef _SPSYSPREP_DEFN_