3495{
3497 *ResourcesMatched =
FALSE;
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3516
3517
3518
3519
3520 status = PnpMatchResources();
3521
3523 *ResourcesMatched =
FALSE;
3524 SetInternalFailure();
3525 SetPendingPnpIrpStatus(
status);
3527 }
3528
3529#if (FX_CORE_MODE == FX_CORE_USER_MODE)
3530
3531
3532
3533 status = m_Resources->BuildRegisterResourceTable();
3535 SetInternalFailure();
3536 SetPendingPnpIrpStatus(
status);
3538 }
3539
3540
3541
3542
3543 status = m_Resources->BuildPortResourceTable();
3545 SetInternalFailure();
3546 SetPendingPnpIrpStatus(
status);
3548 }
3549
3550
3551
3552
3553
3554
3555 status = m_Resources->CheckForConnectionResources();
3557 SetInternalFailure();
3558 SetPendingPnpIrpStatus(
status);
3560 }
3561#endif
3562
3563 *ResourcesMatched =
TRUE;
3564
3565 m_Device->SetCallbackFlags(
3567 );
3568
3569 status = m_DevicePrepareHardware.Invoke(m_Device->GetHandle(),
3570 m_ResourcesRaw->GetHandle(),
3571 m_Resources->GetHandle());
3572
3573 m_Device->ClearCallbackFlags(
3575 );
3576
3579 "EvtDevicePrepareHardware failed %!STATUS!",
status);
3580
3584 "EvtDevicePrepareHardware returned an invalid status "
3585 "STATUS_NOT_SUPPORTED");
3586
3587 if (GetDriverGlobals()->IsVerificationEnabled(1, 11,
OkForDownLevel)) {
3589 }
3590 }
3591
3592 SetInternalFailure();
3593 SetPendingPnpIrpStatus(
status);
3595 }
3596
3597
3598
3599
3600
3601 PnpAssignInterruptsSyncIrql();
3602
3603
3604
3605
3606 status = PnpPrepareHardwareInternal();
3609 "PrepareHardware failed %!STATUS!",
status);
3610
3611 SetInternalFailure();
3612 SetPendingPnpIrpStatus(
status);
3613 }
3614
3617}
#define STATUS_NOT_SUPPORTED
#define NT_SUCCESS(StatCode)
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
FxVerifierDbgBreakPoint(pFxDriverGlobals)
@ FXDEVICE_CALLBACK_IN_PREPARE_HARDWARE
@ FxPnpStateResourcesChangedUseDefault
@ FxPnpStateRemovedUseDefault
@ FxPnpStateFailedUseDefault
@ FxPnpStateResourcesChangedMask
#define TRACE_LEVEL_ERROR