Map status codes to CONFIGRET error codes
Modified: trunk/reactos/services/umpnpmgr/umpnpmgr.c
_____
Modified: trunk/reactos/services/umpnpmgr/umpnpmgr.c
--- trunk/reactos/services/umpnpmgr/umpnpmgr.c 2005-10-03 00:51:24 UTC
(rev 18234)
+++ trunk/reactos/services/umpnpmgr/umpnpmgr.c 2005-10-03 07:06:42 UTC
(rev 18235)
@@ -112,6 +112,21 @@
}
+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 @@
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 @@
}
else
{
- ret = CR_FAILURE; /* FIXME */
+ ret = NtStatusToCrError(Status);
}
DPRINT("PNP_GetDepth() done (returns %lx)\n", ret);
@@ -639,7 +653,7 @@
}
else
{
- ret = CR_FAILURE; /* FIXME */
+ ret = NtStatusToCrError(Status);
}
}
@@ -767,7 +781,7 @@
}
else
{
- ret = CR_FAILURE; /* FIXME */
+ ret = NtStatusToCrError(Status);
}
DPRINT("PNP_GetDeviceStatus() done (returns %lx)\n", ret);