31 #ifndef _WDFCHILDLIST_H_ 32 #define _WDFCHILDLIST_H_ 36 #define WDF_EXTERN_C extern "C" 37 #define WDF_EXTERN_C_START extern "C" { 38 #define WDF_EXTERN_C_END } 41 #define WDF_EXTERN_C_START 42 #define WDF_EXTERN_C_END 50 #if (NTDDI_VERSION >= NTDDI_WIN2K) 111 Header->AddressDescriptionSize = AddressDescriptionSize;
120 EVT_WDF_CHILD_LIST_CREATE_DEVICE(
137 EVT_WDF_CHILD_LIST_SCAN_FOR_CHILDREN(
150 EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY(
167 EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE(
184 EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE(
201 EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP(
216 EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY(
233 EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE(
250 EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP(
265 EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED(
425 Config->EvtChildListCreateDevice = EvtChildListCreateDevice;
470 (
STDCALL *PFN_WDFCHILDLISTCREATE)(
508 (
STDCALL *PFN_WDFCHILDLISTGETDEVICE)(
518 WdfChildListGetDevice(
534 (
STDCALL *PFN_WDFCHILDLISTRETRIEVEPDO)(
547 WdfChildListRetrievePdo(
565 (
STDCALL *PFN_WDFCHILDLISTRETRIEVEADDRESSDESCRIPTION)(
580 WdfChildListRetrieveAddressDescription(
599 (
STDCALL *PFN_WDFCHILDLISTBEGINSCAN)(
609 WdfChildListBeginScan(
624 (
STDCALL *PFN_WDFCHILDLISTENDSCAN)(
649 (
STDCALL *PFN_WDFCHILDLISTBEGINITERATION)(
661 WdfChildListBeginIteration(
679 (
STDCALL *PFN_WDFCHILDLISTRETRIEVENEXTDEVICE)(
696 WdfChildListRetrieveNextDevice(
717 (
STDCALL *PFN_WDFCHILDLISTENDITERATION)(
729 WdfChildListEndIteration(
747 (
STDCALL *PFN_WDFCHILDLISTADDORUPDATECHILDDESCRIPTIONASPRESENT)(
762 WdfChildListAddOrUpdateChildDescriptionAsPresent(
782 (
STDCALL *PFN_WDFCHILDLISTUPDATECHILDDESCRIPTIONASMISSING)(
795 WdfChildListUpdateChildDescriptionAsMissing(
812 (
STDCALL *PFN_WDFCHILDLISTUPDATEALLCHILDDESCRIPTIONSASPRESENT)(
822 WdfChildListUpdateAllChildDescriptionsAsPresent(
837 (
STDCALL *PFN_WDFCHILDLISTREQUESTCHILDEJECT)(
849 WdfChildListRequestChildEject(
861 #endif // (NTDDI_VERSION >= NTDDI_WIN2K) 867 #endif // _WDFCHILDLIST_H_ PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY EvtChildListAddressDescriptionCopy
EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP * PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP
#define _Must_inspect_result_
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE EvtChildListIdentificationDescriptionCompare
EVT_WDF_CHILD_LIST_SCAN_FOR_CHILDREN * PFN_WDF_CHILD_LIST_SCAN_FOR_CHILDREN
PFN_WDF_CHILD_LIST_CREATE_DEVICE EvtChildListCreateDevice
struct _WDF_CHILD_LIST_ITERATOR * PWDF_CHILD_LIST_ITERATOR
PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
struct _WDF_CHILD_RETRIEVE_INFO * PWDF_CHILD_RETRIEVE_INFO
ULONG AddressDescriptionSize
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE EvtChildListIdentificationDescriptionDuplicate
_In_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER _In_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER SecondIdentificationDescription
_Must_inspect_result_ _IRQL_requires_max_(PASSIVE_LEVEL) WDFAPI NTSTATUS(STDCALL *PFN_WDFCHILDLISTCREATE)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals
struct _WDF_CHILD_LIST_CONFIG * PWDF_CHILD_LIST_CONFIG
_WDF_RETRIEVE_CHILD_FLAGS
struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER * PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER
struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER WDF_CHILD_ADDRESS_DESCRIPTION_HEADER
typedef _Function_class_(EVT_WDF_CHILD_LIST_CREATE_DEVICE) _IRQL_requires_same_ _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS STDCALL EVT_WDF_CHILD_LIST_CREATE_DEVICE(_In_ WDFCHILDLIST ChildList
FORCEINLINE VOID WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_INIT(_Out_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER Header, _In_ ULONG AddressDescriptionSize)
_In_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER SourceIdentificationDescription
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
FORCEINLINE VOID WDF_CHILD_LIST_ITERATOR_INIT(_Out_ PWDF_CHILD_LIST_ITERATOR Iterator, _In_ ULONG Flags)
PFN_WDF_CHILD_LIST_SCAN_FOR_CHILDREN EvtChildListScanForChildren
FORCEINLINE VOID WDF_CHILD_RETRIEVE_INFO_INIT(_Out_ PWDF_CHILD_RETRIEVE_INFO Info, _In_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription)
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY EvtChildListIdentificationDescriptionCopy
EVT_WDF_CHILD_LIST_CREATE_DEVICE * PFN_WDF_CHILD_LIST_CREATE_DEVICE
struct _WDF_CHILD_LIST_ITERATOR WDF_CHILD_LIST_ITERATOR
EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY * PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY
_Inout_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
struct _WDF_CHILD_LIST_CONFIG WDF_CHILD_LIST_CONFIG
FORCEINLINE VOID WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_INIT(_Out_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER Header, _In_ ULONG IdentificationDescriptionSize)
#define _IRQL_requires_same_
_Reserved_ PVOID Reserved
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE EvtChildListIdentificationDescriptionCompare
PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription
_In_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER _Out_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER DestinationAddressDescription
WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS Status
PWDF_DRIVER_GLOBALS WdfDriverGlobals
WDF_EXTERN_C_START enum _WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS
struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER
_Must_inspect_result_ _In_ ULONG Flags
PFN_WDF_CHILD_LIST_DEVICE_REENUMERATED EvtChildListDeviceReenumerated
_In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR Iterator
_In_ WDFDEVICE _In_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER OldAddressDescription
EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED * PFN_WDF_CHILD_LIST_DEVICE_REENUMERATED
_In_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription
_In_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER _In_ PWDFDEVICE_INIT ChildInit
_WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS
_In_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER _Out_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER DestinationIdentificationDescription
_In_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER FirstIdentificationDescription
EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE * PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE
_Must_inspect_result_ _In_ WDFDEVICE Device
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
_Must_inspect_result_ _In_ WDFCHILDLIST _Inout_ PWDF_CHILD_RETRIEVE_INFO RetrieveInfo
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFCHILDLIST * ChildList
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE EvtChildListAddressDescriptionDuplicate
enum _WDF_RETRIEVE_CHILD_FLAGS WDF_RETRIEVE_CHILD_FLAGS
_In_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER SourceAddressDescription
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP EvtChildListIdentificationDescriptionCleanup
WDF_EXTERN_C_START enum _WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS * PWDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS
ULONG IdentificationDescriptionSize
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES ChildListAttributes
#define WDF_EXTERN_C_START
struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER * PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER
#define RtlZeroMemory(Destination, Length)
struct _WDF_CHILD_RETRIEVE_INFO WDF_CHILD_RETRIEVE_INFO
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE
_In_ WDFDEVICE _In_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER _Out_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER NewAddressDescription
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP EvtChildListAddressDescriptionCleanup
description Header IdentificationDescriptionSize
FORCEINLINE VOID WDF_CHILD_LIST_CONFIG_INIT(_Out_ PWDF_CHILD_LIST_CONFIG Config, _In_ ULONG IdentificationDescriptionSize, _In_ PFN_WDF_CHILD_LIST_CREATE_DEVICE EvtChildListCreateDevice)