#include <ntos.h>
#include <nturtl.h>
#include <vdmntos.h>
Go to the source code of this file.
Defines | |
#define | VDMTIB_KMODE 0x0001 |
#define | VDMTIB_PROBE 0x0002 |
#define | VDMTIB_KPROBE (VDMTIB_KMODE|VDMTIB_PROBE) |
Functions | |
NTSTATUS | VdmpInitialize (PVDMICAUSERDATA pIcaUserData) |
NTSTATUS | VdmpStartExecution (VOID) |
VOID | VdmSwapContexts (IN PKTRAP_FRAME TrapFrame, IN PCONTEXT InContext, IN PCONTEXT OutContext) |
NTSTATUS | VdmpQueueInterrupt (IN HANDLE ThreadHandle) |
NTSTATUS | VdmpDelayInterrupt (PVDMDELAYINTSDATA pdsd) |
NTSTATUS | VdmpEnterIcaLock (IN PRTL_CRITICAL_SECTION pIcaLock) |
NTSTATUS | VdmpLeaveIcaLock (IN PRTL_CRITICAL_SECTION pIcaLock) |
BOOLEAN | VdmpDispatchableIntPending (IN ULONG EFlags) |
NTSTATUS | VdmpIsThreadTerminating (HANDLE ThreadId) |
BOOLEAN | VdmPrinterStatus (ULONG iPort, ULONG cbInstructionSize, PKTRAP_FRAME TrapFrame) |
BOOLEAN | VdmPrinterWriteData (ULONG iPort, ULONG cbInstructionSize, PKTRAP_FRAME TrapFrame) |
NTSTATUS | VdmpPrinterDirectIoOpen (PVOID ServiceData) |
NTSTATUS | VdmpPrinterDirectIoClose (PVOID ServiceData) |
VOID | VdmTraceEvent (USHORT Type, USHORT wData, USHORT lData, PKTRAP_FRAME TrapFrame) |
NTSTATUS | VdmpPrinterInitialize (PVOID ServiceData) |
NTSTATUS | VdmpGetVdmTib (PVDM_TIB *ppVdmTib, ULONG dwFlags) |
|
Definition at line 198 of file vdm/i386/vdmp.h. Referenced by NTFastDOSIO(), VdmFlushPrinterWriteData(), VdmpPrinterInitialize(), VdmPrinterStatus(), VdmPrinterWriteData(), and VdmpStartExecution(). |
|
Definition at line 200 of file vdm/i386/vdmp.h. Referenced by VdmDispatchIRQ13(), VdmDispatchPageFault(), and VdmpQueueIntApcRoutine(). |
|
Definition at line 199 of file vdm/i386/vdmp.h. Referenced by VdmpInitialize(). |
|
Definition at line 1235 of file vdmints.c. References Delay, ExAllocatePoolWithTag, EXCEPTION_EXECUTE_HANDLER, ExFreePool(), FALSE, KeAcquireSpinLock, KeInitializeDpc(), KeInitializeTimer(), KeMaximumIncrement, KeMinimumIncrement, KeReleaseSpinLock(), KernelMode, KeSetTimer(), KeTimeIncrement, NonPagedPool, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObReferenceObject, ObReferenceObjectByHandle(), ObReferenceObjectByPointer(), _EPROCESS::Pcb, ProbeForRead, ProbeForWriteUlong, PsChargePoolQuota(), PsGetCurrentProcess, PsThreadType, Status, TRUE, _EPROCESS::VdmObjects, and VdmpDelayIntDpcRoutine(). Referenced by NtVdmControl().
|
|
Referenced by VdmpQueueIntApcRoutine(). |
|
Referenced by VdmDispatchInterrupts(). |
|
|
Definition at line 19 of file vdminit.c. References CmRegistryMachineHardwareDescriptionSystemName, DbgPrint, ExAllocatePoolWithTag, ExFreePool(), ExInitializeFastMutex, ExSystemExceptionFilter(), Index, KeI386MachineType, KeInitializeSpinLock(), KEY_VALUE_BUFFER_SIZE, L, NonPagedPool, NT_SUCCESS, NTSTATUS(), NULL, ObjectAttributes, PAGED_CODE, PagedPool, _EPROCESS::Pcb, ProbeForRead, ProbeForWrite(), ProbeForWriteHandle, ProbeForWriteUlong, PsChargePoolQuota(), PsGetCurrentProcess, PsGetCurrentThread, PsReturnPoolQuota(), RtlInitUnicodeString(), Status, TRUE, USHORT, _EPROCESS::VdmObjects, VdmpGetVdmTib(), and VDMTIB_PROBE. Referenced by NtVdmControl().
|
|
Definition at line 1922 of file vdmints.c. References NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, PAGED_CODE, PsIsThreadTerminating, PsLookupProcessThreadByCid(), and Status.
|
|
Referenced by VdmDispatchInterrupts(). |
|
Definition at line 388 of file vdmprint.c. References EXCEPTION_EXECUTE_HANDLER, ExSystemExceptionFilter(), NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, ProbeForRead, ProbeForWrite(), Status, USHORT, and VdmFlushPrinterWriteData(). Referenced by NtVdmControl().
|
|
Definition at line 380 of file vdmprint.c. References PAGED_CODE. Referenced by NtVdmControl().
|
|
Definition at line 295 of file vdmprint.c. References EXCEPTION_EXECUTE_HANDLER, FALSE, NT_SUCCESS, NTSTATUS(), ProbeForWrite(), PsGetCurrentProcess, Status, VdmpGetVdmTib(), and VDMTIB_KMODE. Referenced by NtVdmControl().
|
|
Definition at line 146 of file vdmints.c. References Ke386VdmInsertQueueApc(), KernelMode, KPROCESSOR_MODE, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObReferenceObjectByHandle(), PAGED_CODE, _EPROCESS::Pcb, PsGetCurrentProcess, PsThreadType, Status, _ETHREAD::Tcb, ThreadHandle, _ETHREAD::ThreadsProcess, TRUE, _EPROCESS::VdmObjects, VdmpNullRundownRoutine(), VdmpQueueIntApcRoutine(), and VdmpQueueIntNormalRoutine(). Referenced by NtVdmControl().
|
|
Definition at line 42 of file vdmprint.c. References ASSERT, DbgPrint, EXCEPTION_EXECUTE_HANDLER, FALSE, get_control, get_status, HOST_LPT_BUSY, host_lpt_status, IRQ, KeLowerIrql(), KeRaiseIrql(), NOTBUSY, NT_SUCCESS, NtDeviceIoControlFile(), NTSTATUS(), NULL, PAGED_CODE, PASSIVE_LEVEL, set_status, Status, STATUS_PORT_OFFSET, STATUS_REG_MASK, USHORT, VdmFlushPrinterWriteData(), VdmpGetVdmTib(), and VDMTIB_KMODE.
|
|
Definition at line 177 of file vdmprint.c. References ASSERT, DATA_PORT_OFFSET, EXCEPTION_EXECUTE_HANDLER, FALSE, NT_SUCCESS, NTSTATUS(), PAGED_CODE, Status, USHORT, VdmFlushPrinterWriteData(), VdmpGetVdmTib(), and VDMTIB_KMODE.
|
|
Definition at line 40 of file strtexec.c. References APC_LEVEL, ASSERT, _VdmEventInfo::Event, _Vdm_Tib::EventInfo, EXCEPTION_EXECUTE_HANDLER, FALSE, _VdmEventInfo::InstructionSize, KeI386VdmIoplAllowed, KeI386VirtualIntExtensions, KeLowerIrql(), KeRaiseIrql(), _Vdm_Tib::MonitorContext, NT_SUCCESS, NTSTATUS(), PAGED_CODE, PsGetCurrentThread, Status, _ETHREAD::Tcb, TRUE, VDM_VIRTUAL_INTERRUPTS, _Vdm_Tib::VdmContext, VdmDispatchInterrupts(), VdmFixedStateLinear, VdmIntAck, VdmpGetVdmTib(), VdmSwapContexts(), and VDMTIB_KMODE. Referenced by NtVdmControl().
|
|
Referenced by VdmEndExecution(), and VdmpStartExecution(). |
|
Definition at line 37 of file vdmtrace.c. References APC_LEVEL, EXCEPTION_EXECUTE_HANDLER, _Vdm_Tib::Flags, KeLowerIrql(), KeRaiseIrql(), NtGetTickCount(), NTSTATUS(), PAGED_CODE, Status, and USHORT.
|