MCPcopy Create free account
hub / github.com/BeneficialCode/WinArk / GetObCallbackCount

Function GetObCallbackCount

KernelLibrary/SysMon.cpp:593–613  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

591}
592
593LONG GetObCallbackCount(POBJECT_TYPE objectType, ULONG callbackListOffset) {
594 PLIST_ENTRY callbackListHead = nullptr;
595 PLIST_ENTRY nextEntry = nullptr;
596 POB_CALLBACK_ENTRY callbackEntry = nullptr;
597 volatile LONG count = 0;
598
599 if (!objectType) {
600 return count;
601 }
602
603 callbackListHead = (PLIST_ENTRY)((PUCHAR)objectType + callbackListOffset);
604 nextEntry = callbackListHead->Flink;
605
606 while (nextEntry != callbackListHead) {
607 callbackEntry = CONTAINING_RECORD(nextEntry, OB_CALLBACK_ENTRY, EntryItemList);
608 InterlockedIncrement(&count);
609 nextEntry = nextEntry->Flink;
610 }
611
612 return count;
613}
614
615NTSTATUS BackupFile(_In_ PUNICODE_STRING FileName) {
616 NTSTATUS status = STATUS_SUCCESS;

Callers 2

RefreshMethod · 0.85
AntiRootkitDeviceControlFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected