-/*++\r
+/**@file\r
\r
Copyright (c) 2006 - 2007, Intel Corporation\r
All rights reserved. This program and the accompanying materials\r
\r
* Other names and brands may be claimed as the property of others.\r
\r
---*/\r
+**/\r
#include <Uefi.h>\r
#include <WinNtDxe.h>\r
#include <Protocol/WinNtThunk.h>\r
//\r
// Install driver model protocol(s).\r
//\r
- Status = EfiLibInstallAllDriverProtocols (\r
+ Status = EfiLibInstallAllDriverProtocols2 (\r
ImageHandle,\r
SystemTable,\r
&gWinNtBlockIoDriverBinding,\r
ImageHandle,\r
&gWinNtBlockIoComponentName,\r
+ &gWinNtBlockIoComponentName2,\r
NULL,\r
- &gWinNtBlockIoDriverDiagnostics\r
+ NULL,\r
+ &gWinNtBlockIoDriverDiagnostics,\r
+ &gWinNtBlockIoDriverDiagnostics2\r
);\r
ASSERT_EFI_ERROR (Status);\r
\r
Status = gBS->OpenProtocol (\r
Handle,\r
&gEfiWinNtIoProtocolGuid,\r
- &WinNtIo,\r
+ (VOID **) &WinNtIo,\r
This->DriverBindingHandle,\r
Handle,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
Status = gBS->OpenProtocol (\r
Handle,\r
&gEfiWinNtIoProtocolGuid,\r
- &WinNtIo,\r
+ (VOID **) &WinNtIo,\r
This->DriverBindingHandle,\r
Handle,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
WriteProtected = (BOOLEAN) (*Str == 'O');\r
Str = GetNextElementPastTerminator (Str, ';');\r
\r
- NumberOfBlocks = Atoi (Str);\r
+ NumberOfBlocks = StrDecimalToUintn (Str);\r
if (NumberOfBlocks != 0) {\r
Str = GetNextElementPastTerminator (Str, ';');\r
- BlockSize = Atoi (Str);\r
+ BlockSize = StrDecimalToUintn (Str);\r
if (BlockSize != 0) {\r
//\r
// If we get here the variable is valid so do the work.\r
Status = gBS->OpenProtocol (\r
Handle,\r
&gEfiBlockIoProtocolGuid,\r
- &BlockIo,\r
+ (VOID **) &BlockIo,\r
This->DriverBindingHandle,\r
Handle,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
return Status;\r
}\r
\r
-STATIC\r
CHAR16 *\r
GetNextElementPastTerminator (\r
IN CHAR16 *EnvironmentVariable,\r
return Ptr;\r
}\r
\r
-STATIC\r
EFI_STATUS\r
WinNtBlockIoCreateMapping (\r
IN EFI_WIN_NT_IO_PROTOCOL *WinNtIo,\r
\r
Private->ControllerNameTable = NULL;\r
\r
- AddUnicodeString (\r
+ AddUnicodeString2 (\r
"eng",\r
gWinNtBlockIoComponentName.SupportedLanguages,\r
&Private->ControllerNameTable,\r
- Private->Filename\r
+ Private->Filename,\r
+ TRUE\r
);\r
+ AddUnicodeString2 (\r
+ "en",\r
+ gWinNtBlockIoComponentName2.SupportedLanguages,\r
+ &Private->ControllerNameTable,\r
+ Private->Filename,\r
+ FALSE\r
+ );\r
+\r
\r
BlockIo = &Private->BlockIo;\r
BlockIo->Revision = EFI_BLOCK_IO_PROTOCOL_REVISION;\r
return Status;\r
}\r
\r
-STATIC\r
EFI_STATUS\r
WinNtBlockIoOpenDevice (\r
WIN_NT_BLOCK_IO_PRIVATE *Private\r
return Status;\r
}\r
\r
-STATIC\r
EFI_STATUS\r
WinNtBlockIoError (\r
IN WIN_NT_BLOCK_IO_PRIVATE *Private\r
return Status;\r
}\r
\r
-STATIC\r
EFI_STATUS\r
WinNtBlockIoReadWriteCommon (\r
IN WIN_NT_BLOCK_IO_PRIVATE *Private,\r
return EFI_SUCCESS;\r
}\r
\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
WinNtBlockIoReadBlocks (\r
return Status;\r
}\r
\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
WinNtBlockIoWriteBlocks (\r
\r
}\r
\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
WinNtBlockIoFlushBlocks (\r
return EFI_SUCCESS;\r
}\r
\r
-STATIC\r
EFI_STATUS\r
EFIAPI\r
WinNtBlockIoResetBlock (\r
return EFI_SUCCESS;\r
}\r
\r
-UINTN\r
-Atoi (\r
- CHAR16 *String\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Convert a unicode string to a UINTN\r
-\r
-Arguments:\r
-\r
- String - Unicode string.\r
-\r
-Returns:\r
-\r
- UINTN of the number represented by String.\r
-\r
---*/\r
-{\r
- UINTN Number;\r
- CHAR16 *Str;\r
-\r
- //\r
- // skip preceeding white space\r
- //\r
- Str = String;\r
- while ((*Str) && (*Str == ' ')) {\r
- Str++;\r
- }\r
- //\r
- // Convert ot a Number\r
- //\r
- Number = 0;\r
- while (*Str != '\0') {\r
- if ((*Str >= '0') && (*Str <= '9')) {\r
- Number = (Number * 10) +*Str - '0';\r
- } else {\r
- break;\r
- }\r
-\r
- Str++;\r
- }\r
-\r
- return Number;\r
-}\r
\r
EFI_STATUS\r
SetFilePointer64 (\r