1 /**@file 2 3 Copyright (c) 2006, Intel Corporation. All rights reserved.<BR> 4 This program and the accompanying materials 5 are licensed and made available under the terms and conditions of the BSD License 6 which accompanies this distribution. The full text of the license may be found at 7 http://opensource.org/licenses/bsd-license.php 8 9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11 12 Module Name: 13 14 WinNtLib.c 15 16 Abstract: 17 18 WinNt Library 19 20 **/ 21 22 #include <PiDxe.h> 23 #include <WinNtDxe.h> 24 #include <Library/WinNtLib.h> 25 #include <Library/DebugLib.h> 26 #include <Library/HobLib.h> 27 28 29 EFI_WIN_NT_THUNK_PROTOCOL *gWinNt; 30 31 EFI_STATUS WinNtLibConstructor(IN EFI_HANDLE ImageHandle,IN EFI_SYSTEM_TABLE * SystemTable)32WinNtLibConstructor ( 33 IN EFI_HANDLE ImageHandle, 34 IN EFI_SYSTEM_TABLE *SystemTable 35 ) 36 /*++ 37 38 Routine Description: 39 40 Arguments: 41 42 Returns: 43 44 --*/ 45 { 46 EFI_HOB_GUID_TYPE *GuidHob; 47 48 GuidHob = GetFirstGuidHob (&gEfiWinNtThunkProtocolGuid); 49 ASSERT (GuidHob != NULL); 50 gWinNt = (EFI_WIN_NT_THUNK_PROTOCOL *)(*(UINTN *)(GET_GUID_HOB_DATA (GuidHob))); 51 ASSERT (gWinNt != NULL); 52 return EFI_SUCCESS; 53 } 54