/* * @implemented */ BOOL WINAPI CloseHandle(HANDLE hObject) /* * FUNCTION: Closes an open object handle * PARAMETERS: * hObject = Identifies an open object handle * RETURNS: If the function succeeds, the return value is nonzero * If the function fails, the return value is zero */ { NTSTATUS Status; hObject = TranslateStdHandle(hObject); if (IsConsoleHandle(hObject)) { return(CloseConsoleHandle(hObject)); } Status = NtClose(hObject); if (!NT_SUCCESS(Status)) { SetLastErrorByStatus (Status); return FALSE; } return TRUE; }
/* * @implemented */ BOOL WINAPI CloseHandle(IN HANDLE hObject) { NTSTATUS Status; hObject = TranslateStdHandle(hObject); if (IsConsoleHandle(hObject)) return CloseConsoleHandle(hObject); Status = NtClose(hObject); if (NT_SUCCESS(Status)) return TRUE; BaseSetLastNTError(Status); return FALSE; }