internal-r0drv-nt.h revision 5a8ae0443b7be3b1a5501bd101b1533daa844c23
e6e2974634808306e2557acf7b9faae14ff5b93bvboxsync * IPRT - Internal Header for the NT Ring-0 Driver Code.
c7814cf6e1240a519cbec0441e033d0e2470ed00vboxsync * Copyright (C) 2008-2010 Oracle Corporation
e6e2974634808306e2557acf7b9faae14ff5b93bvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
e6e2974634808306e2557acf7b9faae14ff5b93bvboxsync * available from http://www.virtualbox.org. This file is free software;
e6e2974634808306e2557acf7b9faae14ff5b93bvboxsync * you can redistribute it and/or modify it under the terms of the GNU
e6e2974634808306e2557acf7b9faae14ff5b93bvboxsync * General Public License (GPL) as published by the Free Software
e6e2974634808306e2557acf7b9faae14ff5b93bvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
e6e2974634808306e2557acf7b9faae14ff5b93bvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
e6e2974634808306e2557acf7b9faae14ff5b93bvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
e6e2974634808306e2557acf7b9faae14ff5b93bvboxsync * The contents of this file may alternatively be used under the terms
e6e2974634808306e2557acf7b9faae14ff5b93bvboxsync * of the Common Development and Distribution License Version 1.0
e6e2974634808306e2557acf7b9faae14ff5b93bvboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
e6e2974634808306e2557acf7b9faae14ff5b93bvboxsync * VirtualBox OSE distribution, in which case the provisions of the
e6e2974634808306e2557acf7b9faae14ff5b93bvboxsync * CDDL are applicable instead of those of the GPL.
e6e2974634808306e2557acf7b9faae14ff5b93bvboxsync * You may elect to license modified versions of this file under the
e6e2974634808306e2557acf7b9faae14ff5b93bvboxsync * terms and conditions of either the GPL or the CDDL or both.
7f49c2ea5ca960f40173fff078dc79bf40bd7ae2vboxsync/*******************************************************************************
7f49c2ea5ca960f40173fff078dc79bf40bd7ae2vboxsync* Structures and Typedefs *
7f49c2ea5ca960f40173fff078dc79bf40bd7ae2vboxsync*******************************************************************************/
7f49c2ea5ca960f40173fff078dc79bf40bd7ae2vboxsynctypedef ULONG (__stdcall *PFNMYEXSETTIMERRESOLUTION)(ULONG, BOOLEAN);
7f49c2ea5ca960f40173fff078dc79bf40bd7ae2vboxsynctypedef VOID (__stdcall *PFNMYKEFLUSHQUEUEDDPCS)(VOID);
41c15aa44c4acfe6760552150eb931319835cfafvboxsynctypedef VOID (__stdcall *PFNHALREQUESTIPI)(KAFFINITY TargetSet);
41c15aa44c4acfe6760552150eb931319835cfafvboxsynctypedef VOID (__stdcall *PFNHALSENDSOFTWAREINTERRUPT)(ULONG ProcessorNumber, KIRQL Irql);
41c15aa44c4acfe6760552150eb931319835cfafvboxsynctypedef int (__stdcall *PFNRTSENDIPI)(RTCPUID idCpu);
41c15aa44c4acfe6760552150eb931319835cfafvboxsynctypedef ULONG_PTR (__stdcall *PFNRTKEIPIGENERICCALL)(PKIPI_BROADCAST_WORKER BroadcastFunction, ULONG_PTR Context);
2ccca012d772c237b97e06a362720b3fb6c236b8vboxsynctypedef ULONG (__stdcall *PFNRTRTLGETVERSION)(PRTL_OSVERSIONINFOEXW pVerInfo);
5a8ae0443b7be3b1a5501bd101b1533daa844c23vboxsynctypedef ULONGLONG (__stdcall *PFNRTKEQUERYINTERRUPTTIME)(VOID);
5a8ae0443b7be3b1a5501bd101b1533daa844c23vboxsynctypedef VOID (__stdcall *PFNRTKEQUERYSYSTEMTIME)(PLARGE_INTEGER pTime);
5a8ae0443b7be3b1a5501bd101b1533daa844c23vboxsynctypedef ULONG64 (__stdcall *PFNRTKEQUERYINTERRUPTTIMEPRECISE)(PULONG64 pQpcTS);
5a8ae0443b7be3b1a5501bd101b1533daa844c23vboxsynctypedef VOID (__stdcall *PFNRTKEQUERYSYSTEMTIMEPRECISE)(PLARGE_INTEGER pTime);
e6e2974634808306e2557acf7b9faae14ff5b93bvboxsync/*******************************************************************************
e6e2974634808306e2557acf7b9faae14ff5b93bvboxsync* Global Variables *
e6e2974634808306e2557acf7b9faae14ff5b93bvboxsync*******************************************************************************/
5a8ae0443b7be3b1a5501bd101b1533daa844c23vboxsyncextern PFNMYEXSETTIMERRESOLUTION g_pfnrtNtExSetTimerResolution;
5a8ae0443b7be3b1a5501bd101b1533daa844c23vboxsyncextern PFNMYKEFLUSHQUEUEDDPCS g_pfnrtNtKeFlushQueuedDpcs;
5a8ae0443b7be3b1a5501bd101b1533daa844c23vboxsyncextern PFNHALSENDSOFTWAREINTERRUPT g_pfnrtNtHalSendSoftwareInterrupt;
5a8ae0443b7be3b1a5501bd101b1533daa844c23vboxsyncextern PFNRTKEIPIGENERICCALL g_pfnrtKeIpiGenericCall;
5a8ae0443b7be3b1a5501bd101b1533daa844c23vboxsyncextern PFNRTKEQUERYINTERRUPTTIME g_pfnrtKeQueryInterruptTime;
5a8ae0443b7be3b1a5501bd101b1533daa844c23vboxsyncextern PFNRTKEQUERYSYSTEMTIME g_pfnrtKeQuerySystemTime;
5a8ae0443b7be3b1a5501bd101b1533daa844c23vboxsyncextern PFNRTKEQUERYINTERRUPTTIMEPRECISE g_pfnrtKeQueryInterruptTimePrecise;