]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Nt32Pkg/WinNtBlockIoDxe/WinNtBlockIo.c
We enabled X64 native version NT32, and made it works on Windows 7 X64 OS.
[mirror_edk2.git] / Nt32Pkg / WinNtBlockIoDxe / WinNtBlockIo.c
index 12924e659fbab77db9475d748767c5e8aebd792f..f9f286705f7d54772339562bbb10bed28ef3a8f7 100644 (file)
@@ -529,7 +529,7 @@ Returns:
   BlockIo = &Private->BlockIo;\r
   BlockIo->Revision = EFI_BLOCK_IO_PROTOCOL_REVISION;\r
   BlockIo->Media = &Private->Media;\r
-  BlockIo->Media->BlockSize = Private->BlockSize;\r
+  BlockIo->Media->BlockSize = (UINT32)Private->BlockSize;\r
   BlockIo->Media->LastBlock = Private->NumberOfBlocks - 1;\r
   BlockIo->Media->MediaId = 0;;\r
 \r
@@ -626,10 +626,10 @@ Returns:
   //\r
   Private->NtHandle = Private->WinNtThunk->CreateFile (\r
                                             Private->Filename,\r
-                                            Private->ReadMode,\r
-                                            Private->ShareMode,\r
+                                            (DWORD)Private->ReadMode,\r
+                                            (DWORD)Private->ShareMode,\r
                                             NULL,\r
-                                            Private->OpenMode,\r
+                                            (DWORD)Private->OpenMode,\r
                                             0,\r
                                             NULL\r
                                             );\r
@@ -658,7 +658,7 @@ Returns:
   Status = SetFilePointer64 (Private, 0, &FileSize, FILE_END);\r
 \r
   if (EFI_ERROR (Status)) {\r
-    FileSize = MultU64x32 (Private->NumberOfBlocks, Private->BlockSize);\r
+    FileSize = MultU64x32 (Private->NumberOfBlocks, (UINT32)Private->BlockSize);\r
     if (Private->DeviceType == EfiWinNtVirtualDisks) {\r
       DEBUG ((EFI_D_ERROR, "PlOpenBlock: Could not get filesize of %s\n", Private->Filename));\r
       Status = EFI_UNSUPPORTED;\r
@@ -667,10 +667,10 @@ Returns:
   }\r
 \r
   if (Private->NumberOfBlocks == 0) {\r
-    Private->NumberOfBlocks = DivU64x32 (FileSize, Private->BlockSize);\r
+    Private->NumberOfBlocks = DivU64x32 (FileSize, (UINT32)Private->BlockSize);\r
   }\r
 \r
-  EndOfFile = MultU64x32 (Private->NumberOfBlocks, Private->BlockSize);\r
+  EndOfFile = MultU64x32 (Private->NumberOfBlocks, (UINT32)Private->BlockSize);\r
 \r
   if (FileSize != EndOfFile) {\r
     //\r
@@ -832,7 +832,7 @@ Returns:
     return EFI_MEDIA_CHANGED;\r
   }\r
 \r
-  if ((UINT32) Buffer % Private->Media.IoAlign != 0) {\r
+  if ((UINTN) Buffer % Private->Media.IoAlign != 0) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
@@ -858,7 +858,7 @@ Returns:
   //\r
   // Seek to End of File\r
   //\r
-  DistanceToMove = MultU64x32 (Lba, BlockSize);\r
+  DistanceToMove = MultU64x32 (Lba, (UINT32)BlockSize);\r
   Status = SetFilePointer64 (Private, DistanceToMove, &DistanceMoved, FILE_BEGIN);\r
 \r
   if (EFI_ERROR (Status)) {\r