reactos/sdk/include/wdf/kmdf/1.17/wdfcollection.h

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_