66 "Enter, WDFDEVICE %p",
Device);
83 "WDFDEVICE 0x%p Config is invalid",
Device);
115 "Could not convert object to handle, %!STATUS!",
156WDFEXPORT(WdfChildListRetrieveAddressDescription)(
189 "identification description size %d incorrect, expected %d, %!STATUS!",
200 "cannot retrieve an address description from a list"
201 " which was not initialized to use them, %!STATUS!",
212 "description size %d incorrect, expected %d, %!STATUS!",
223 "Exit: WDFCHILDLIST %p, %!STATUS!",
308 "Iterator Size %d not correct, expected %d, %!STATUS!",
318 "Iterator Flags 0x%x not correct, valid mask 0x%x, %!STATUS!",
333WDFEXPORT(WdfChildListRetrieveNextDevice)(
364 "Iterator Size %d not correct, expected %d, %!STATUS!",
373 "Iterator Flags 0x%x not correct, valid mask 0x%x, %!STATUS!",
383 "Invalid RetrieveInfo Size %d, expected %d, %!STATUS!",
387 if (
Info->IdentificationDescription !=
NULL
390 Info->IdentificationDescription->IdentificationDescriptionSize) {
395 "identification description size %d incorrect, expected %d"
397 Info->IdentificationDescription->IdentificationDescriptionSize,
403 if (
Info->AddressDescription !=
NULL) {
409 "cannot retrieve an address description from a list"
410 " which was not initialized to use them, %!STATUS!",
416 Info->AddressDescription->AddressDescriptionSize) {
421 "address description size %d incorrect, expected %d, %!STATUS!",
422 Info->AddressDescription->AddressDescriptionSize,
461 "Iterator Size %d not correct, expected %d, %!STATUS!",
471 "Iterator Flags 0x%x not correct, valid mask 0x%x, %!STATUS!",
485WDFEXPORT(WdfChildListAddOrUpdateChildDescriptionAsPresent)(
517 "cannot retrieve an address description from a list"
518 " which was not initialized to use them, %!STATUS!",
status);
528 "address description size %d incorrect, expected %d, %!STATUS!",
541 "Must provide a valid AddressDescription because the"
542 " WDFCHILDLIST 0x%p is configured with AddressDescriptionSize,"
555 "identification description size %d incorrect, expected %d, %!STATUS!",
574WDFEXPORT(WdfChildListUpdateChildDescriptionAsMissing)(
604 "identification description size %d incorrect, expected %d, %!STATUS!",
614 "Exit: WDFCHILDLIST %p, %!STATUS!",
623WDFEXPORT(WdfChildListUpdateAllChildDescriptionsAsPresent)(
681 "Invalid RetrieveInfo Size %x, expected %d, %!STATUS!",
690 "Invalid ID Description, %!STATUS!",
699 "identification description size %d incorrect, expected %d",
711 "cannot retrieve an address description from a list"
712 " which was not initialized to use them, %!STATUS!",
719 "address description size %d incorrect, expected %d",
740 "Exit: WDFCHILDLIST %p, WDFDEVICE Pdo %p, "
741 "%!WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS!",
778 "identification description size 0x%x incorrect, expected 0x%x",
792 "found: WDFCHILDLIST %p, WDFDEVICE PDO %p",
801 pdo =
device->GetSafePhysicalDevice();
809 "PDO WDFDEVICE %p not reported yet to pnp, cannot eject!",
VOID EndScan(__inout_opt PULONG ScanTag=NULL)
_Must_inspect_result_ NTSTATUS GetNextDevice(__out WDFDEVICE *Device, __inout PWDF_CHILD_LIST_ITERATOR Iterator, __inout_opt PWDF_CHILD_RETRIEVE_INFO Info)
BOOLEAN HasAddressDescriptions(VOID)
static _Must_inspect_result_ NTSTATUS _ValidateConfig(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDF_CHILD_LIST_CONFIG Config, __in size_t *TotalDescriptionSize)
WDFDEVICE GetDevice(VOID)
VOID BeginScan(__out_opt PULONG ScanTag=NULL)
CfxDevice * GetDeviceFromId(__inout PWDF_CHILD_RETRIEVE_INFO Info)
_Must_inspect_result_ NTSTATUS GetAddressDescription(__in PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription, __out PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription)
VOID BeginIteration(__inout PWDF_CHILD_LIST_ITERATOR Iterator)
_Must_inspect_result_ NTSTATUS Add(__in PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription, __in_opt PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription, __in_opt PULONG ScanTag=NULL)
static _Must_inspect_result_ NTSTATUS _CreateAndInit(__out FxChildList **ChildList, __in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDF_OBJECT_ATTRIBUTES ListAttributes, __in size_t TotalDescriptionSize, __in CfxDevice *Device, __in PWDF_CHILD_LIST_CONFIG ListConfig, __in BOOLEAN Static=FALSE)
VOID EndIteration(__inout PWDF_CHILD_LIST_ITERATOR Iterator)
ULONG GetIdentificationDescriptionSize(VOID)
ULONG GetAddressDescriptionSize(VOID)
VOID UpdateAllAsPresent(__in_opt PULONG ScanTag=NULL)
_Must_inspect_result_ NTSTATUS UpdateAsMissing(__in PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER Description)
virtual _Must_inspect_result_ NTSTATUS AllocateEnumInfo(VOID)
virtual VOID SetDeviceTelemetryInfoFlags(_In_ FxDeviceInfoFlags Flag)
VOID DeleteFromFailedCreate(VOID)
_Must_inspect_result_ NTSTATUS Commit(__in_opt PWDF_OBJECT_ATTRIBUTES Attributes, __out_opt WDFOBJECT *ObjectHandle, __in_opt FxObject *Parent=NULL, __in BOOLEAN AssignDriverAsDefaultParent=TRUE)
VOID NTAPI IoRequestDeviceEject(IN PDEVICE_OBJECT PhysicalDeviceObject)
#define NT_SUCCESS(StatCode)
#define __drv_maxIRQL(irql)
_Must_inspect_result_ __in WDFDEVICE __in PWDF_CHILD_LIST_CONFIG __in_opt PWDF_OBJECT_ATTRIBUTES DeviceListAttributes
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
_Must_inspect_result_ __in WDFDEVICE __in PWDF_CHILD_LIST_CONFIG __in_opt PWDF_OBJECT_ATTRIBUTES __out WDFCHILDLIST * DeviceList
_Must_inspect_result_ __in WDFCHILDLIST __in PWDF_CHILD_LIST_ITERATOR __out WDFDEVICE __inout_opt PWDF_CHILD_RETRIEVE_INFO Info
size_t totalDescriptionSize
PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER pAddr
PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER pId
_Must_inspect_result_ __in WDFDEVICE __in PWDF_CHILD_LIST_CONFIG Config
_Must_inspect_result_ __in WDFCHILDLIST __inout PWDF_CHILD_RETRIEVE_INFO RetrieveInfo
_Must_inspect_result_ __in WDFCHILDLIST __in PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription
WDF_CHILD_RETRIEVE_INFO info
_Must_inspect_result_ __in WDFCHILDLIST __in PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER __inout PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
__in WDFCHILDLIST __in PWDF_CHILD_LIST_ITERATOR Iterator
FxObjectHandleGetPtrAndGlobals(GetFxDriverGlobals(DriverGlobals), Device, FX_TYPE_DEVICE,(PVOID *)&pDevice, &pFxDriverGlobals)
_Must_inspect_result_ __in WDFDEVICE Device
PFX_DRIVER_GLOBALS pFxDriverGlobals
FxVerifierDbgBreakPoint(pFxDriverGlobals)
__inline PFX_DRIVER_GLOBALS GetFxDriverGlobals(__in PWDF_DRIVER_GLOBALS DriverGlobals)
#define FxPointerNotNull(FxDriverGlobals, Ptr)
@ DeviceInfoHasDynamicChildren
@ FX_VALIDATE_OPTION_PARENT_NOT_ALLOWED
_Must_inspect_result_ NTSTATUS FxValidateObjectAttributes(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDF_OBJECT_ATTRIBUTES Attributes, __in ULONG Flags=FX_VALIDATE_OPTION_NONE_SPECIFIED)
__inline NTSTATUS FxVerifierCheckIrqlLevel(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in KIRQL Irql)
#define _Must_inspect_result_
#define TRACE_LEVEL_VERBOSE
#define TRACE_LEVEL_ERROR
#define RtlZeroMemory(Destination, Length)
#define STATUS_INVALID_DEVICE_REQUEST
#define STATUS_INVALID_PARAMETER
#define STATUS_INFO_LENGTH_MISMATCH
_In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR Iterator
_Must_inspect_result_ _In_ WDFCHILDLIST _Inout_ PWDF_CHILD_RETRIEVE_INFO RetrieveInfo
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
_Must_inspect_result_ _In_ WDFDEVICE Device
_In_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
@ WdfChildListRetrieveDeviceUndefined
_Inout_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
FORCEINLINE VOID WDF_CHILD_RETRIEVE_INFO_INIT(_Out_ PWDF_CHILD_RETRIEVE_INFO Info, _In_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription)