/*++ Copyright (c) Microsoft Corporation. All rights reserved. _WdfVersionBuild_ Module Name: WdfCollection.h Abstract: This is the interface to the collection object Environment: kernel mode only Revision History: --*/ // // NOTE: This header is generated by stubwork. Please make any // modifications to the corresponding template files // (.x or .y) and use stubwork to regenerate the header // #ifndef _WDFCOLLECTION_H_ #define _WDFCOLLECTION_H_ #ifndef WDF_EXTERN_C #ifdef __cplusplus #define WDF_EXTERN_C extern "C" #define WDF_EXTERN_C_START extern "C" { #define WDF_EXTERN_C_END } #else #define WDF_EXTERN_C #define WDF_EXTERN_C_START #define WDF_EXTERN_C_END #endif #endif WDF_EXTERN_C_START #if (NTDDI_VERSION >= NTDDI_WIN2K) // // WDF Function: WdfCollectionCreate // typedef _Must_inspect_result_ _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI NTSTATUS (STDCALL *PFN_WDFCOLLECTIONCREATE)( _In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_opt_ PWDF_OBJECT_ATTRIBUTES CollectionAttributes, _Out_ WDFCOLLECTION* Collection ); _Must_inspect_result_ _IRQL_requires_max_(DISPATCH_LEVEL) FORCEINLINE NTSTATUS WdfCollectionCreate( _In_opt_ PWDF_OBJECT_ATTRIBUTES CollectionAttributes, _Out_ WDFCOLLECTION* Collection ) { return ((PFN_WDFCOLLECTIONCREATE) WdfFunctions[WdfCollectionCreateTableIndex])(WdfDriverGlobals, CollectionAttributes, Collection); } // // WDF Function: WdfCollectionGetCount // typedef _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI ULONG (STDCALL *PFN_WDFCOLLECTIONGETCOUNT)( _In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFCOLLECTION Collection ); _IRQL_requires_max_(DISPATCH_LEVEL) FORCEINLINE ULONG WdfCollectionGetCount( _In_ WDFCOLLECTION Collection ) { return ((PFN_WDFCOLLECTIONGETCOUNT) WdfFunctions[WdfCollectionGetCountTableIndex])(WdfDriverGlobals, Collection); } // // WDF Function: WdfCollectionAdd // typedef _Must_inspect_result_ _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI NTSTATUS (STDCALL *PFN_WDFCOLLECTIONADD)( _In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFCOLLECTION Collection, _In_ WDFOBJECT Object ); _Must_inspect_result_ _IRQL_requires_max_(DISPATCH_LEVEL) FORCEINLINE NTSTATUS WdfCollectionAdd( _In_ WDFCOLLECTION Collection, _In_ WDFOBJECT Object ) { return ((PFN_WDFCOLLECTIONADD) WdfFunctions[WdfCollectionAddTableIndex])(WdfDriverGlobals, Collection, Object); } // // WDF Function: WdfCollectionRemove // typedef _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI VOID (STDCALL *PFN_WDFCOLLECTIONREMOVE)( _In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFCOLLECTION Collection, _In_ WDFOBJECT Item ); _IRQL_requires_max_(DISPATCH_LEVEL) FORCEINLINE VOID WdfCollectionRemove( _In_ WDFCOLLECTION Collection, _In_ WDFOBJECT Item ) { ((PFN_WDFCOLLECTIONREMOVE) WdfFunctions[WdfCollectionRemoveTableIndex])(WdfDriverGlobals, Collection, Item); } // // WDF Function: WdfCollectionRemoveItem // typedef _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI VOID (STDCALL *PFN_WDFCOLLECTIONREMOVEITEM)( _In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFCOLLECTION Collection, _In_ ULONG Index ); _IRQL_requires_max_(DISPATCH_LEVEL) FORCEINLINE VOID WdfCollectionRemoveItem( _In_ WDFCOLLECTION Collection, _In_ ULONG Index ) { ((PFN_WDFCOLLECTIONREMOVEITEM) WdfFunctions[WdfCollectionRemoveItemTableIndex])(WdfDriverGlobals, Collection, Index); } // // WDF Function: WdfCollectionGetItem // typedef _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI WDFOBJECT (STDCALL *PFN_WDFCOLLECTIONGETITEM)( _In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFCOLLECTION Collection, _In_ ULONG Index ); _IRQL_requires_max_(DISPATCH_LEVEL) FORCEINLINE WDFOBJECT WdfCollectionGetItem( _In_ WDFCOLLECTION Collection, _In_ ULONG Index ) { return ((PFN_WDFCOLLECTIONGETITEM) WdfFunctions[WdfCollectionGetItemTableIndex])(WdfDriverGlobals, Collection, Index); } // // WDF Function: WdfCollectionGetFirstItem // typedef _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI WDFOBJECT (STDCALL *PFN_WDFCOLLECTIONGETFIRSTITEM)( _In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFCOLLECTION Collection ); _IRQL_requires_max_(DISPATCH_LEVEL) FORCEINLINE WDFOBJECT WdfCollectionGetFirstItem( _In_ WDFCOLLECTION Collection ) { return ((PFN_WDFCOLLECTIONGETFIRSTITEM) WdfFunctions[WdfCollectionGetFirstItemTableIndex])(WdfDriverGlobals, Collection); } // // WDF Function: WdfCollectionGetLastItem // typedef _IRQL_requires_max_(DISPATCH_LEVEL) WDFAPI WDFOBJECT (STDCALL *PFN_WDFCOLLECTIONGETLASTITEM)( _In_ PWDF_DRIVER_GLOBALS DriverGlobals, _In_ WDFCOLLECTION Collection ); _IRQL_requires_max_(DISPATCH_LEVEL) FORCEINLINE WDFOBJECT WdfCollectionGetLastItem( _In_ WDFCOLLECTION Collection ) { return ((PFN_WDFCOLLECTIONGETLASTITEM) WdfFunctions[WdfCollectionGetLastItemTableIndex])(WdfDriverGlobals, Collection); } #endif // (NTDDI_VERSION >= NTDDI_WIN2K) WDF_EXTERN_C_END #endif // _WDFCOLLECTION_H_