<br><br>>You do not have to create your own translation tables. Just translate the NTSTATUS into<br>>an error code, similar to how its done in kernel32:<br>><br>>SetLastError(RtlNtStatusToDosError(status));<br>><br><br>I found SetLastError(RltNtStatusToDosError(status)) behaved not correct , when the file length is very long , It give the error code ERROR_INVALID_PARAMETER<br><br>but Windows give the ERROR_FILENAME_EXCED_RANGE<br><br>should I omit this and just use SetLastError(RtlNtStatusToDosError(status)) or maullay set the error code to ERROR_FILENAME_EXCED_RANGE?