* Sync up to trunk r55544.
[reactos.git] / include / xdk / cmfuncs.h
1 /******************************************************************************
2 * Configuration Manager Functions *
3 ******************************************************************************/
4
5 $if (_WDMDDK_)
6 #if (NTDDI_VERSION >= NTDDI_WINXP)
7 _IRQL_requires_max_(APC_LEVEL)
8 NTKERNELAPI
9 NTSTATUS
10 NTAPI
11 CmRegisterCallback(
12 _In_ PEX_CALLBACK_FUNCTION Function,
13 _In_opt_ PVOID Context,
14 _Out_ PLARGE_INTEGER Cookie);
15
16 _IRQL_requires_max_(APC_LEVEL)
17 NTKERNELAPI
18 NTSTATUS
19 NTAPI
20 CmUnRegisterCallback(
21 _In_ LARGE_INTEGER Cookie);
22 #endif
23
24 #if (NTDDI_VERSION >= NTDDI_VISTA)
25
26 _IRQL_requires_max_(APC_LEVEL)
27 NTKERNELAPI
28 NTSTATUS
29 NTAPI
30 CmRegisterCallbackEx(
31 _In_ PEX_CALLBACK_FUNCTION Function,
32 _In_ PCUNICODE_STRING Altitude,
33 _In_ PVOID Driver,
34 _In_opt_ PVOID Context,
35 _Out_ PLARGE_INTEGER Cookie,
36 _Reserved_ PVOID Reserved);
37
38 _IRQL_requires_max_(APC_LEVEL)
39 NTKERNELAPI
40 VOID
41 NTAPI
42 CmGetCallbackVersion(
43 _Out_opt_ PULONG Major,
44 _Out_opt_ PULONG Minor);
45
46 _IRQL_requires_max_(APC_LEVEL)
47 NTKERNELAPI
48 NTSTATUS
49 NTAPI
50 CmSetCallbackObjectContext(
51 _Inout_ PVOID Object,
52 _In_ PLARGE_INTEGER Cookie,
53 _In_ PVOID NewContext,
54 _Out_opt_ PVOID *OldContext);
55
56 _IRQL_requires_max_(APC_LEVEL)
57 NTKERNELAPI
58 NTSTATUS
59 NTAPI
60 CmCallbackGetKeyObjectID(
61 _In_ PLARGE_INTEGER Cookie,
62 _In_ PVOID Object,
63 _Out_opt_ PULONG_PTR ObjectID,
64 _Outptr_opt_ PCUNICODE_STRING *ObjectName);
65
66 _IRQL_requires_max_(APC_LEVEL)
67 NTKERNELAPI
68 PVOID
69 NTAPI
70 CmGetBoundTransaction(
71 _In_ PLARGE_INTEGER Cookie,
72 _In_ PVOID Object);
73
74 #endif // NTDDI_VERSION >= NTDDI_VISTA
75
76 $endif (_WDMDDK_)
77