42 ok(0,
"Callback function unexpectedly called\n");
61 "ExAllocateCallBack and/or ExFreeCallBack unavailable\n"))
65 ok(CallbackBlock !=
NULL,
"CallbackBlock = NULL\n");
67 if (
skip(CallbackBlock !=
NULL,
"Allocating callback failed\n"))
100 PVOID CallbackRegistration;
101 INT InvocationCount = 0;
126 "CallbackObject = %p", CallbackObject);
134 ok(CallbackRegistration !=
NULL,
"CallbackRegistration = NULL\n");
136 if (!
skip(CallbackRegistration !=
NULL,
"Registering callback failed\n"))
static NTSTATUS NTAPI ExCallbackFunction(IN PVOID CallbackContext, IN PVOID Argument1 OPTIONAL, IN PVOID Argument2 OPTIONAL)
static VOID TestPrivateFunctions(VOID)
static INT CallbackArgument1
static INT CallbackArgument2
#define ok_eq_pointer(value, expected)
#define ok_eq_hex(value, expected)
#define ok_eq_int(value, expected)
_In_ CDROM_SCAN_FOR_SPECIAL_INFO _In_ PCDROM_SCAN_FOR_SPECIAL_HANDLER Function
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
#define NT_SUCCESS(StatCode)
#define OBJ_CASE_INSENSITIVE
#define KmtInvalidPointer
ULONG KmtGetPoolTag(PVOID Memory)
#define InitializeObjectAttributes(p, n, a, r, s)
struct _EX_CALLBACK_ROUTINE_BLOCK * PEX_CALLBACK_ROUTINE_BLOCK
VOID NTAPI ExUnregisterCallback(IN PVOID CallbackRegistrationHandle)
VOID NTAPI ExNotifyCallback(IN PCALLBACK_OBJECT CallbackObject, IN PVOID Argument1, IN PVOID Argument2)
PVOID NTAPI ExRegisterCallback(IN PCALLBACK_OBJECT CallbackObject, IN PCALLBACK_FUNCTION CallbackFunction, IN PVOID CallbackContext)
NTSTATUS NTAPI ExCreateCallback(OUT PCALLBACK_OBJECT *CallbackObject, IN POBJECT_ATTRIBUTES ObjectAttributes, IN BOOLEAN Create, IN BOOLEAN AllowMultipleCallbacks)
VOID NTAPI ExFreeCallBack(IN PEX_CALLBACK_ROUTINE_BLOCK CallbackBlock)
PEX_CALLBACK_ROUTINE_BLOCK NTAPI ExAllocateCallBack(IN PEX_CALLBACK_FUNCTION Function, IN PVOID Context)
PULONG MinorVersion OPTIONAL
PEX_CALLBACK_FUNCTION Function
PVOID NTAPI MmGetSystemRoutineAddress(IN PUNICODE_STRING SystemRoutineName)
#define RTL_CONSTANT_STRING(s)
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR _In_ ULONGLONG _In_ ULONGLONG _In_opt_ PEVENT_FILTER_DESCRIPTOR _Inout_opt_ PVOID CallbackContext
_IRQL_requires_same_ _In_opt_ PVOID Argument1
EX_CALLBACK_FUNCTION * PEX_CALLBACK_FUNCTION
_In_ PCALLBACK_FUNCTION CallbackFunction
#define ObDereferenceObject