Implement IRP_MN_QUERY_DEVICE_RELATIONS
[reactos.git] / reactos / drivers / net / ndis / ndis / miniport.c
index fa5f29c..c8dd4c4 100644 (file)
@@ -1335,7 +1335,7 @@ NdisIPnPStartDevice(
   Status = IoGetDeviceProperty(Adapter->NdisMiniportBlock.PhysicalDeviceObject,
                                DevicePropertyLegacyBusType, Size,
                                &Adapter->NdisMiniportBlock.BusType, &Size);
-  if (!NT_SUCCESS(Status) || Adapter->NdisMiniportBlock.BusType == (NDIS_INTERFACE_TYPE)-1)
+  if (!NT_SUCCESS(Status) || (INTERFACE_TYPE)Adapter->NdisMiniportBlock.BusType == InterfaceTypeUndefined)
     {
       NdisInitUnicodeString(&ParamName, L"BusType");
       NdisReadConfiguration(&NdisStatus, &ConfigParam, ConfigHandle,
@@ -1349,7 +1349,7 @@ NdisIPnPStartDevice(
   Status = IoGetDeviceProperty(Adapter->NdisMiniportBlock.PhysicalDeviceObject,
                                DevicePropertyBusNumber, Size,
                                &Adapter->NdisMiniportBlock.BusNumber, &Size);
-  if (!NT_SUCCESS(Status) || Adapter->NdisMiniportBlock.BusNumber == (NDIS_INTERFACE_TYPE)-1)
+  if (!NT_SUCCESS(Status) || Adapter->NdisMiniportBlock.BusNumber == 0xFFFFFFF0)
     {
       NdisInitUnicodeString(&ParamName, L"BusNumber");
       NdisReadConfiguration(&NdisStatus, &ConfigParam, ConfigHandle,
@@ -1533,9 +1533,6 @@ NdisIDispatchPnp(
         break;
 
       case IRP_MN_STOP_DEVICE:
-        /* FIXME */
-        Status = STATUS_UNSUCCESSFUL;
-        break;
         Status = NdisIForwardIrpAndWait(Adapter, Irp);
         if (NT_SUCCESS(Status) && NT_SUCCESS(Irp->IoStatus.Status))
           {
@@ -1545,6 +1542,12 @@ NdisIDispatchPnp(
         IoCompleteRequest(Irp, IO_NO_INCREMENT);
         break;
 
+      case IRP_MN_QUERY_DEVICE_RELATIONS:
+        Status = STATUS_NOT_SUPPORTED;
+        Irp->IoStatus.Status = Status;
+        IoCompleteRequest(Irp, IO_NO_INCREMENT);
+        break;
+
       default:
         IoSkipCurrentIrpStackLocation(Irp);
         Status = IoCallDriver(Adapter->NdisMiniportBlock.NextDeviceObject, Irp);