&IoStatusBlock,
IRP_MN_QUERY_DEVICE_RELATIONS,
&Stack);
- if (!NT_SUCCESS(Status) || Status == STATUS_PENDING)
+ if (!NT_SUCCESS(Status))
{
DPRINT("IopInitiatePnpIrp() failed with status 0x%08lx\n", Status);
- return Status;
+ DeviceRelations = NULL;
+ }
+ else
+ {
+ DeviceRelations = (PDEVICE_RELATIONS)IoStatusBlock.Information;
}
-
- DeviceRelations = (PDEVICE_RELATIONS)IoStatusBlock.Information;
if (DeviceRelations)
{
&IoStatusBlock,
IRP_MN_QUERY_DEVICE_RELATIONS,
&Stack);
- if (!NT_SUCCESS(Status) || Status == STATUS_PENDING)
+ if (!NT_SUCCESS(Status))
{
DPRINT("IopInitiatePnpIrp() failed with status 0x%08lx\n", Status);
- IopQueueTargetDeviceEvent(&GUID_DEVICE_EJECT_VETOED,
- &DeviceNode->InstancePath);
- return;
+ DeviceRelations = NULL;
+ }
+ else
+ {
+ DeviceRelations = (PDEVICE_RELATIONS)IoStatusBlock.Information;
}
-
- DeviceRelations = (PDEVICE_RELATIONS)IoStatusBlock.Information;
if (DeviceRelations)
{