From 5f72d819830a04cd7e23bd3b3d809c2c325081c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Mon, 3 Oct 2005 07:06:42 +0000 Subject: [PATCH] Map status codes to CONFIGRET error codes svn path=/trunk/; revision=18235 --- reactos/services/umpnpmgr/umpnpmgr.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/reactos/services/umpnpmgr/umpnpmgr.c b/reactos/services/umpnpmgr/umpnpmgr.c index 1fc2b4f8c51..416eb928ca0 100644 --- a/reactos/services/umpnpmgr/umpnpmgr.c +++ b/reactos/services/umpnpmgr/umpnpmgr.c @@ -112,6 +112,21 @@ void __RPC_USER midl_user_free(void __RPC_FAR * ptr) } +static CONFIGRET WINAPI +NtStatusToCrError(NTSTATUS Status) +{ + switch (Status) + { + case STATUS_NO_SUCH_DEVICE: + return CR_NO_SUCH_DEVINST; + default: + /* FIXME: add more mappings */ + DPRINT1("Unable to map status 0x%08lx\n", Status); + return CR_FAILURE; + } +} + + CONFIGRET PNP_GetVersion(handle_t BindingHandle, unsigned short *Version) @@ -235,8 +250,7 @@ PNP_GetRelatedDeviceInstance(handle_t BindingHandle, sizeof(PLUGPLAY_CONTROL_RELATED_DEVICE_DATA)); if (!NT_SUCCESS(Status)) { - /* FIXME: Map Status to ret */ - ret = CR_FAILURE; + ret = NtStatusToCrError(Status); } DPRINT("PNP_GetRelatedDeviceInstance() done (returns %lx)\n", ret); @@ -341,7 +355,7 @@ PNP_GetDepth(handle_t BindingHandle, } else { - ret = CR_FAILURE; /* FIXME */ + ret = NtStatusToCrError(Status); } DPRINT("PNP_GetDepth() done (returns %lx)\n", ret); @@ -639,7 +653,7 @@ PNP_GetDeviceRegProp(handle_t BindingHandle, } else { - ret = CR_FAILURE; /* FIXME */ + ret = NtStatusToCrError(Status); } } @@ -767,7 +781,7 @@ PNP_GetDeviceStatus(handle_t BindingHandle, } else { - ret = CR_FAILURE; /* FIXME */ + ret = NtStatusToCrError(Status); } DPRINT("PNP_GetDeviceStatus() done (returns %lx)\n", ret);