]>
Commit | Line | Data |
---|---|---|
923072b8 FG |
1 | use winapi::shared::ntdef::{HANDLE, NTSTATUS, PULONG, PVOID, ULONG}; |
2 | use winapi::um::winnt::STANDARD_RIGHTS_ALL; | |
3 | pub const FLT_PORT_CONNECT: u32 = 0x0001; | |
4 | pub const FLT_PORT_ALL_ACCESS: u32 = FLT_PORT_CONNECT | STANDARD_RIGHTS_ALL; | |
5 | ENUM!{enum VDMSERVICECLASS { | |
6 | VdmStartExecution = 0, | |
7 | VdmQueueInterrupt = 1, | |
8 | VdmDelayInterrupt = 2, | |
9 | VdmInitialize = 3, | |
10 | VdmFeatures = 4, | |
11 | VdmSetInt21Handler = 5, | |
12 | VdmQueryDir = 6, | |
13 | VdmPrinterDirectIoOpen = 7, | |
14 | VdmPrinterDirectIoClose = 8, | |
15 | VdmPrinterInitialize = 9, | |
16 | VdmSetLdtEntries = 10, | |
17 | VdmSetProcessLdtInfo = 11, | |
18 | VdmAdlibEmulation = 12, | |
19 | VdmPMCliControl = 13, | |
20 | VdmQueryVdmProcess = 14, | |
21 | }} | |
22 | pub type PVDMSERVICECLASS = *mut VDMSERVICECLASS; | |
23 | EXTERN!{extern "system" { | |
24 | fn NtVdmControl( | |
25 | Service: VDMSERVICECLASS, | |
26 | ServiceData: PVOID, | |
27 | ) -> NTSTATUS; | |
28 | fn NtTraceEvent( | |
29 | TraceHandle: HANDLE, | |
30 | Flags: ULONG, | |
31 | FieldSize: ULONG, | |
32 | Fields: PVOID, | |
33 | ) -> NTSTATUS; | |
34 | fn NtTraceControl( | |
35 | FunctionCode: ULONG, | |
36 | InBuffer: PVOID, | |
37 | InBufferLen: ULONG, | |
38 | OutBuffer: PVOID, | |
39 | OutBufferLen: ULONG, | |
40 | ReturnLength: PULONG, | |
41 | ) -> NTSTATUS; | |
42 | }} |