mirror of
https://github.com/reactos/reactos.git
synced 2024-11-01 12:26:32 +00:00
285 lines
5.1 KiB
C
285 lines
5.1 KiB
C
/*++
|
|
|
|
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_
|
|
|