90 if (ObjectSecurityDescriptor)
ExFreePool(ObjectSecurityDescriptor);
228 if (DeviceExtension->
Initialized)
goto SuccessExit;
315 sizeof(PriorityValue));
NTSTATUS NTAPI ChanMgrInitialize(VOID)
NTSTATUS NTAPI ChanMgrShutdown(VOID)
VOID NTAPI ConMgrWorkerProcessEvents(IN PSAC_DEVICE_EXTENSION DeviceExtension)
NTSTATUS NTAPI ConMgrInitialize(VOID)
NTSTATUS NTAPI ConMgrShutdown(VOID)
#define STATUS_NOT_IMPLEMENTED
#define NT_SUCCESS(StatCode)
static const WCHAR SymbolicLink[]
static const WCHAR Message[]
VOID NTAPI KeInitializeDpc(IN PKDPC Dpc, IN PKDEFERRED_ROUTINE DeferredRoutine, IN PVOID DeferredContext)
BOOLEAN NTAPI InitializeDeviceData(IN PDEVICE_OBJECT DeviceObject)
NTSTATUS NTAPI CreateDeviceSecurityDescriptor(IN PDEVICE_OBJECT *DeviceObject)
NTSTATUS NTAPI BuildDeviceAcl(OUT PACL *Dacl)
VOID NTAPI WorkerThreadStartUp(IN PVOID Context)
VOID NTAPI FreeGlobalData(VOID)
BOOLEAN GlobalDataInitialized
BOOLEAN CommandConsoleLaunchingEnabled
VOID NTAPI FreeDeviceData(IN PDEVICE_OBJECT DeviceObject)
BOOLEAN NTAPI InitializeGlobalData(IN PUNICODE_STRING RegistryPath, IN PDRIVER_OBJECT DriverObject)
KMUTEX SACCMDEventInfoMutex
VOID NTAPI WorkerProcessEvents(IN PSAC_DEVICE_EXTENSION DeviceExtension)
VOID NTAPI TimerDpcRoutine(IN PKDPC Dpc, IN PVOID DeferredContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
VOID NTAPI FreeMemoryManagement(VOID)
BOOLEAN NTAPI InitializeMemoryManagement(VOID)
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
#define KeInitializeEvent(pEvt, foo, foo2)
#define KeReleaseSpinLock(sl, irql)
#define KeSetEvent(pEvt, foo, foo2)
#define KeAcquireSpinLock(sl, irql)
#define InitializeListHead(ListHead)
#define KeInitializeSpinLock(sl)
@ HeadlessCmdEnableTerminal
NTSTATUS NTAPI HeadlessDispatch(IN HEADLESS_CMD Command, IN PVOID InputBuffer, IN SIZE_T InputBufferSize, OUT PVOID OutputBuffer, OUT PSIZE_T OutputBufferSize)
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
_Out_writes_bytes_to_opt_ AbsoluteSecurityDescriptorSize PSECURITY_DESCRIPTOR _Inout_ PULONG _Out_writes_bytes_to_opt_ DaclSize PACL Dacl
#define THREAD_ALL_ACCESS
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
VOID NTAPI IoUnregisterShutdownNotification(PDEVICE_OBJECT DeviceObject)
PKEVENT NTAPI IoCreateSynchronizationEvent(IN PUNICODE_STRING EventName, IN PHANDLE EventHandle)
NTSTATUS NTAPI IoCreateSymbolicLink(IN PUNICODE_STRING SymbolicLinkName, IN PUNICODE_STRING DeviceName)
NTSTATUS NTAPI IoDeleteSymbolicLink(IN PUNICODE_STRING SymbolicLinkName)
PEPROCESS NTAPI IoGetCurrentProcess(VOID)
VOID NTAPI KeInitializeMutex(IN PKMUTEX Mutex, IN ULONG Level)
NTSTATUS NTAPI NtSetInformationThread(IN HANDLE ThreadHandle, IN THREADINFOCLASS ThreadInformationClass, IN PVOID ThreadInformation, IN ULONG ThreadInformationLength)
NTSTATUS NTAPI PsCreateSystemThread(OUT PHANDLE ThreadHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, IN HANDLE ProcessHandle, IN PCLIENT_ID ClientId, IN PKSTART_ROUTINE StartRoutine, IN PVOID StartContext)
NTSTATUS NTAPI ObGetObjectSecurity(IN PVOID Object, OUT PSECURITY_DESCRIPTOR *SecurityDescriptor, OUT PBOOLEAN MemoryAllocated)
VOID NTAPI ObReleaseObjectSecurity(IN PSECURITY_DESCRIPTOR SecurityDescriptor, IN BOOLEAN MemoryAllocated)
NTSTATUS NTAPI UTF8EncodeAndSend(IN PWCHAR String)
#define SacAllocatePool(Length, Tag)
NTSTATUS NTAPI ImposeSacCmdServiceStartTypePolicy(VOID)
ULONG Utf8ConversionBufferSize
NTSTATUS NTAPI PreloadGlobalMessageTable(IN PVOID ImageBase)
NTSTATUS NTAPI RegisterBlueScreenMachineInformation(VOID)
VOID NTAPI FreeMachineInformation(VOID)
#define SAC_DBG_ENTRY_EXIT
NTSTATUS NTAPI GetCommandConsoleLaunchingPermission(OUT PBOOLEAN Permission)
#define SAC_SERIAL_PORT_BUFFER_SIZE
VOID NTAPI InitializeMachineInformation(VOID)
VOID NTAPI InitializeCmdEventInfo(VOID)
PCHAR Utf8ConversionBuffer
NTSTATUS NTAPI TearDownGlobalMessageTable(VOID)
NTSTATUS NTAPI TranslateMachineInformationXML(IN PWCHAR *Buffer, IN PWCHAR ExtraData)
struct _SAC_DEVICE_EXTENSION * PSAC_DEVICE_EXTENSION
#define SacFreePool(Pointer)
HANDLE WorkerThreadHandle
BOOLEAN RundownInProgress
PDEVICE_OBJECT DeviceObject
BOOLEAN NTAPI KeSetTimerEx(IN OUT PKTIMER Timer, IN LARGE_INTEGER DueTime, IN LONG Period, IN PKDPC Dpc OPTIONAL)
BOOLEAN NTAPI KeCancelTimer(IN OUT PKTIMER Timer)
VOID NTAPI KeInitializeTimer(OUT PKTIMER Timer)
#define RtlZeroMemory(Destination, Length)
_In_ PDEVICE_OBJECT DeviceObject
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_opt_ PCUNICODE_STRING DeviceName
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
_In_ WDFTIMER _In_ LONGLONG DueTime
_In_ USHORT _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR _Reserved_ ULONG _In_opt_ PVOID _In_opt_ const WSK_CLIENT_CONNECTION_DISPATCH _In_opt_ PEPROCESS _In_opt_ PETHREAD _In_opt_ PSECURITY_DESCRIPTOR SecurityDescriptor
#define IO_SERIAL_INCREMENT
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
_Out_ PSECURITY_DESCRIPTOR _Out_ PBOOLEAN MemoryAllocated