60 if (OutDevice !=
NULL) {
73 "%s: Incorrect device handle supplied (0x%p). " 154 "PDO WDFDEVICE %p not reported yet to pnp, cannot eject!",
161 "Can only eject PDOs, %!STATUS!",
status);
193 "Can only eject PDOs, %!STATUS!",
status);
204 WDFEXPORT(WdfPdoRetrieveIdentificationDescription)(
259 WDFEXPORT(WdfPdoRetrieveAddressDescription)(
316 WDFEXPORT(WdfPdoUpdateAddressDescription)(
364 WDFEXPORT(WdfPdoAddEjectionRelationsPhysicalDevice)(
414 WDFEXPORT(WdfPdoRemoveEjectionRelationsPhysicalDevice)(
461 WDFEXPORT(WdfPdoClearEjectionRelationsDevices)(
_Must_inspect_result_ __in WDFDEVICE Device
BOOLEAN HasAddressDescriptions(VOID)
NTSTATUS GetPdoPackageFromDeviceHandle(__in IN PFX_DRIVER_GLOBALS CallersGlobals, __in WDFDEVICE Device, __in PCHAR FunctionName, __out FxPkgPdo **Package, __out PFX_DRIVER_GLOBALS *ObjectGlobals, __out_opt FxDevice **OutDevice=NULL)
PFX_DRIVER_GLOBALS pFxDriverGlobals
CfxDevice * m_ParentDevice
_Must_inspect_result_ __in WDFDEVICE __inout PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription
WDFDEVICE __inline GetHandle(VOID)
#define STATUS_INVALID_PARAMETER
#define STATUS_INVALID_DEVICE_REQUEST
PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER GetId(VOID)
_Must_inspect_result_ NTSTATUS UpdateDeviceAsMissing(__in CfxDevice *Device)
VOID ClearEjectionDevicesList(VOID)
FxChildList * GetParentList(VOID)
_Inout_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
VOID GetAddressDescriptionFromEntry(__in FxDeviceDescriptionEntry *Entry, __out PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription)
BOOLEAN IsStaticList(VOID)
FxChildList * m_OwningChildList
ULONG GetIdentificationDescriptionSize(VOID)
#define NT_SUCCESS(StatCode)
FxPointerNotNull(pFxDriverGlobals, IdentificationDescription)
_In_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription
__inline FxPkgPdo * GetPdoPkg(VOID)
VOID NTAPI IoRequestDeviceEject(IN PDEVICE_OBJECT PhysicalDeviceObject)
#define _Must_inspect_result_
_Must_inspect_result_ _In_ WDFDEVICE Device
MdDeviceObject __inline GetSafePhysicalDevice(VOID)
#define TRACE_LEVEL_ERROR
_Must_inspect_result_ NTSTATUS AddEjectionDevice(__in MdDeviceObject DependentDevice)
ULONG GetAddressDescriptionSize(VOID)
FxDeviceDescriptionEntry * m_Description
_Must_inspect_result_ __in WDFDEVICE __inout PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 ACPI_STATUS const char UINT32 ACPI_STATUS const char UINT32 const char * FunctionName
VOID CopyId(__out PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER Dest, __in PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER Source)
FxObjectHandleGetPtrAndGlobals(GetFxDriverGlobals(DriverGlobals), Device, FX_TYPE_DEVICE,(PVOID *)&pDevice, &pFxDriverGlobals)
_Must_inspect_result_ __in WDFDEVICE __in PDEVICE_OBJECT PhysicalDevice
VOID RemoveEjectionDevice(__in MdDeviceObject DependentDevice)
__inline BOOLEAN IsPdo(VOID)
__inline PFX_DRIVER_GLOBALS GetFxDriverGlobals(__in PWDF_DRIVER_GLOBALS DriverGlobals)
_Must_inspect_result_ __drv_maxIRQL(DISPATCH_LEVEL) NTSTATUS STDCALL WDFEXPORT(WdfPdoMarkMissing)(__in PWDF_DRIVER_GLOBALS DriverGlobals
VOID UpdateAddressDescriptionFromEntry(__inout FxDeviceDescriptionEntry *Entry, __in PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription)
FxVerifierDbgBreakPoint(pFxDriverGlobals)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PDEVICE_OBJECT PhysicalDevice