#include "cmp.h"
Go to the source code of this file.
Defines | |
#define | CmpCheckPostBlock(a) |
Functions | |
VOID | CmpReportNotifyHelper (PCM_KEY_CONTROL_BLOCK KeyControlBlock, IN PHHIVE SearchHive, IN PHHIVE Hive, IN PCM_KEY_NODE Node, IN ULONG Filter) |
VOID | CmpCancelSlavePost (PCM_POST_BLOCK PostBlock, PLIST_ENTRY DelayedDeref) |
VOID | CmpFreeSlavePost (PCM_POST_BLOCK MasterPostBlock) |
VOID | CmpAddToDelayedDeref (PCM_POST_BLOCK PostBlock, PLIST_ENTRY DelayedDeref) |
VOID | CmpDelayedDerefKeys (PLIST_ENTRY DelayedDeref) |
BOOLEAN | CmpNotifyTriggerCheck (IN PCM_NOTIFY_BLOCK NotifyBlock, IN PHHIVE Hive, IN PCM_KEY_NODE Node) |
VOID | CmpDummyApc (struct _KAPC *Apc, PVOID *SystemArgument1, PVOID *SystemArgument2) |
VOID | CmpReportNotify (PCM_KEY_CONTROL_BLOCK KeyControlBlock, PHHIVE Hive, HCELL_INDEX Cell, ULONG Filter) |
VOID | CmpPostNotify (PCM_NOTIFY_BLOCK NotifyBlock, PUNICODE_STRING Name OPTIONAL, ULONG Filter, NTSTATUS Status, PLIST_ENTRY ExternalKeyDeref OPTIONAL) |
VOID | CmpPostApc (struct _KAPC *Apc, PKNORMAL_ROUTINE *NormalRoutine, PVOID *NormalContext, PVOID *SystemArgument1, PVOID *SystemArgument2) |
VOID | CmpPostApcRunDown (struct _KAPC *Apc) |
VOID | CmNotifyRunDown (PETHREAD Thread) |
VOID | CmpFlushNotify (PCM_KEY_BODY KeyBody) |
NTSTATUS | CmpNotifyChangeKey (IN PCM_KEY_BODY KeyBody, IN PCM_POST_BLOCK PostBlock, IN ULONG CompletionFilter, IN BOOLEAN WatchTree, IN PVOID Buffer, IN ULONG BufferSize, IN PCM_POST_BLOCK MasterPostBlock) |
Variables | |
PCMHIVE | CmpMasterHive |
|
Definition at line 85 of file cmnotify.c. Referenced by CmpPostApc(). |
|
Definition at line 1028 of file cmnotify.c. References _CM_ASYNC_USER_POST_BLOCK::Apc, APC_LEVEL, _CM_POST_BLOCK_UNION::AsyncUser, _CM_POST_BLOCK::CancelPostList, CML_API, CMLOG, CmpCancelSlavePost(), CmpClearListEntry, CmpFreePostBlock(), CmpFreeSlavePost(), CmpLockRegistryExclusive(), CmpRemoveEntryList, CmpSetIoStatus, CmpUnlockRegistry(), CMS_EXCEPTION, CMS_NTAPI, EXCEPTION_EXECUTE_HANDLER, FALSE, _CM_ASYNC_USER_POST_BLOCK::IoStatusBlock, IsMasterPostBlock, KeLowerIrql(), KeRaiseIrql(), KeRemoveQueueApc(), KeSetEvent(), L, _CM_POST_BLOCK::NotifyList, NULL, ObDereferenceObject, PAGED_CODE, PostAsyncUser, _ETHREAD::PostBlockList, PostBlockType, PsGetCurrentProcess, _CM_POST_BLOCK::ThreadList, TRUE, _CM_POST_BLOCK::u, and _CM_ASYNC_USER_POST_BLOCK::UserEvent. Referenced by PspExitThread().
|
|
Definition at line 1845 of file cmnotify.c. References ASSERT, _CM_POST_KEY_BODY::KeyBody, _CM_POST_KEY_BODY::KeyBodyList, NULL, PAGED_CODE, and _CM_POST_BLOCK::PostKeyBody. Referenced by CmpCancelSlavePost(), and CmpPostNotify().
|
|
Definition at line 1738 of file cmnotify.c. References ASSERT, ASSERT_CM_LOCK_OWNED, _CM_POST_BLOCK::CancelPostList, CML_MAJOR, CMLOG, CmpAddToDelayedDeref(), CmpRemoveEntryList, CMS_NOTIFY, IsMasterPostBlock, _CM_POST_BLOCK::NotifyList, PAGED_CODE, and TRUE. Referenced by CmNotifyRunDown(), and CmpPostNotify().
|
|
Definition at line 1900 of file cmnotify.c. References ASSERT, CM_POST_KEY_BODY, ExFreePool(), FALSE, KEY_BODY_TYPE, _CM_POST_KEY_BODY::KeyBody, NULL, ObDereferenceObject, PAGED_CODE, PCM_POST_KEY_BODY, and _CM_KEY_BODY::Type. Referenced by CmpPostNotify(), and CmpReportNotifyHelper().
|
|
Definition at line 159 of file cmnotify.c. Referenced by NtNotifyChangeMultipleKeys().
|
|
Definition at line 1235 of file cmnotify.c. References ASSERT, ASSERT_CM_LOCK_OWNED, CML_MAJOR, CmLockHive, CMLOG, CmpClearListEntry, CmpInitializeKeyNameString(), CmpPostNotify(), CMS_NOTIFY, CmUnlockHive, DbgPrint, _CM_KEY_CONTROL_BLOCK::Delete, ExAllocatePool, ExFreePool(), FALSE, Hive, _CM_NOTIFY_BLOCK::HiveList, HiveList, _CM_KEY_BODY::KeyControlBlock, _CM_KEY_CONTROL_BLOCK::KeyHive, KeyName, _CM_KEY_CONTROL_BLOCK::KeyNode, MAX_KEY_NAME_LENGTH, _CM_KEY_BODY::NotifyBlock, NULL, PAGED_CODE, PagedPool, _CM_NOTIFY_BLOCK::PostList, SeReleaseSubjectContext(), and _CM_NOTIFY_BLOCK::SubjectContext. Referenced by CmDeleteKey(), CmpDeleteKeyObject(), CmpRefreshHive(), and NtUnloadKey().
|
|
Definition at line 1634 of file cmnotify.c. References ASSERT, _CM_POST_BLOCK::CancelPostList, CML_MAJOR, CMLOG, CmpFreePostBlock(), CmpRemoveEntryList, CMS_NOTIFY, IsMasterPostBlock, PAGED_CODE, _CM_POST_BLOCK::ThreadList, and TRUE. Referenced by CmNotifyRunDown(), CmpPostApc(), and CmpPostApcRunDown().
|
|
Definition at line 1378 of file cmnotify.c. References APC_LEVEL, ASSERT, ASSERT_CM_LOCK_OWNED_EXCLUSIVE, CM_NOTIFY_BLOCK, CML_MINOR, CML_WORKER, CMLOG, CmpFreePostBlock(), CmpInitializeKeyNameString(), CmpPostNotify(), CMS_NOTIFY, CMS_POOL, ExAllocatePool, ExAllocatePoolWithQuotaTag, ExFreePool(), FALSE, _CM_NOTIFY_BLOCK::Filter, Hive, _CM_NOTIFY_BLOCK::HiveList, HiveList, IsMasterPostBlock, KeLowerIrql(), KeRaiseIrql(), _CM_NOTIFY_BLOCK::KeyBody, _CM_NOTIFY_BLOCK::KeyControlBlock, KeyName, MAX_KEY_NAME_LENGTH, _CM_NOTIFY_BLOCK::NotifyPending, NULL, PAGED_CODE, PagedPool, POOL_QUOTA_FAIL_INSTEAD_OF_RAISE, _CM_NOTIFY_BLOCK::PostList, PsGetCurrentThread, SeCaptureSubjectContext(), _CM_NOTIFY_BLOCK::SubjectContext, _CM_KEY_CONTROL_BLOCK::TotalLevels, TRUE, WatchTree, and _CM_NOTIFY_BLOCK::WatchTree. Referenced by NtNotifyChangeMultipleKeys().
|
|
Definition at line 281 of file cmnotify.c. References ASSERT, CM_POST_BLOCK, CmpCheckNotifyAccess(), FALSE, Hive, _CM_POST_BLOCK::NotifyList, PAGED_CODE, POST_BLOCK_TYPE, PostAsyncKernel, PostBlockType, and TRUE. Referenced by CmpReportNotifyHelper().
|
|
Definition at line 804 of file cmnotify.c. References _CM_POST_BLOCK_UNION::AsyncUser, CML_MAJOR, CMLOG, CmpCheckPostBlock, CmpFreePostBlock(), CmpFreeSlavePost(), CmpRemoveEntryList, CmpSetIoStatus, CMS_NOTIFY, EXCEPTION_EXECUTE_HANDLER, FALSE, _CM_ASYNC_USER_POST_BLOCK::IoStatusBlock, KeSetEvent(), L, NULL, ObDereferenceObject, PAGED_CODE, PsGetCurrentProcess, _CM_POST_BLOCK::ThreadList, _CM_POST_BLOCK::u, and _CM_ASYNC_USER_POST_BLOCK::UserEvent. Referenced by NtNotifyChangeMultipleKeys().
|
|
Definition at line 922 of file cmnotify.c. References APC_LEVEL, _CM_POST_BLOCK_UNION::AsyncUser, CML_MAJOR, CMLOG, CmpFreePostBlock(), CmpFreeSlavePost(), CmpRemoveEntryList, CmpSetIoStatus, CMS_NOTIFY, EXCEPTION_EXECUTE_HANDLER, FALSE, _CM_ASYNC_USER_POST_BLOCK::IoStatusBlock, KeLowerIrql(), KeRaiseIrql(), KeSetEvent(), L, NULL, ObDereferenceObject, PAGED_CODE, PsGetCurrentProcess, _KAPC::SystemArgument2, _CM_POST_BLOCK::ThreadList, _CM_POST_BLOCK::u, and _CM_ASYNC_USER_POST_BLOCK::UserEvent. Referenced by NtNotifyChangeMultipleKeys().
|
|
Definition at line 487 of file cmnotify.c. References _CM_ASYNC_USER_POST_BLOCK::Apc, APC_LEVEL, ASSERT, ASSERT_CM_LOCK_OWNED, _CM_POST_BLOCK_UNION::AsyncUser, _CM_POST_BLOCK::CancelPostList, ClearMasterPostBlockFlag, CML_MAJOR, CMLOG, CmpAddToDelayedDeref(), CmpCancelSlavePost(), CmpClearListEntry, CmpDelayedDerefKeys(), CmpFreePostBlock(), CmpInitializeKeyNameString(), CmpRemoveEntryList, CMS_NOTIFY, ExAllocatePool, ExFreePool(), ExQueueWorkItem(), FALSE, Filter, IsMasterPostBlock, KeInsertQueueApc(), KeLowerIrql(), KeRaiseIrql(), KeSetEvent(), _CM_NOTIFY_BLOCK::KeyControlBlock, KeyName, _CM_KEY_CONTROL_BLOCK::KeyNode, LOCK_POST_LIST, MAX_KEY_NAME_LENGTH, Name, _CM_POST_BLOCK::NotifyList, _CM_NOTIFY_BLOCK::NotifyPending, _CM_POST_BLOCK::NotifyType, NULL, ObDereferenceObject, PAGED_CODE, PagedPool, PostAsyncKernel, PostAsyncUser, PostBlockType, _CM_NOTIFY_BLOCK::PostList, PostSynchronous, SetMasterPostBlockFlag, Status, _CM_SYNC_POST_BLOCK::Status, _CM_POST_BLOCK_UNION::Sync, _CM_SYNC_POST_BLOCK::SystemEvent, _CM_POST_BLOCK::ThreadList, TRUE, _CM_POST_BLOCK::u, and UNLOCK_POST_LIST. Referenced by CmpCloseKeyObject(), CmpFlushNotify(), CmpNotifyChangeKey(), and CmpReportNotifyHelper().
|
|
Definition at line 191 of file cmnotify.c.
|
|
Definition at line 357 of file cmnotify.c. References APC_LEVEL, CM_NOTIFY_BLOCK, CmpDelayedDerefKeys(), CmpNotifyTriggerCheck(), CmpPostNotify(), Filter, _CM_NOTIFY_BLOCK::Filter, Hive, HiveList, kcb(), KeLowerIrql(), KeRaiseIrql(), _CM_NOTIFY_BLOCK::KeyControlBlock, _CM_KEY_CONTROL_BLOCK::KeyNode, _CMHIVE::NotifyList, NULL, PAGED_CODE, _CM_KEY_CONTROL_BLOCK::TotalLevels, TRUE, USHORT, and _CM_NOTIFY_BLOCK::WatchTree. Referenced by CmpReportNotify().
|
|
Definition at line 93 of file cmnotify.c. |