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;
120EVT_WDF_CHILD_LIST_CREATE_DEVICE(
137EVT_WDF_CHILD_LIST_SCAN_FOR_CHILDREN(
150EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY(
167EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE(
184EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE(
201EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP(
216EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY(
233EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE(
250EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP(
265EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED(
425 Config->EvtChildListCreateDevice = EvtChildListCreateDevice;
470(
STDCALL *PFN_WDFCHILDLISTCREATE)(
508(
STDCALL *PFN_WDFCHILDLISTGETDEVICE)(
518WdfChildListGetDevice(
534(
STDCALL *PFN_WDFCHILDLISTRETRIEVEPDO)(
547WdfChildListRetrievePdo(
565(
STDCALL *PFN_WDFCHILDLISTRETRIEVEADDRESSDESCRIPTION)(
580WdfChildListRetrieveAddressDescription(
599(
STDCALL *PFN_WDFCHILDLISTBEGINSCAN)(
609WdfChildListBeginScan(
624(
STDCALL *PFN_WDFCHILDLISTENDSCAN)(
649(
STDCALL *PFN_WDFCHILDLISTBEGINITERATION)(
661WdfChildListBeginIteration(
679(
STDCALL *PFN_WDFCHILDLISTRETRIEVENEXTDEVICE)(
696WdfChildListRetrieveNextDevice(
717(
STDCALL *PFN_WDFCHILDLISTENDITERATION)(
729WdfChildListEndIteration(
747(
STDCALL *PFN_WDFCHILDLISTADDORUPDATECHILDDESCRIPTIONASPRESENT)(
762WdfChildListAddOrUpdateChildDescriptionAsPresent(
782(
STDCALL *PFN_WDFCHILDLISTUPDATECHILDDESCRIPTIONASMISSING)(
795WdfChildListUpdateChildDescriptionAsMissing(
812(
STDCALL *PFN_WDFCHILDLISTUPDATEALLCHILDDESCRIPTIONSASPRESENT)(
822WdfChildListUpdateAllChildDescriptionsAsPresent(
837(
STDCALL *PFN_WDFCHILDLISTREQUESTCHILDEJECT)(
849WdfChildListRequestChildEject(
#define _IRQL_requires_same_
description Header IdentificationDescriptionSize
#define _Function_class_(x)
#define _Must_inspect_result_
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE EvtChildListIdentificationDescriptionDuplicate
ULONG AddressDescriptionSize
PFN_WDF_CHILD_LIST_SCAN_FOR_CHILDREN EvtChildListScanForChildren
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE EvtChildListAddressDescriptionDuplicate
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY EvtChildListAddressDescriptionCopy
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE EvtChildListIdentificationDescriptionCompare
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY EvtChildListIdentificationDescriptionCopy
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP EvtChildListIdentificationDescriptionCleanup
PFN_WDF_CHILD_LIST_DEVICE_REENUMERATED EvtChildListDeviceReenumerated
ULONG IdentificationDescriptionSize
PFN_WDF_CHILD_LIST_CREATE_DEVICE EvtChildListCreateDevice
PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP EvtChildListAddressDescriptionCleanup
PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription
PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE EvtChildListIdentificationDescriptionCompare
PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS Status
#define RtlZeroMemory(Destination, Length)
FORCEINLINE VOID WDF_CHILD_LIST_CONFIG_INIT(_Out_ PWDF_CHILD_LIST_CONFIG Config, _In_ ULONG IdentificationDescriptionSize, _In_ PFN_WDF_CHILD_LIST_CREATE_DEVICE EvtChildListCreateDevice)
_In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR Iterator
_Must_inspect_result_ _In_ WDFCHILDLIST _Inout_ PWDF_CHILD_RETRIEVE_INFO RetrieveInfo
_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
struct _WDF_CHILD_LIST_ITERATOR * PWDF_CHILD_LIST_ITERATOR
_Must_inspect_result_ _In_ WDFDEVICE Device
struct _WDF_CHILD_LIST_CONFIG * PWDF_CHILD_LIST_CONFIG
struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER * PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER
_WDF_RETRIEVE_CHILD_FLAGS
@ WdfRetrievePendingChildren
@ WdfRetrieveAddedChildren
@ WdfRetrieveMissingChildren
@ WdfRetrievePresentChildren
struct _WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER
_In_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER _In_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER SecondIdentificationDescription
struct _WDF_CHILD_RETRIEVE_INFO WDF_CHILD_RETRIEVE_INFO
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES ChildListAttributes
_In_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription
struct _WDF_CHILD_LIST_ITERATOR WDF_CHILD_LIST_ITERATOR
struct _WDF_CHILD_RETRIEVE_INFO * PWDF_CHILD_RETRIEVE_INFO
FORCEINLINE VOID WDF_CHILD_ADDRESS_DESCRIPTION_HEADER_INIT(_Out_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER Header, _In_ ULONG AddressDescriptionSize)
EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY * PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_COPY
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFCHILDLIST * ChildList
EVT_WDF_CHILD_LIST_SCAN_FOR_CHILDREN * PFN_WDF_CHILD_LIST_SCAN_FOR_CHILDREN
EVT_WDF_CHILD_LIST_CREATE_DEVICE * PFN_WDF_CHILD_LIST_CREATE_DEVICE
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COPY
_In_ WDFDEVICE _In_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER OldAddressDescription
#define WDF_EXTERN_C_START
WDF_EXTERN_C_START enum _WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS * PWDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER * PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER
_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_CLEANUP * PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_CLEANUP
_WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS
@ WdfChildListRetrieveDeviceNotYetCreated
@ WdfChildListRetrieveDeviceUndefined
@ WdfChildListRetrieveDeviceNoSuchDevice
@ WdfChildListRetrieveDeviceSuccess
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_DUPLICATE
_In_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER SourceAddressDescription
_In_ WDFDEVICE _In_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER _Out_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER NewAddressDescription
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_CLEANUP
struct _WDF_CHILD_LIST_CONFIG WDF_CHILD_LIST_CONFIG
EVT_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE * PFN_WDF_CHILD_LIST_ADDRESS_DESCRIPTION_DUPLICATE
EVT_WDF_CHILD_LIST_DEVICE_REENUMERATED * PFN_WDF_CHILD_LIST_DEVICE_REENUMERATED
WDF_EXTERN_C_START enum _WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS WDF_CHILD_LIST_RETRIEVE_DEVICE_STATUS
struct _WDF_CHILD_ADDRESS_DESCRIPTION_HEADER WDF_CHILD_ADDRESS_DESCRIPTION_HEADER
_Inout_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription
FORCEINLINE VOID WDF_CHILD_LIST_ITERATOR_INIT(_Out_ PWDF_CHILD_LIST_ITERATOR Iterator, _In_ ULONG Flags)
enum _WDF_RETRIEVE_CHILD_FLAGS WDF_RETRIEVE_CHILD_FLAGS
FORCEINLINE VOID WDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER_INIT(_Out_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER Header, _In_ ULONG IdentificationDescriptionSize)
_In_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER _In_ PWDFDEVICE_INIT ChildInit
_In_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER _Out_ PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER DestinationAddressDescription
EVT_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE * PFN_WDF_CHILD_LIST_IDENTIFICATION_DESCRIPTION_COMPARE
_Must_inspect_result_ _IRQL_requires_max_(PASSIVE_LEVEL) WDFAPI NTSTATUS(STDCALL *PFN_WDFCHILDLISTCREATE)(_In_ PWDF_DRIVER_GLOBALS DriverGlobals
Modifies some information data about a security descriptor.
FORCEINLINE VOID WDF_CHILD_RETRIEVE_INFO_INIT(_Out_ PWDF_CHILD_RETRIEVE_INFO Info, _In_ PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription)
PWDF_DRIVER_GLOBALS WdfDriverGlobals
@ WdfChildListRetrievePdoTableIndex
@ WdfChildListBeginIterationTableIndex
@ WdfChildListRetrieveNextDeviceTableIndex
@ WdfChildListEndIterationTableIndex
@ WdfChildListRetrieveAddressDescriptionTableIndex
@ WdfChildListRequestChildEjectTableIndex
@ WdfChildListCreateTableIndex
@ WdfChildListGetDeviceTableIndex
@ WdfChildListUpdateAllChildDescriptionsAsPresentTableIndex
@ WdfChildListAddOrUpdateChildDescriptionAsPresentTableIndex
@ WdfChildListUpdateChildDescriptionAsMissingTableIndex
@ WdfChildListEndScanTableIndex
@ WdfChildListBeginScanTableIndex
_Reserved_ PVOID Reserved
_Must_inspect_result_ _In_ ULONG Flags