[BOOT:LIB] Implement EfiGetNtStatusCode()
This commit is contained in:
parent
c7298452ff
commit
d759302400
@ -56,6 +56,7 @@ Return Value:
|
|||||||
case STATUS_MEDIA_WRITE_PROTECTED:
|
case STATUS_MEDIA_WRITE_PROTECTED:
|
||||||
return EFI_WRITE_PROTECTED;
|
return EFI_WRITE_PROTECTED;
|
||||||
case STATUS_INSUFFICIENT_RESOURCES:
|
case STATUS_INSUFFICIENT_RESOURCES:
|
||||||
|
case STATUS_INSUFFICIENT_NVRAM_RESOURCES:
|
||||||
return EFI_OUT_OF_RESOURCES;
|
return EFI_OUT_OF_RESOURCES;
|
||||||
case STATUS_DISK_CORRUPT_ERROR:
|
case STATUS_DISK_CORRUPT_ERROR:
|
||||||
return EFI_VOLUME_CORRUPTED;
|
return EFI_VOLUME_CORRUPTED;
|
||||||
@ -83,3 +84,75 @@ Return Value:
|
|||||||
return EFI_NO_MAPPING;
|
return EFI_NO_MAPPING;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
EfiGetNtStatusCode (
|
||||||
|
IN EFI_STATUS Status
|
||||||
|
)
|
||||||
|
|
||||||
|
/*++
|
||||||
|
|
||||||
|
Routine Description:
|
||||||
|
|
||||||
|
Converts an EFI status code into an NT status code.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
|
||||||
|
Status - The EFI status code to be converted.
|
||||||
|
|
||||||
|
Return Value:
|
||||||
|
|
||||||
|
The NT status code.
|
||||||
|
|
||||||
|
--*/
|
||||||
|
|
||||||
|
{
|
||||||
|
switch (Status) {
|
||||||
|
case EFI_SUCCESS:
|
||||||
|
return STATUS_SUCCESS;
|
||||||
|
case EFI_LOAD_ERROR:
|
||||||
|
return STATUS_DRIVER_UNABLE_TO_LOAD;
|
||||||
|
case EFI_INVALID_PARAMETER:
|
||||||
|
return STATUS_INVALID_PARAMETER;
|
||||||
|
case EFI_UNSUPPORTED:
|
||||||
|
return STATUS_NOT_SUPPORTED;
|
||||||
|
case EFI_BAD_BUFFER_SIZE:
|
||||||
|
return STATUS_INVALID_BUFFER_SIZE;
|
||||||
|
case EFI_BUFFER_TOO_SMALL:
|
||||||
|
return STATUS_BUFFER_TOO_SMALL;
|
||||||
|
case EFI_DEVICE_ERROR:
|
||||||
|
return STATUS_IO_DEVICE_ERROR;
|
||||||
|
case EFI_WRITE_PROTECTED:
|
||||||
|
return STATUS_MEDIA_WRITE_PROTECTED;
|
||||||
|
case EFI_OUT_OF_RESOURCES:
|
||||||
|
return STATUS_INSUFFICIENT_NVRAM_RESOURCES;
|
||||||
|
case EFI_VOLUME_CORRUPTED:
|
||||||
|
return STATUS_DISK_CORRUPT_ERROR;
|
||||||
|
case EFI_VOLUME_FULL:
|
||||||
|
return STATUS_DISK_FULL;
|
||||||
|
case EFI_NO_MEDIA:
|
||||||
|
return STATUS_NO_MEDIA;
|
||||||
|
case EFI_MEDIA_CHANGED:
|
||||||
|
return STATUS_MEDIA_CHANGED;
|
||||||
|
case EFI_NOT_FOUND:
|
||||||
|
case EFI_NOT_READY:
|
||||||
|
return STATUS_NOT_FOUND;
|
||||||
|
case EFI_ACCESS_DENIED:
|
||||||
|
case EFI_SECURITY_VIOLATION:
|
||||||
|
return STATUS_ACCESS_DENIED;
|
||||||
|
case EFI_NO_MAPPING:
|
||||||
|
return STATUS_NO_MATCH;
|
||||||
|
case EFI_TIMEOUT:
|
||||||
|
case EFI_NO_RESPONSE:
|
||||||
|
return STATUS_TIMEOUT;
|
||||||
|
case EFI_NOT_STARTED:
|
||||||
|
return STATUS_DEVICE_NOT_READY;
|
||||||
|
case EFI_ALREADY_STARTED:
|
||||||
|
return STATUS_DEVICE_ALREADY_ATTACHED;
|
||||||
|
case EFI_ABORTED:
|
||||||
|
return STATUS_REQUEST_ABORTED;
|
||||||
|
default:
|
||||||
|
return STATUS_UNSUCCESSFUL;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user