[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 02/17] Convert to SAL 2.0 annotations


  • To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Césaire Mounah <cesaire.mounah@xxxxxxxxxx>
  • Date: Mon, 5 Oct 2026 14:07:43 +0200
  • Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=selector1 header.d=vates.tech header.i="@vates.tech" header.h="From:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:In-Reply-To:References:Feedback-ID"
  • Cc: Césaire Mounah <cesaire.mounah@xxxxxxxxxx>
  • Delivery-date: Mon, 05 Oct 2026 12:08:04 +0000
  • Feedback-id: default:8631fc262581453bbf619ec5b2062170:Sweego
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>

Mechanical pass, no functional change.

Annotations:
  IN/OUT/IN OUT        -> _In_/_Out_/_Inout_
  __in/__out/__inout   -> same, _opt_ variants preserved
  trailing OPTIONAL    -> folded into the annotation (_In_opt_ &c)
  _Out_ on a T **      -> _Outptr_
  __drv_*/__checkReturn-> _IRQL_requires_*/_Dispatch_type_/_Check_return_

The old macros expand to nothing, so these parameters carried no
information to the analyser.  OPTIONAL as a trailing keyword is not
understood either, whereas _opt_ tells it NULL must be tested before
dereference.  _Outptr_ states that the callee writes the pointer,
which bare _Out_ does not.

Assisted-by: Claude/Opus-4
Signed-off-by: Césaire Mounah <cesaire.mounah@xxxxxxxxxx>
---
 include/cache_interface.h       |  76 ++--
 include/evtchn_interface.h      |  72 ++--
 include/gnttab_interface.h      |  88 ++---
 include/shared_info_interface.h |  44 +--
 include/store_interface.h       |  84 ++---
 include/suspend_interface.h     |  24 +-
 include/xencontrol.h            | 160 ++++-----
 src/xencontrol/xencontrol.c     | 330 ++++++++---------
 src/xeniface/driver.c           |  28 +-
 src/xeniface/fdo.c              | 346 +++++++++---------
 src/xeniface/fdo.h              |  26 +-
 src/xeniface/ioctl_evtchn.c     | 144 ++++----
 src/xeniface/ioctl_gnttab.c     | 132 +++----
 src/xeniface/ioctl_sharedinfo.c |  10 +-
 src/xeniface/ioctl_store.c      | 162 ++++-----
 src/xeniface/ioctl_suspend.c    |  66 ++--
 src/xeniface/ioctls.c           |  48 +--
 src/xeniface/ioctls.h           | 270 +++++++-------
 src/xeniface/irp_queue.c        |  46 +--
 src/xeniface/irp_queue.h        |  28 +-
 src/xeniface/log.h              |  16 +-
 src/xeniface/mutex.h            |  10 +-
 src/xeniface/names.h            |  18 +-
 src/xeniface/thread.c           |  38 +-
 src/xeniface/thread.h           |  18 +-
 src/xeniface/wmi.c              | 614 ++++++++++++++++----------------
 src/xeniface/wmi.h              |  18 +-
 27 files changed, 1458 insertions(+), 1458 deletions(-)

diff --git a/include/cache_interface.h b/include/cache_interface.h
index c45777c..186af5b 100644
--- a/include/cache_interface.h
+++ b/include/cache_interface.h
@@ -54,7 +54,7 @@ typedef struct _XENBUS_CACHE    XENBUS_CACHE, *PXENBUS_CACHE;
 */
 typedef NTSTATUS
 (*XENBUS_CACHE_ACQUIRE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENBUS_CACHE_RELEASE
@@ -64,7 +64,7 @@ typedef NTSTATUS
 */
 typedef VOID
 (*XENBUS_CACHE_RELEASE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENBUS_CACHE_CTOR
@@ -79,8 +79,8 @@ typedef VOID
 */
 typedef NTSTATUS
 (*XENBUS_CACHE_CTOR)(
-    IN  PVOID   Argument,
-    IN  PVOID   Object
+    _In_ PVOID  Argument,
+    _In_ PVOID  Object
     );
 
 /*! \typedef XENBUS_CACHE_DTOR
@@ -94,8 +94,8 @@ typedef NTSTATUS
 */
 typedef VOID
 (*XENBUS_CACHE_DTOR)(
-    IN  PVOID   Argument,
-    IN  PVOID   Object
+    _In_ PVOID  Argument,
+    _In_ PVOID  Object
     );
 
 /*! \typedef XENBUS_CACHE_ACQUIRE_LOCK
@@ -108,7 +108,7 @@ typedef VOID
 */
 typedef VOID
 (*XENBUS_CACHE_ACQUIRE_LOCK)(
-    IN  PVOID   Argument
+    _In_ PVOID  Argument
     );
 
 /*! \typedef XENBUS_CACHE_RELEASE_LOCK
@@ -121,21 +121,21 @@ typedef VOID
 */
 typedef VOID
 (*XENBUS_CACHE_RELEASE_LOCK)(
-    IN  PVOID   Argument
+    _In_ PVOID  Argument
     );
 
 typedef NTSTATUS
 (*XENBUS_CACHE_CREATE_V1)(
-    IN  PINTERFACE                  Interface,
-    IN  const CHAR                  *Name,
-    IN  ULONG                       Size,
-    IN  ULONG                       Reservation,
-    IN  XENBUS_CACHE_CTOR           Ctor,
-    IN  XENBUS_CACHE_DTOR           Dtor,
-    IN  XENBUS_CACHE_ACQUIRE_LOCK   AcquireLock,
-    IN  XENBUS_CACHE_RELEASE_LOCK   ReleaseLock,
-    IN  PVOID                       Argument OPTIONAL,
-    OUT PXENBUS_CACHE               *Cache
+    _In_ PINTERFACE                 Interface,
+    _In_ const CHAR                 *Name,
+    _In_ ULONG                      Size,
+    _In_ ULONG                      Reservation,
+    _In_ XENBUS_CACHE_CTOR          Ctor,
+    _In_ XENBUS_CACHE_DTOR          Dtor,
+    _In_ XENBUS_CACHE_ACQUIRE_LOCK  AcquireLock,
+    _In_ XENBUS_CACHE_RELEASE_LOCK  ReleaseLock,
+    _In_opt_ PVOID                  Argument,
+    _Outptr_ PXENBUS_CACHE          *Cache
     );
 
 /*! \typedef XENBUS_CACHE_CREATE
@@ -158,17 +158,17 @@ typedef NTSTATUS
 */
 typedef NTSTATUS
 (*XENBUS_CACHE_CREATE)(
-    IN  PINTERFACE                  Interface,
-    IN  const CHAR                  *Name,
-    IN  ULONG                       Size,
-    IN  ULONG                       Reservation,
-    IN  ULONG                       Cap,
-    IN  XENBUS_CACHE_CTOR           Ctor,
-    IN  XENBUS_CACHE_DTOR           Dtor,
-    IN  XENBUS_CACHE_ACQUIRE_LOCK   AcquireLock,
-    IN  XENBUS_CACHE_RELEASE_LOCK   ReleaseLock,
-    IN  PVOID                       Argument OPTIONAL,
-    OUT PXENBUS_CACHE               *Cache
+    _In_ PINTERFACE                 Interface,
+    _In_ const CHAR                 *Name,
+    _In_ ULONG                      Size,
+    _In_ ULONG                      Reservation,
+    _In_ ULONG                      Cap,
+    _In_ XENBUS_CACHE_CTOR          Ctor,
+    _In_ XENBUS_CACHE_DTOR          Dtor,
+    _In_ XENBUS_CACHE_ACQUIRE_LOCK  AcquireLock,
+    _In_ XENBUS_CACHE_RELEASE_LOCK  ReleaseLock,
+    _In_opt_ PVOID                  Argument,
+    _Outptr_ PXENBUS_CACHE          *Cache
     );
 
 /*! \typedef XENBUS_CACHE_GET
@@ -181,9 +181,9 @@ typedef NTSTATUS
 */
 typedef PVOID
 (*XENBUS_CACHE_GET)(
-    IN  PINTERFACE      Interface,
-    IN  PXENBUS_CACHE   Cache,
-    IN  BOOLEAN         Locked
+    _In_ PINTERFACE     Interface,
+    _In_ PXENBUS_CACHE  Cache,
+    _In_ BOOLEAN        Locked
     );
 
 /*! \typedef XENBUS_CACHE_PUT
@@ -196,10 +196,10 @@ typedef PVOID
 */
 typedef VOID
 (*XENBUS_CACHE_PUT)(
-    IN  PINTERFACE      Interface,
-    IN  PXENBUS_CACHE   Cache,
-    IN  PVOID           Object,
-    IN  BOOLEAN         Locked
+    _In_ PINTERFACE     Interface,
+    _In_ PXENBUS_CACHE  Cache,
+    _In_ PVOID          Object,
+    _In_ BOOLEAN        Locked
     );
 
 /*! \typedef XENBUS_CACHE_DESTROY
@@ -212,8 +212,8 @@ typedef VOID
 */
 typedef VOID
 (*XENBUS_CACHE_DESTROY)(
-    IN  PINTERFACE      Interface,
-    IN  PXENBUS_CACHE   Cache
+    _In_ PINTERFACE     Interface,
+    _In_ PXENBUS_CACHE  Cache
     );
 
 // {A98DFD78-416A-4949-92A5-E084F2F4B44E}
diff --git a/include/evtchn_interface.h b/include/evtchn_interface.h
index cfc8d2b..5c46f97 100644
--- a/include/evtchn_interface.h
+++ b/include/evtchn_interface.h
@@ -64,7 +64,7 @@ typedef struct _XENBUS_EVTCHN_CHANNEL XENBUS_EVTCHN_CHANNEL, 
*PXENBUS_EVTCHN_CHA
 */
 typedef NTSTATUS
 (*XENBUS_EVTCHN_ACQUIRE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENBUS_EVTCHN_RELEASE
@@ -74,7 +74,7 @@ typedef NTSTATUS
 */
 typedef VOID
 (*XENBUS_EVTCHN_RELEASE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENBUS_EVTCHN_OPEN
@@ -108,10 +108,10 @@ typedef VOID
 */
 typedef PXENBUS_EVTCHN_CHANNEL
 (*XENBUS_EVTCHN_OPEN)(
-    IN  PINTERFACE          Interface,
-    IN  XENBUS_EVTCHN_TYPE  Type,
-    IN  PKSERVICE_ROUTINE   Function,
-    IN  PVOID               Argument OPTIONAL,
+    _In_ PINTERFACE         Interface,
+    _In_ XENBUS_EVTCHN_TYPE Type,
+    _In_ PKSERVICE_ROUTINE  Function,
+    _In_opt_ PVOID          Argument,
     ...
     );
 
@@ -125,17 +125,17 @@ typedef PXENBUS_EVTCHN_CHANNEL
 */
 typedef NTSTATUS
 (*XENBUS_EVTCHN_BIND)(
-    IN  PINTERFACE              Interface,
-    IN  PXENBUS_EVTCHN_CHANNEL  Channel,
-    IN  USHORT                  Group,
-    IN  UCHAR                   Number
+    _In_ PINTERFACE             Interface,
+    _In_ PXENBUS_EVTCHN_CHANNEL Channel,
+    _In_ USHORT                 Group,
+    _In_ UCHAR                  Number
     );
 
 typedef VOID
 (*XENBUS_EVTCHN_UNMASK_V4)(
-    IN  PINTERFACE              Interface,
-    IN  PXENBUS_EVTCHN_CHANNEL  Channel,
-    IN  BOOLEAN                 InCallback
+    _In_ PINTERFACE             Interface,
+    _In_ PXENBUS_EVTCHN_CHANNEL Channel,
+    _In_ BOOLEAN                InCallback
     );
 
 /*! \typedef XENBUS_EVTCHN_UNMASK
@@ -148,16 +148,16 @@ typedef VOID
 */
 typedef BOOLEAN
 (*XENBUS_EVTCHN_UNMASK)(
-    IN  PINTERFACE              Interface,
-    IN  PXENBUS_EVTCHN_CHANNEL  Channel,
-    IN  BOOLEAN                 InCallback,
-    IN  BOOLEAN                 Force
+    _In_ PINTERFACE             Interface,
+    _In_ PXENBUS_EVTCHN_CHANNEL Channel,
+    _In_ BOOLEAN                InCallback,
+    _In_ BOOLEAN                Force
     );
 
 typedef VOID
 (*XENBUS_EVTCHN_SEND_V1)(
-    IN  PINTERFACE              Interface,
-    IN  PXENBUS_EVTCHN_CHANNEL  Channel
+    _In_ PINTERFACE             Interface,
+    _In_ PXENBUS_EVTCHN_CHANNEL Channel
     );
 
 /*! \typedef XENBUS_EVTCHN_SEND
@@ -171,8 +171,8 @@ typedef VOID
 */
 typedef VOID
 (*XENBUS_EVTCHN_SEND)(
-    IN  PINTERFACE              Interface,
-    IN  PXENBUS_EVTCHN_CHANNEL  Channel
+    _In_ PINTERFACE             Interface,
+    _In_ PXENBUS_EVTCHN_CHANNEL Channel
     );
 
 /*! \typedef XENBUS_EVTCHN_TRIGGER
@@ -183,8 +183,8 @@ typedef VOID
 */
 typedef VOID
 (*XENBUS_EVTCHN_TRIGGER)(
-    IN  PINTERFACE              Interface,
-    IN  PXENBUS_EVTCHN_CHANNEL  Channel
+    _In_ PINTERFACE             Interface,
+    _In_ PXENBUS_EVTCHN_CHANNEL Channel
     );
 
 /*! \typedef XENBUS_EVTCHN_GET_COUNT
@@ -196,15 +196,15 @@ typedef VOID
 */
 typedef ULONG
 (*XENBUS_EVTCHN_GET_COUNT)(
-    IN  PINTERFACE              Interface,
-    IN  PXENBUS_EVTCHN_CHANNEL  Channel
+    _In_ PINTERFACE             Interface,
+    _In_ PXENBUS_EVTCHN_CHANNEL Channel
     );
 
 typedef NTSTATUS
 (*XENBUS_EVTCHN_WAIT_V5)(
-    IN  PINTERFACE              Interface,
-    IN  PXENBUS_EVTCHN_CHANNEL  Channel,
-    IN  PLARGE_INTEGER          Timeout OPTIONAL
+    _In_ PINTERFACE             Interface,
+    _In_ PXENBUS_EVTCHN_CHANNEL Channel,
+    _In_opt_ PLARGE_INTEGER     Timeout
     );
 
 /*! \typedef XENBUS_EVTCHN_WAIT
@@ -217,10 +217,10 @@ typedef NTSTATUS
 */
 typedef NTSTATUS
 (*XENBUS_EVTCHN_WAIT)(
-    IN  PINTERFACE              Interface,
-    IN  PXENBUS_EVTCHN_CHANNEL  Channel,
-    IN  ULONG                   Count,
-    IN  PLARGE_INTEGER          Timeout OPTIONAL
+    _In_ PINTERFACE             Interface,
+    _In_ PXENBUS_EVTCHN_CHANNEL Channel,
+    _In_ ULONG                  Count,
+    _In_opt_ PLARGE_INTEGER     Timeout
     );
 
 /*! \typedef XENBUS_EVTCHN_GET_PORT
@@ -232,8 +232,8 @@ typedef NTSTATUS
 */
 typedef ULONG
 (*XENBUS_EVTCHN_GET_PORT)(
-    IN  PINTERFACE              Interface,
-    IN  PXENBUS_EVTCHN_CHANNEL  Channel
+    _In_ PINTERFACE             Interface,
+    _In_ PXENBUS_EVTCHN_CHANNEL Channel
     );
 
 /*! \typedef XENBUS_EVTCHN_CLOSE
@@ -244,8 +244,8 @@ typedef ULONG
 */
 typedef VOID
 (*XENBUS_EVTCHN_CLOSE)(
-    IN  PINTERFACE              Interface,
-    IN  PXENBUS_EVTCHN_CHANNEL  Channel
+    _In_ PINTERFACE             Interface,
+    _In_ PXENBUS_EVTCHN_CHANNEL Channel
     );
 
 // {BE2440AC-1098-4150-AF4D-452FADCEF923}
diff --git a/include/gnttab_interface.h b/include/gnttab_interface.h
index 87303e2..c3c9874 100644
--- a/include/gnttab_interface.h
+++ b/include/gnttab_interface.h
@@ -60,7 +60,7 @@ typedef struct _XENBUS_GNTTAB_CACHE XENBUS_GNTTAB_CACHE, 
*PXENBUS_GNTTAB_CACHE;
 */
 typedef NTSTATUS
 (*XENBUS_GNTTAB_ACQUIRE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENBUS_GNTTAB_RELEASE
@@ -70,18 +70,18 @@ typedef NTSTATUS
 */
 typedef VOID
 (*XENBUS_GNTTAB_RELEASE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 typedef NTSTATUS
 (*XENBUS_GNTTAB_CREATE_CACHE_V1)(
-    IN  PINTERFACE                  Interface,
-    IN  const CHAR                  *Name,
-    IN  ULONG                       Reservation,
-    IN  XENBUS_CACHE_ACQUIRE_LOCK   AcquireLock,
-    IN  XENBUS_CACHE_RELEASE_LOCK   ReleaseLock,
-    IN  PVOID                       Argument OPTIONAL,
-    OUT PXENBUS_GNTTAB_CACHE        *Cache
+    _In_ PINTERFACE                 Interface,
+    _In_ const CHAR                 *Name,
+    _In_ ULONG                      Reservation,
+    _In_ XENBUS_CACHE_ACQUIRE_LOCK  AcquireLock,
+    _In_ XENBUS_CACHE_RELEASE_LOCK  ReleaseLock,
+    _In_opt_ PVOID                  Argument,
+    _Outptr_ PXENBUS_GNTTAB_CACHE   *Cache
     );
 
 /*! \typedef XENBUS_GNTTAB_CREATE_CACHE
@@ -98,14 +98,14 @@ typedef NTSTATUS
 */
 typedef NTSTATUS
 (*XENBUS_GNTTAB_CREATE_CACHE)(
-    IN  PINTERFACE                  Interface,
-    IN  const CHAR                  *Name,
-    IN  ULONG                       Reservation,
-    IN  ULONG                       Cap,
-    IN  XENBUS_CACHE_ACQUIRE_LOCK   AcquireLock,
-    IN  XENBUS_CACHE_RELEASE_LOCK   ReleaseLock,
-    IN  PVOID                       Argument OPTIONAL,
-    OUT PXENBUS_GNTTAB_CACHE        *Cache
+    _In_ PINTERFACE                 Interface,
+    _In_ const CHAR                 *Name,
+    _In_ ULONG                      Reservation,
+    _In_ ULONG                      Cap,
+    _In_ XENBUS_CACHE_ACQUIRE_LOCK  AcquireLock,
+    _In_ XENBUS_CACHE_RELEASE_LOCK  ReleaseLock,
+    _In_opt_ PVOID                  Argument,
+    _Outptr_ PXENBUS_GNTTAB_CACHE   *Cache
     );
 
 /*! \typedef XENBUS_GNTTAB_PERMIT_FOREIGN_ACCESS
@@ -123,13 +123,13 @@ typedef NTSTATUS
 */
 typedef NTSTATUS
 (*XENBUS_GNTTAB_PERMIT_FOREIGN_ACCESS)(
-    IN  PINTERFACE                  Interface,
-    IN  PXENBUS_GNTTAB_CACHE        Cache,
-    IN  BOOLEAN                     Locked,
-    IN  USHORT                      Domain,
-    IN  PFN_NUMBER                  Pfn,
-    IN  BOOLEAN                     ReadOnly,
-    OUT PXENBUS_GNTTAB_ENTRY        *Entry
+    _In_ PINTERFACE                 Interface,
+    _In_ PXENBUS_GNTTAB_CACHE       Cache,
+    _In_ BOOLEAN                    Locked,
+    _In_ USHORT                     Domain,
+    _In_ PFN_NUMBER                 Pfn,
+    _In_ BOOLEAN                    ReadOnly,
+    _Outptr_ PXENBUS_GNTTAB_ENTRY   *Entry
     );
 
 /*! \typedef XENBUS_GNTTAB_REVOKE_FOREIGN_ACCESS
@@ -143,10 +143,10 @@ typedef NTSTATUS
 */
 typedef NTSTATUS
 (*XENBUS_GNTTAB_REVOKE_FOREIGN_ACCESS)(
-    IN  PINTERFACE                  Interface,
-    IN  PXENBUS_GNTTAB_CACHE        Cache,
-    IN  BOOLEAN                     Locked,
-    IN  PXENBUS_GNTTAB_ENTRY        Entry
+    _In_ PINTERFACE             Interface,
+    _In_ PXENBUS_GNTTAB_CACHE   Cache,
+    _In_ BOOLEAN                Locked,
+    _In_ PXENBUS_GNTTAB_ENTRY   Entry
     );
 
 /*! \typedef XENBUS_GNTTAB_GET_REFERENCE
@@ -158,8 +158,8 @@ typedef NTSTATUS
 */
 typedef ULONG
 (*XENBUS_GNTTAB_GET_REFERENCE)(
-    IN  PINTERFACE                  Interface,
-    IN  PXENBUS_GNTTAB_ENTRY        Entry
+    _In_ PINTERFACE             Interface,
+    _In_ PXENBUS_GNTTAB_ENTRY   Entry
     );
 
 /*! \typedef XENBUS_GNTTAB_QUERY_REFERENCE
@@ -172,10 +172,10 @@ typedef ULONG
 */
 typedef NTSTATUS
 (*XENBUS_GNTTAB_QUERY_REFERENCE)(
-    IN  PINTERFACE  Interface,
-    IN  ULONG       Reference,
-    OUT PPFN_NUMBER Pfn OPTIONAL,
-    OUT PBOOLEAN    ReadOnly OPTIONAL
+    _In_ PINTERFACE             Interface,
+    _In_ ULONG                  Reference,
+    _Outptr_opt_ PPFN_NUMBER    Pfn,
+    _Out_opt_ PBOOLEAN          ReadOnly
     );
 
 #define XENBUS_GNTTAB_CONSOLE_REFERENCE 0
@@ -193,8 +193,8 @@ typedef NTSTATUS
 */
 typedef VOID
 (*XENBUS_GNTTAB_DESTROY_CACHE)(
-    IN  PINTERFACE              Interface,
-    IN  PXENBUS_GNTTAB_CACHE    Cache
+    _In_ PINTERFACE             Interface,
+    _In_ PXENBUS_GNTTAB_CACHE   Cache
     );
 
 /*! \typedef XENBUS_GNTTAB_MAP_FOREIGN_PAGES
@@ -210,12 +210,12 @@ typedef VOID
 
 typedef NTSTATUS
 (*XENBUS_GNTTAB_MAP_FOREIGN_PAGES)(
-    IN  PINTERFACE              Interface,
-    IN  USHORT                  Domain,
-    IN  ULONG                   NumberPages,
-    IN  PULONG                  References,
-    IN  BOOLEAN                 ReadOnly,
-    OUT PHYSICAL_ADDRESS        *Address
+    _In_ PINTERFACE         Interface,
+    _In_ USHORT             Domain,
+    _In_ ULONG              NumberPages,
+    _In_ PULONG             References,
+    _In_ BOOLEAN            ReadOnly,
+    _Out_ PHYSICAL_ADDRESS  *Address
     );
 
 /*! \typedef XENBUS_GNTTAB_UNMAP_FOREIGN_PAGES
@@ -226,8 +226,8 @@ typedef NTSTATUS
 */
 typedef NTSTATUS
 (*XENBUS_GNTTAB_UNMAP_FOREIGN_PAGES)(
-    IN  PINTERFACE              Interface,
-    IN  PHYSICAL_ADDRESS        Address
+    _In_ PINTERFACE         Interface,
+    _In_ PHYSICAL_ADDRESS   Address
     );
 
 // {763679C5-E5C2-4A6D-8B88-6BB02EC42D8E}
diff --git a/include/shared_info_interface.h b/include/shared_info_interface.h
index 7aaf4f5..b9b7874 100644
--- a/include/shared_info_interface.h
+++ b/include/shared_info_interface.h
@@ -48,7 +48,7 @@
 */  
 typedef NTSTATUS
 (*XENBUS_SHARED_INFO_ACQUIRE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENBUS_SHARED_INFO_RELEASE
@@ -58,7 +58,7 @@ typedef NTSTATUS
 */  
 typedef VOID
 (*XENBUS_SHARED_INFO_RELEASE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENBUS_SHARED_INFO_UPCALL_SUPPORTED
@@ -66,8 +66,8 @@ typedef VOID
 */
 typedef BOOLEAN
 (*XENBUS_SHARED_INFO_UPCALL_SUPPORTED)(
-    IN  PINTERFACE  Interface,
-    IN  ULONG       Index
+    _In_ PINTERFACE Interface,
+    _In_ ULONG      Index
     );
 
 /*! \typedef XENBUS_SHARED_INFO_UPCALL_PENDING
@@ -75,14 +75,14 @@ typedef BOOLEAN
 */
 typedef BOOLEAN
 (*XENBUS_SHARED_INFO_UPCALL_PENDING)(
-    IN  PINTERFACE  Interface,
-    IN  ULONG       Index
+    _In_ PINTERFACE Interface,
+    _In_ ULONG      Index
     );
 
 typedef BOOLEAN
 (*XENBUS_SHARED_INFO_EVENT)(
-    IN  PVOID   Argument,
-    IN  ULONG   Port
+    _In_ PVOID  Argument,
+    _In_ ULONG  Port
     );
 
 /*! \typedef XENBUS_SHARED_INFO_EVTCHN_POLL
@@ -90,10 +90,10 @@ typedef BOOLEAN
 */  
 typedef BOOLEAN
 (*XENBUS_SHARED_INFO_EVTCHN_POLL)(
-    IN  PINTERFACE                  Interface,
-    IN  ULONG                       Index,
-    IN  XENBUS_SHARED_INFO_EVENT    Event,
-    IN  PVOID                       Argument
+    _In_ PINTERFACE                 Interface,
+    _In_ ULONG                      Index,
+    _In_ XENBUS_SHARED_INFO_EVENT   Event,
+    _In_ PVOID                      Argument
     );
 
 /*! \typedef XENBUS_SHARED_INFO_EVTCHN_ACK
@@ -101,8 +101,8 @@ typedef BOOLEAN
 */  
 typedef VOID
 (*XENBUS_SHARED_INFO_EVTCHN_ACK)(
-    IN  PINTERFACE  Interface,
-    IN  ULONG       Port
+    _In_ PINTERFACE Interface,
+    _In_ ULONG      Port
     );
 
 /*! \typedef XENBUS_SHARED_INFO_EVTCHN_MASK
@@ -110,8 +110,8 @@ typedef VOID
 */  
 typedef VOID
 (*XENBUS_SHARED_INFO_EVTCHN_MASK)(
-    IN  PINTERFACE  Interface,
-    IN  ULONG       Port
+    _In_ PINTERFACE Interface,
+    _In_ ULONG      Port
     );
 
 /*! \typedef XENBUS_SHARED_INFO_EVTCHN_UNMASK
@@ -119,13 +119,13 @@ typedef VOID
 */  
 typedef BOOLEAN
 (*XENBUS_SHARED_INFO_EVTCHN_UNMASK)(
-    IN  PINTERFACE  Interface,
-    IN  ULONG       Port
+    _In_ PINTERFACE Interface,
+    _In_ ULONG      Port
     );
 
 typedef LARGE_INTEGER
 (*XENBUS_SHARED_INFO_GET_TIME_V2)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENBUS_SHARED_INFO_GET_TIME
@@ -137,9 +137,9 @@ typedef LARGE_INTEGER
 */  
 typedef VOID
 (*XENBUS_SHARED_INFO_GET_TIME)(
-    IN  PINTERFACE      Interface,
-    OUT PLARGE_INTEGER  Time,
-    OUT PBOOLEAN        Local
+    _In_ PINTERFACE         Interface,
+    _Out_ PLARGE_INTEGER    Time,
+    _Out_ PBOOLEAN          Local
     );
 
 // {7E73C34F-1640-4649-A8F3-263BC930A004}
diff --git a/include/store_interface.h b/include/store_interface.h
index ca883bd..f633b02 100644
--- a/include/store_interface.h
+++ b/include/store_interface.h
@@ -75,7 +75,7 @@ typedef struct _XENBUS_STORE_PERMISSION {
 */  
 typedef NTSTATUS
 (*XENBUS_STORE_ACQUIRE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENBUS_STORE_RELEASE
@@ -85,7 +85,7 @@ typedef NTSTATUS
 */  
 typedef VOID
 (*XENBUS_STORE_RELEASE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENBUS_STORE_FREE
@@ -96,8 +96,8 @@ typedef VOID
 */  
 typedef VOID
 (*XENBUS_STORE_FREE)(
-    IN  PINTERFACE  Interface,
-    IN  PCHAR       Buffer
+    _In_ PINTERFACE Interface,
+    _In_ PCHAR      Buffer
     );
 
 /*! \typedef XENBUS_STORE_READ
@@ -116,11 +116,11 @@ typedef VOID
 */  
 typedef NTSTATUS
 (*XENBUS_STORE_READ)(
-    IN  PINTERFACE                  Interface,
-    IN  PXENBUS_STORE_TRANSACTION   Transaction OPTIONAL,
-    IN  PCHAR                       Prefix OPTIONAL,
-    IN  PCHAR                       Node,
-    OUT PCHAR                       *Buffer
+    _In_ PINTERFACE                     Interface,
+    _In_opt_ PXENBUS_STORE_TRANSACTION  Transaction,
+    _In_opt_ PCHAR                      Prefix,
+    _In_ PCHAR                          Node,
+    _Outptr_ PCHAR                      *Buffer
     );
 
 /*! \typedef XENBUS_STORE_PRINTF
@@ -139,11 +139,11 @@ typedef NTSTATUS
 */  
 typedef NTSTATUS
 (*XENBUS_STORE_PRINTF)(
-    IN  PINTERFACE                  Interface,
-    IN  PXENBUS_STORE_TRANSACTION   Transaction OPTIONAL,
-    IN  PCHAR                       Prefix OPTIONAL,
-    IN  PCHAR                       Node,
-    IN  const CHAR                  *Format,
+    _In_ PINTERFACE                     Interface,
+    _In_opt_ PXENBUS_STORE_TRANSACTION  Transaction,
+    _In_opt_ PCHAR                      Prefix,
+    _In_ PCHAR                          Node,
+    _In_ const CHAR                     *Format,
     ...
     );
 
@@ -159,10 +159,10 @@ typedef NTSTATUS
 */  
 typedef NTSTATUS
 (*XENBUS_STORE_REMOVE)(
-    IN  PINTERFACE                  Interface,
-    IN  PXENBUS_STORE_TRANSACTION   Transaction OPTIONAL,
-    IN  PCHAR                       Prefix OPTIONAL,
-    IN  PCHAR                       Node
+    _In_ PINTERFACE                     Interface,
+    _In_opt_ PXENBUS_STORE_TRANSACTION  Transaction,
+    _In_opt_ PCHAR                      Prefix,
+    _In_ PCHAR                          Node
     );
 
 /*! \typedef XENBUS_STORE_DIRECTORY
@@ -181,11 +181,11 @@ typedef NTSTATUS
 */  
 typedef NTSTATUS
 (*XENBUS_STORE_DIRECTORY)(
-    IN  PINTERFACE                  Interface,
-    IN  PXENBUS_STORE_TRANSACTION   Transaction OPTIONAL,
-    IN  PCHAR                       Prefix OPTIONAL,
-    IN  PCHAR                       Node,
-    OUT PCHAR                       *Buffer
+    _In_ PINTERFACE                     Interface,
+    _In_opt_ PXENBUS_STORE_TRANSACTION  Transaction,
+    _In_opt_ PCHAR                      Prefix,
+    _In_ PCHAR                          Node,
+    _Outptr_ PCHAR                      *Buffer
     );
 
 /*! \typedef XENBUS_STORE_TRANSACTION_START
@@ -196,8 +196,8 @@ typedef NTSTATUS
 */  
 typedef NTSTATUS
 (*XENBUS_STORE_TRANSACTION_START)(
-    IN  PINTERFACE                  Interface,
-    OUT PXENBUS_STORE_TRANSACTION   *Transaction
+    _In_ PINTERFACE                     Interface,
+    _Outptr_ PXENBUS_STORE_TRANSACTION  *Transaction
     );
 
 /*! \typedef XENBUS_STORE_TRANSACTION_END
@@ -213,9 +213,9 @@ typedef NTSTATUS
 */  
 typedef NTSTATUS
 (*XENBUS_STORE_TRANSACTION_END)(
-    IN  PINTERFACE                  Interface,
-    IN  PXENBUS_STORE_TRANSACTION   Transaction,
-    IN  BOOLEAN                     Commit
+    _In_ PINTERFACE                 Interface,
+    _In_ PXENBUS_STORE_TRANSACTION  Transaction,
+    _In_ BOOLEAN                    Commit
     );
 
 /*! \typedef XENBUS_STORE_WATCH_ADD
@@ -231,11 +231,11 @@ typedef NTSTATUS
 */  
 typedef NTSTATUS
 (*XENBUS_STORE_WATCH_ADD)(
-    IN  PINTERFACE          Interface,
-    IN  PCHAR               Prefix OPTIONAL,
-    IN  PCHAR               Node,
-    IN  PKEVENT             Event,
-    OUT PXENBUS_STORE_WATCH *Watch
+    _In_ PINTERFACE                 Interface,
+    _In_opt_ PCHAR                  Prefix,
+    _In_ PCHAR                      Node,
+    _In_ PKEVENT                    Event,
+    _Outptr_ PXENBUS_STORE_WATCH    *Watch
     );
 
 /*! \typedef XENBUS_STORE_WATCH_REMOVE
@@ -246,8 +246,8 @@ typedef NTSTATUS
 */  
 typedef NTSTATUS
 (*XENBUS_STORE_WATCH_REMOVE)(
-    IN  PINTERFACE          Interface,
-    IN  PXENBUS_STORE_WATCH Watch
+    _In_ PINTERFACE             Interface,
+    _In_ PXENBUS_STORE_WATCH    Watch
     );
 
 /*! \typedef XENBUS_STORE_POLL
@@ -262,7 +262,7 @@ typedef NTSTATUS
 */  
 typedef VOID
 (*XENBUS_STORE_POLL)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENBUS_STORE_PERMISSIONS_SET
@@ -279,12 +279,12 @@ typedef VOID
 */
 typedef NTSTATUS
 (*XENBUS_STORE_PERMISSIONS_SET)(
-    IN  PINTERFACE                  Interface,
-    IN  PXENBUS_STORE_TRANSACTION   Transaction OPTIONAL,
-    IN  PCHAR                       Prefix OPTIONAL,
-    IN  PCHAR                       Node,
-    IN  PXENBUS_STORE_PERMISSION    Permissions,
-    IN  ULONG                       NumberPermissions
+    _In_ PINTERFACE                     Interface,
+    _In_opt_ PXENBUS_STORE_TRANSACTION  Transaction,
+    _In_opt_ PCHAR                      Prefix,
+    _In_ PCHAR                          Node,
+    _In_ PXENBUS_STORE_PERMISSION       Permissions,
+    _In_ ULONG                          NumberPermissions
     );
 
 // {86824C3B-D34E-4753-B281-2F1E3AD214D7}
diff --git a/include/suspend_interface.h b/include/suspend_interface.h
index 4176dc3..414bca5 100644
--- a/include/suspend_interface.h
+++ b/include/suspend_interface.h
@@ -62,7 +62,7 @@ typedef struct _XENBUS_SUSPEND_CALLBACK   
XENBUS_SUSPEND_CALLBACK, *PXENBUS_SUSP
 */  
 typedef NTSTATUS
 (*XENBUS_SUSPEND_ACQUIRE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENBUS_SUSPEND_RELEASE
@@ -72,7 +72,7 @@ typedef NTSTATUS
 */  
 typedef VOID
 (*XENBUS_SUSPEND_RELEASE)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENBUS_SUSPEND_FUNCTION
@@ -87,7 +87,7 @@ typedef VOID
 */  
 typedef VOID
 (*XENBUS_SUSPEND_FUNCTION)(
-    IN  PVOID   Argument
+    _In_ PVOID  Argument
     );
 
 /*! \typedef XENBUS_SUSPEND_REGISTER
@@ -101,11 +101,11 @@ typedef VOID
 */  
 typedef NTSTATUS
 (*XENBUS_SUSPEND_REGISTER)(
-    IN  PINTERFACE                      Interface,
-    IN  XENBUS_SUSPEND_CALLBACK_TYPE    Type,
-    IN  XENBUS_SUSPEND_FUNCTION         Function,
-    IN  PVOID                           Argument OPTIONAL,
-    OUT PXENBUS_SUSPEND_CALLBACK        *Callback
+    _In_ PINTERFACE                     Interface,
+    _In_ XENBUS_SUSPEND_CALLBACK_TYPE   Type,
+    _In_ XENBUS_SUSPEND_FUNCTION        Function,
+    _In_opt_ PVOID                      Argument,
+    _Outptr_ PXENBUS_SUSPEND_CALLBACK   *Callback
     );
 
 /*! \typedef XENBUS_SUSPEND_DEREGISTER
@@ -116,8 +116,8 @@ typedef NTSTATUS
 */
 typedef VOID
 (*XENBUS_SUSPEND_DEREGISTER)(
-    IN  PINTERFACE                  Interface,
-    IN  PXENBUS_SUSPEND_CALLBACK    Callback
+    _In_ PINTERFACE                 Interface,
+    _In_ PXENBUS_SUSPEND_CALLBACK   Callback
     );
 
 /*! \typedef XENBUS_SUSPEND_TRIGGER
@@ -129,7 +129,7 @@ typedef VOID
 */
 typedef NTSTATUS
 (*XENBUS_SUSPEND_TRIGGER)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 /*! \typedef XENBUS_SUSPEND_GET_COUNT
@@ -140,7 +140,7 @@ typedef NTSTATUS
 */
 typedef ULONG
 (*XENBUS_SUSPEND_GET_COUNT)(
-    IN  PINTERFACE  Interface
+    _In_ PINTERFACE Interface
     );
 
 // {0554F2AF-B510-4C71-AC03-1C503E394238}
diff --git a/include/xencontrol.h b/include/xencontrol.h
index 04ef858..efd790f 100644
--- a/include/xencontrol.h
+++ b/include/xencontrol.h
@@ -38,10 +38,10 @@ _XENCONTROL_LOG_LEVEL {
 */
 typedef void
 XENCONTROL_LOGGER(
-    IN  XENCONTROL_LOG_LEVEL LogLevel,
-    IN  const CHAR *Function,
-    IN  const WCHAR *Message,
-    IN  va_list Args
+    _In_ XENCONTROL_LOG_LEVEL   LogLevel,
+    _In_ const CHAR             *Function,
+    _In_ const WCHAR            *Message,
+    _In_ va_list                Args
     );
 
 /*! \brief Register a callback for receiving library's diagnostic messages
@@ -51,8 +51,8 @@ XENCONTROL_LOGGER(
 XENCONTROL_API
 void
 XcRegisterLogger(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  XENCONTROL_LOGGER *Logger
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ XENCONTROL_LOGGER      *Logger
     );
 
 /*! \brief Set log level threshold for library's diagnostic messages
@@ -62,8 +62,8 @@ XcRegisterLogger(
 XENCONTROL_API
 void
 XcSetLogLevel(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  XENCONTROL_LOG_LEVEL LogLevel
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ XENCONTROL_LOG_LEVEL   LogLevel
     );
 
 /*! \brief Open the Xen Interface device
@@ -74,8 +74,8 @@ XcSetLogLevel(
 XENCONTROL_API
 DWORD
 XcOpen(
-    IN  XENCONTROL_LOGGER *Logger,
-    OUT PXENCONTROL_CONTEXT *Xc
+    _In_ XENCONTROL_LOGGER          *Logger,
+    _Outptr_ PXENCONTROL_CONTEXT    *Xc
     );
 
 /*! \brief Close the Xen Interface device
@@ -84,7 +84,7 @@ XcOpen(
 XENCONTROL_API
 void
 XcClose(
-    IN  PXENCONTROL_CONTEXT Xc
+    _In_ PXENCONTROL_CONTEXT    Xc
     );
 
 /*! \brief Open an unbound event channel
@@ -98,11 +98,11 @@ XcClose(
 XENCONTROL_API
 DWORD
 XcEvtchnOpenUnbound(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  USHORT RemoteDomain,
-    IN  HANDLE Event,
-    IN  BOOL Mask,
-    OUT ULONG *LocalPort
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ USHORT                 RemoteDomain,
+    _In_ HANDLE                 Event,
+    _In_ BOOL                   Mask,
+    _Out_ ULONG                 *LocalPort
     );
 
 /*! \brief Open an event channel that was already bound by a remote domain
@@ -117,12 +117,12 @@ XcEvtchnOpenUnbound(
 XENCONTROL_API
 DWORD
 XcEvtchnBindInterdomain(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  USHORT RemoteDomain,
-    IN  ULONG RemotePort,
-    IN  HANDLE Event,
-    IN  BOOL Mask,
-    OUT ULONG *LocalPort
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ USHORT                 RemoteDomain,
+    _In_ ULONG                  RemotePort,
+    _In_ HANDLE                 Event,
+    _In_ BOOL                   Mask,
+    _Out_ ULONG                 *LocalPort
     );
 
 /*! \brief Close an event channel
@@ -133,8 +133,8 @@ XcEvtchnBindInterdomain(
 XENCONTROL_API
 DWORD
 XcEvtchnClose(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  ULONG LocalPort
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ ULONG                  LocalPort
     );
 
 /*! \brief Notify the remote end of an event channel
@@ -145,8 +145,8 @@ XcEvtchnClose(
 XENCONTROL_API
 DWORD
 XcEvtchnNotify(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  ULONG LocalPort
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ ULONG                  LocalPort
     );
 
 /*! \brief Unmask an event channel
@@ -157,8 +157,8 @@ XcEvtchnNotify(
 XENCONTROL_API
 DWORD
 XcEvtchnUnmask(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  ULONG LocalPort
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ ULONG                  LocalPort
     );
 
 /*! \brief Grant a \a RemoteDomain permission to access local newly allocated 
memory pages
@@ -175,14 +175,14 @@ XcEvtchnUnmask(
 XENCONTROL_API
 DWORD
 XcGnttabPermitForeignAccess(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  USHORT RemoteDomain,
-    IN  ULONG NumberPages,
-    IN  ULONG NotifyOffset,
-    IN  ULONG NotifyPort,
-    IN  XENIFACE_GNTTAB_PAGE_FLAGS Flags,
-    OUT PVOID *Address,
-    OUT ULONG *References
+    _In_ PXENCONTROL_CONTEXT        Xc,
+    _In_ USHORT                     RemoteDomain,
+    _In_ ULONG                      NumberPages,
+    _In_ ULONG                      NotifyOffset,
+    _In_ ULONG                      NotifyPort,
+    _In_ XENIFACE_GNTTAB_PAGE_FLAGS Flags,
+    _Outptr_ PVOID                  *Address,
+    _Out_ ULONG                     *References
     );
 
 /*! \brief Grant a \a RemoteDomain permission to access local memory pages
@@ -200,15 +200,15 @@ XcGnttabPermitForeignAccess(
 XENCONTROL_API
 DWORD
 XcGnttabPermitForeignAccess2(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  USHORT RemoteDomain,
-    IN  PVOID Address,
-    IN  ULONG NumberPages,
-    IN  ULONG NotifyOffset,
-    IN  ULONG NotifyPort,
-    IN  XENIFACE_GNTTAB_PAGE_FLAGS Flags,
-    OUT PVOID* SharedAddress,
-    OUT ULONG* References
+    _In_ PXENCONTROL_CONTEXT        Xc,
+    _In_ USHORT                     RemoteDomain,
+    _In_ PVOID                      Address,
+    _In_ ULONG                      NumberPages,
+    _In_ ULONG                      NotifyOffset,
+    _In_ ULONG                      NotifyPort,
+    _In_ XENIFACE_GNTTAB_PAGE_FLAGS Flags,
+    _Outptr_ PVOID                  *SharedAddress,
+    _Out_ ULONG                     *References
 );
 
 /*! \brief Revoke a foreign domain access to previously granted memory region
@@ -219,8 +219,8 @@ XcGnttabPermitForeignAccess2(
 XENCONTROL_API
 DWORD
 XcGnttabRevokeForeignAccess(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PVOID Address
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ PVOID                  Address
     );
 
 /*! \brief Map a foreign memory region into the current address space
@@ -237,14 +237,14 @@ XcGnttabRevokeForeignAccess(
 XENCONTROL_API
 DWORD
 XcGnttabMapForeignPages(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  USHORT RemoteDomain,
-    IN  ULONG NumberPages,
-    IN  PULONG References,
-    IN  ULONG NotifyOffset,
-    IN  ULONG NotifyPort,
-    IN  XENIFACE_GNTTAB_PAGE_FLAGS Flags,
-    OUT PVOID *Address
+    _In_ PXENCONTROL_CONTEXT        Xc,
+    _In_ USHORT                     RemoteDomain,
+    _In_ ULONG                      NumberPages,
+    _In_ PULONG                     References,
+    _In_ ULONG                      NotifyOffset,
+    _In_ ULONG                      NotifyPort,
+    _In_ XENIFACE_GNTTAB_PAGE_FLAGS Flags,
+    _Outptr_ PVOID                  *Address
     );
 
 /*! \brief Unmap a foreign memory region from the current address space
@@ -255,8 +255,8 @@ XcGnttabMapForeignPages(
 XENCONTROL_API
 DWORD
 XcGnttabUnmapForeignPages(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PVOID Address
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ PVOID                  Address
     );
 
 /*! \brief Read a XenStore key
@@ -269,10 +269,10 @@ XcGnttabUnmapForeignPages(
 XENCONTROL_API
 DWORD
 XcStoreRead(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PSTR Path,
-    IN  DWORD cbValue,
-    OUT CHAR *Value
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ PSTR                   Path,
+    _In_ DWORD                  cbValue,
+    _Out_ CHAR                  *Value
     );
 
 /*! \brief Write a value to a XenStore key
@@ -284,9 +284,9 @@ XcStoreRead(
 XENCONTROL_API
 DWORD
 XcStoreWrite(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PCHAR Path,
-    IN  PCHAR Value
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ PCHAR                  Path,
+    _In_ PCHAR                  Value
     );
 
 /*! \brief Enumerate all immediate child keys of a XenStore key
@@ -299,10 +299,10 @@ XcStoreWrite(
 XENCONTROL_API
 DWORD
 XcStoreDirectory(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PCHAR Path,
-    IN  DWORD cbOutput,
-    OUT CHAR *Output
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ PCHAR                  Path,
+    _In_ DWORD                  cbOutput,
+    _Out_ CHAR                  *Output
     );
 
 /*! \brief Remove a XenStore key
@@ -313,8 +313,8 @@ XcStoreDirectory(
 XENCONTROL_API
 DWORD
 XcStoreRemove(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PCHAR Path
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ PCHAR                  Path
     );
 
 /*! \brief Set permissions of a XenStore key
@@ -327,10 +327,10 @@ XcStoreRemove(
 XENCONTROL_API
 DWORD
 XcStoreSetPermissions(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PCHAR Path,
-    IN  ULONG Count,
-    IN  PXENIFACE_STORE_PERMISSION Permissions
+    _In_ PXENCONTROL_CONTEXT        Xc,
+    _In_ PCHAR                      Path,
+    _In_ ULONG                      Count,
+    _In_ PXENIFACE_STORE_PERMISSION Permissions
     );
 
 /*! \brief Add a XenStore key watch
@@ -343,10 +343,10 @@ XcStoreSetPermissions(
 XENCONTROL_API
 DWORD
 XcStoreAddWatch(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PCHAR Path,
-    IN  HANDLE Event,
-    OUT PVOID *Handle
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ PCHAR                  Path,
+    _In_ HANDLE                 Event,
+    _Outptr_ PVOID              *Handle
     );
 
 /*! \brief Remove a XenStore watch
@@ -357,8 +357,8 @@ XcStoreAddWatch(
 XENCONTROL_API
 DWORD
 XcStoreRemoveWatch(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PVOID Handle
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ PVOID                  Handle
     );
 
 #ifdef __cplusplus
diff --git a/src/xencontrol/xencontrol.c b/src/xencontrol/xencontrol.c
index c8a954c..9ab760b 100644
--- a/src/xencontrol/xencontrol.c
+++ b/src/xencontrol/xencontrol.c
@@ -10,9 +10,9 @@
 
 BOOL APIENTRY
 DllMain(
-    IN  HMODULE Module,
-    IN  DWORD ReasonForCall,
-    IN  LPVOID Reserved
+    _In_ HMODULE    Module,
+    _In_ DWORD      ReasonForCall,
+    _In_ LPVOID     Reserved
 )
 {
     UNREFERENCED_PARAMETER(Module);
@@ -23,16 +23,16 @@ DllMain(
 
 static void
 _Log(
-    IN  XENCONTROL_LOGGER *Logger,
-    IN  XENCONTROL_LOG_LEVEL LogLevel,
-    IN  XENCONTROL_LOG_LEVEL CurrentLogLevel,
-    IN  PCHAR Function,
-    IN  PWCHAR Format,
+    _In_ XENCONTROL_LOGGER      *Logger,
+    _In_ XENCONTROL_LOG_LEVEL   LogLevel,
+    _In_ XENCONTROL_LOG_LEVEL   CurrentLogLevel,
+    _In_ PCHAR                  Function,
+    _In_ PWCHAR                 Format,
     ...
     )
 {
-    va_list Args;
-    DWORD LastError;
+    va_list                     Args;
+    DWORD                       LastError;
 
     if (Logger == NULL)
         return;
@@ -49,14 +49,14 @@ _Log(
 
 static void
 _LogMultiSz(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PCHAR Caller,
-    IN  XENCONTROL_LOG_LEVEL Level,
-    IN  PCHAR MultiSz
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ PCHAR                  Caller,
+    _In_ XENCONTROL_LOG_LEVEL   Level,
+    _In_ PCHAR                  MultiSz
     )
 {
-    PCHAR Ptr;
-    ULONG Len;
+    PCHAR                       Ptr;
+    ULONG                       Len;
 
     for (Ptr = MultiSz; *Ptr;) {
         Len = (ULONG)strlen(Ptr);
@@ -67,8 +67,8 @@ _LogMultiSz(
 
 void
 XcRegisterLogger(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  XENCONTROL_LOGGER *Logger
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ XENCONTROL_LOGGER      *Logger
     )
 {
     Xc->Logger = Logger;
@@ -76,8 +76,8 @@ XcRegisterLogger(
 
 void
 XcSetLogLevel(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  XENCONTROL_LOG_LEVEL LogLevel
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ XENCONTROL_LOG_LEVEL   LogLevel
     )
 {
     Xc->LogLevel = LogLevel;
@@ -85,16 +85,16 @@ XcSetLogLevel(
 
 DWORD
 XcOpen(
-    IN  XENCONTROL_LOGGER *Logger,
-    OUT PXENCONTROL_CONTEXT *Xc
+    _In_ XENCONTROL_LOGGER          *Logger,
+    _Outptr_ PXENCONTROL_CONTEXT    *Xc
     )
 {
-    HDEVINFO DevInfo;
-    SP_DEVICE_INTERFACE_DATA InterfaceData;
+    HDEVINFO                        DevInfo;
+    SP_DEVICE_INTERFACE_DATA        InterfaceData;
     SP_DEVICE_INTERFACE_DETAIL_DATA *DetailData = NULL;
-    DWORD BufferSize;
-    PXENCONTROL_CONTEXT Context;
-    DWORD Status = ERROR_OUTOFMEMORY;
+    DWORD                           BufferSize;
+    PXENCONTROL_CONTEXT             Context;
+    DWORD                           Status = ERROR_OUTOFMEMORY;
 
     Context = malloc(sizeof(*Context));
     if (Context == NULL)
@@ -178,7 +178,7 @@ end:
 
 void
 XcClose(
-    IN  PXENCONTROL_CONTEXT Xc
+    _In_ PXENCONTROL_CONTEXT    Xc
     )
 {
     CloseHandle(Xc->XenIface);
@@ -187,18 +187,18 @@ XcClose(
 
 DWORD
 XcEvtchnOpenUnbound(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  USHORT RemoteDomain,
-    IN  HANDLE Event,
-    IN  BOOL Mask,
-    OUT ULONG *LocalPort
+    _In_ PXENCONTROL_CONTEXT            Xc,
+    _In_ USHORT                         RemoteDomain,
+    _In_ HANDLE                         Event,
+    _In_ BOOL                           Mask,
+    _Out_ ULONG                         *LocalPort
     )
 {
-    XENIFACE_EVTCHN_BIND_UNBOUND_IN In;
-    XENIFACE_EVTCHN_BIND_UNBOUND_OUT Out;
-    DWORD Returned;
-    BOOL Success;
-    DWORD Status = ERROR_SUCCESS;
+    XENIFACE_EVTCHN_BIND_UNBOUND_IN     In;
+    XENIFACE_EVTCHN_BIND_UNBOUND_OUT    Out;
+    DWORD                               Returned;
+    BOOL                                Success;
+    DWORD                               Status = ERROR_SUCCESS;
 
     In.RemoteDomain = RemoteDomain;
     In.Event = Event;
@@ -227,19 +227,19 @@ end:
 
 DWORD
 XcEvtchnBindInterdomain(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  USHORT RemoteDomain,
-    IN  ULONG RemotePort,
-    IN  HANDLE Event,
-    IN  BOOL Mask,
-    OUT ULONG *LocalPort
+    _In_ PXENCONTROL_CONTEXT                Xc,
+    _In_ USHORT                             RemoteDomain,
+    _In_ ULONG                              RemotePort,
+    _In_ HANDLE                             Event,
+    _In_ BOOL                               Mask,
+    _Out_ ULONG                             *LocalPort
     )
 {
-    XENIFACE_EVTCHN_BIND_INTERDOMAIN_IN In;
-    XENIFACE_EVTCHN_BIND_INTERDOMAIN_OUT Out;
-    DWORD Returned;
-    BOOL Success;
-    DWORD Status = ERROR_SUCCESS;
+    XENIFACE_EVTCHN_BIND_INTERDOMAIN_IN     In;
+    XENIFACE_EVTCHN_BIND_INTERDOMAIN_OUT    Out;
+    DWORD                                   Returned;
+    BOOL                                    Success;
+    DWORD                                   Status = ERROR_SUCCESS;
 
     In.RemoteDomain = RemoteDomain;
     In.RemotePort = RemotePort;
@@ -270,14 +270,14 @@ end:
 
 DWORD
 XcEvtchnClose(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  ULONG LocalPort
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ ULONG                  LocalPort
     )
 {
-    XENIFACE_EVTCHN_CLOSE_IN In;
-    DWORD Returned;
-    BOOL Success;
-    DWORD Status = ERROR_SUCCESS;
+    XENIFACE_EVTCHN_CLOSE_IN    In;
+    DWORD                       Returned;
+    BOOL                        Success;
+    DWORD                       Status = ERROR_SUCCESS;
 
     In.LocalPort = LocalPort;
 
@@ -299,14 +299,14 @@ XcEvtchnClose(
 
 DWORD
 XcEvtchnNotify(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  ULONG LocalPort
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ ULONG                  LocalPort
     )
 {
-    XENIFACE_EVTCHN_NOTIFY_IN In;
-    DWORD Returned;
-    BOOL Success;
-    DWORD Status = ERROR_SUCCESS;
+    XENIFACE_EVTCHN_NOTIFY_IN   In;
+    DWORD                       Returned;
+    BOOL                        Success;
+    DWORD                       Status = ERROR_SUCCESS;
 
     In.LocalPort = LocalPort;
 
@@ -328,14 +328,14 @@ XcEvtchnNotify(
 
 DWORD
 XcEvtchnUnmask(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  ULONG LocalPort
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ ULONG                  LocalPort
     )
 {
-    XENIFACE_EVTCHN_UNMASK_IN In;
-    DWORD Returned;
-    BOOL Success;
-    DWORD Status = ERROR_SUCCESS;
+    XENIFACE_EVTCHN_UNMASK_IN   In;
+    DWORD                       Returned;
+    BOOL                        Success;
+    DWORD                       Status = ERROR_SUCCESS;
 
     In.LocalPort = LocalPort;
 
@@ -357,14 +357,14 @@ XcEvtchnUnmask(
 
 DWORD
 XcGnttabPermitForeignAccess(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  USHORT RemoteDomain,
-    IN  ULONG NumberPages,
-    IN  ULONG NotifyOffset,
-    IN  ULONG NotifyPort,
-    IN  XENIFACE_GNTTAB_PAGE_FLAGS Flags,
-    OUT PVOID* SharedAddress,
-    OUT ULONG* References
+    _In_ PXENCONTROL_CONTEXT        Xc,
+    _In_ USHORT                     RemoteDomain,
+    _In_ ULONG                      NumberPages,
+    _In_ ULONG                      NotifyOffset,
+    _In_ ULONG                      NotifyPort,
+    _In_ XENIFACE_GNTTAB_PAGE_FLAGS Flags,
+    _Outptr_ PVOID                  *SharedAddress,
+    _Out_ ULONG                     *References
 )
 {
     Log(XLL_DEBUG, L"RemoteDomain: %d, NumberPages: %lu, NotifyOffset: 0x%x, 
NotifyPort: %lu, Flags: 0x%x",
@@ -383,23 +383,23 @@ XcGnttabPermitForeignAccess(
 
 DWORD
 XcGnttabPermitForeignAccess2(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  USHORT RemoteDomain,
-    IN  PVOID Address,
-    IN  ULONG NumberPages,
-    IN  ULONG NotifyOffset,
-    IN  ULONG NotifyPort,
-    IN  XENIFACE_GNTTAB_PAGE_FLAGS Flags,
-    OUT PVOID *SharedAddress,
-    OUT ULONG *References
+    _In_ PXENCONTROL_CONTEXT                        Xc,
+    _In_ USHORT                                     RemoteDomain,
+    _In_ PVOID                                      Address,
+    _In_ ULONG                                      NumberPages,
+    _In_ ULONG                                      NotifyOffset,
+    _In_ ULONG                                      NotifyPort,
+    _In_ XENIFACE_GNTTAB_PAGE_FLAGS                 Flags,
+    _Outptr_ PVOID                                  *SharedAddress,
+    _Out_ ULONG                                     *References
     )
 {
-    XENIFACE_GNTTAB_PERMIT_FOREIGN_ACCESS_IN_V2 In;
-    XENIFACE_GNTTAB_PERMIT_FOREIGN_ACCESS_OUT_V2 *Out;
-    DWORD Returned, Size;
-    OVERLAPPED Overlapped;
-    BOOL Success;
-    DWORD Status;
+    XENIFACE_GNTTAB_PERMIT_FOREIGN_ACCESS_IN_V2     In;
+    XENIFACE_GNTTAB_PERMIT_FOREIGN_ACCESS_OUT_V2    *Out;
+    DWORD                                           Returned, Size;
+    OVERLAPPED                                      Overlapped;
+    BOOL                                            Success;
+    DWORD                                           Status;
 
     In.RemoteDomain = RemoteDomain;
     In.Address = Address;
@@ -455,14 +455,14 @@ end:
 
 DWORD
 XcGnttabRevokeForeignAccess(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PVOID Address
+    _In_ PXENCONTROL_CONTEXT                    Xc,
+    _In_ PVOID                                  Address
     )
 {
     XENIFACE_GNTTAB_REVOKE_FOREIGN_ACCESS_IN_V2 In;
-    DWORD Returned;
-    BOOL Success;
-    DWORD Status = ERROR_SUCCESS;
+    DWORD                                       Returned;
+    BOOL                                        Success;
+    DWORD                                       Status = ERROR_SUCCESS;
 
     Log(XLL_DEBUG, L"Address: %p", Address);
     In.Address = Address;
@@ -484,22 +484,22 @@ XcGnttabRevokeForeignAccess(
 
 DWORD
 XcGnttabMapForeignPages(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  USHORT RemoteDomain,
-    IN  ULONG NumberPages,
-    IN  PULONG References,
-    IN  ULONG NotifyOffset,
-    IN  ULONG NotifyPort,
-    IN  XENIFACE_GNTTAB_PAGE_FLAGS Flags,
-    OUT PVOID *Address
+    _In_ PXENCONTROL_CONTEXT                    Xc,
+    _In_ USHORT                                 RemoteDomain,
+    _In_ ULONG                                  NumberPages,
+    _In_ PULONG                                 References,
+    _In_ ULONG                                  NotifyOffset,
+    _In_ ULONG                                  NotifyPort,
+    _In_ XENIFACE_GNTTAB_PAGE_FLAGS             Flags,
+    _Outptr_ PVOID                              *Address
     )
 {
-    XENIFACE_GNTTAB_MAP_FOREIGN_PAGES_IN_V2 *In;
-    XENIFACE_GNTTAB_MAP_FOREIGN_PAGES_OUT_V2 Out;
-    DWORD Returned, Size;
-    OVERLAPPED Overlapped;
-    BOOL Success;
-    DWORD Status = ERROR_OUTOFMEMORY;
+    XENIFACE_GNTTAB_MAP_FOREIGN_PAGES_IN_V2     *In;
+    XENIFACE_GNTTAB_MAP_FOREIGN_PAGES_OUT_V2    Out;
+    DWORD                                       Returned, Size;
+    OVERLAPPED                                  Overlapped;
+    BOOL                                        Success;
+    DWORD                                       Status = ERROR_OUTOFMEMORY;
 
     Size = (ULONG)FIELD_OFFSET(XENIFACE_GNTTAB_MAP_FOREIGN_PAGES_IN_V2, 
References[NumberPages]);
     In = malloc(Size);
@@ -554,14 +554,14 @@ end:
 
 DWORD
 XcGnttabUnmapForeignPages(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PVOID Address
+    _In_ PXENCONTROL_CONTEXT                    Xc,
+    _In_ PVOID                                  Address
     )
 {
-    XENIFACE_GNTTAB_UNMAP_FOREIGN_PAGES_IN_V2 In;
-    DWORD Returned;
-    BOOL Success;
-    DWORD Status = ERROR_SUCCESS;
+    XENIFACE_GNTTAB_UNMAP_FOREIGN_PAGES_IN_V2   In;
+    DWORD                                       Returned;
+    BOOL                                        Success;
+    DWORD                                       Status = ERROR_SUCCESS;
 
     Log(XLL_DEBUG, L"Address: %p", Address);
 
@@ -584,15 +584,15 @@ XcGnttabUnmapForeignPages(
 
 DWORD
 XcStoreRead(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PSTR Path,
-    IN  DWORD cbValue,
-    OUT CHAR *Value
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ PSTR                   Path,
+    _In_ DWORD                  cbValue,
+    _Out_ CHAR                  *Value
     )
 {
-    DWORD Returned;
-    BOOL Success;
-    DWORD Status = ERROR_SUCCESS;
+    DWORD                       Returned;
+    BOOL                        Success;
+    DWORD                       Status = ERROR_SUCCESS;
 
     Log(XLL_DEBUG, L"Path: '%S'", Path);
     Success = DeviceIoControl(Xc->XenIface,
@@ -616,16 +616,16 @@ end:
 
 DWORD
 XcStoreWrite(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PCHAR Path,
-    IN  PCHAR Value
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ PCHAR                  Path,
+    _In_ PCHAR                  Value
     )
 {
-    PCHAR Buffer;
-    DWORD cbBuffer;
-    DWORD Returned;
-    BOOL Success;
-    DWORD Status = ERROR_SUCCESS;
+    PCHAR                       Buffer;
+    DWORD                       cbBuffer;
+    DWORD                       Returned;
+    BOOL                        Success;
+    DWORD                       Status = ERROR_SUCCESS;
 
     cbBuffer = (DWORD)(strlen(Path) + 1 + strlen(Value) + 1 + 1);
     Buffer = malloc(cbBuffer);
@@ -659,15 +659,15 @@ end:
 
 DWORD
 XcStoreDirectory(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PCHAR Path,
-    IN  DWORD cbOutput,
-    OUT CHAR *Output
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ PCHAR                  Path,
+    _In_ DWORD                  cbOutput,
+    _Out_ CHAR                  *Output
     )
 {
-    DWORD Returned;
-    BOOL Success;
-    DWORD Status = ERROR_SUCCESS;
+    DWORD                       Returned;
+    BOOL                        Success;
+    DWORD                       Status = ERROR_SUCCESS;
 
     Log(XLL_DEBUG, L"Path: '%S'", Path);
     Success = DeviceIoControl(Xc->XenIface,
@@ -691,13 +691,13 @@ end:
 
 DWORD
 XcStoreRemove(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PCHAR Path
+    _In_ PXENCONTROL_CONTEXT    Xc,
+    _In_ PCHAR                  Path
     )
 {
-    DWORD Returned;
-    BOOL Success;
-    DWORD Status = ERROR_SUCCESS;
+    DWORD                       Returned;
+    BOOL                        Success;
+    DWORD                       Status = ERROR_SUCCESS;
 
     Log(XLL_DEBUG, L"Path: '%S'", Path);
     Success = DeviceIoControl(Xc->XenIface,
@@ -717,16 +717,16 @@ XcStoreRemove(
 
 DWORD
 XcStoreSetPermissions(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PCHAR Path,
-    IN  ULONG Count,
-    IN  PXENIFACE_STORE_PERMISSION Permissions
+    _In_ PXENCONTROL_CONTEXT            Xc,
+    _In_ PCHAR                          Path,
+    _In_ ULONG                          Count,
+    _In_ PXENIFACE_STORE_PERMISSION     Permissions
     )
 {
-    DWORD Returned, Size;
-    BOOL Success;
-    DWORD Status = ERROR_SUCCESS;
-    XENIFACE_STORE_SET_PERMISSIONS_IN *In = NULL;
+    DWORD                               Returned, Size;
+    BOOL                                Success;
+    DWORD                               Status = ERROR_SUCCESS;
+    XENIFACE_STORE_SET_PERMISSIONS_IN   *In = NULL;
 
     Log(XLL_DEBUG, L"Path: '%S', Count: %lu", Path, Count);
     for (ULONG i = 0; i < Count; i++)
@@ -763,17 +763,17 @@ end:
 
 DWORD
 XcStoreAddWatch(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PCHAR Path,
-    IN  HANDLE Event,
-    OUT PVOID *Handle
+    _In_ PXENCONTROL_CONTEXT        Xc,
+    _In_ PCHAR                      Path,
+    _In_ HANDLE                     Event,
+    _Outptr_ PVOID                  *Handle
     )
 {
-    DWORD Returned;
-    BOOL Success;
-    DWORD Status = ERROR_SUCCESS;
-    XENIFACE_STORE_ADD_WATCH_IN In;
-    XENIFACE_STORE_ADD_WATCH_OUT Out;
+    DWORD                           Returned;
+    BOOL                            Success;
+    DWORD                           Status = ERROR_SUCCESS;
+    XENIFACE_STORE_ADD_WATCH_IN     In;
+    XENIFACE_STORE_ADD_WATCH_OUT    Out;
 
     Log(XLL_DEBUG, L"Path: '%S', Event: %p", Path, Event);
 
@@ -803,14 +803,14 @@ end:
 
 DWORD
 XcStoreRemoveWatch(
-    IN  PXENCONTROL_CONTEXT Xc,
-    IN  PVOID Handle
+    _In_ PXENCONTROL_CONTEXT        Xc,
+    _In_ PVOID                      Handle
     )
 {
-    DWORD Returned;
-    BOOL Success;
-    DWORD Status = ERROR_SUCCESS;
-    XENIFACE_STORE_REMOVE_WATCH_IN In;
+    DWORD                           Returned;
+    BOOL                            Success;
+    DWORD                           Status = ERROR_SUCCESS;
+    XENIFACE_STORE_REMOVE_WATCH_IN  In;
 
     Log(XLL_DEBUG, L"Handle: %p", Handle);
 
diff --git a/src/xeniface/driver.c b/src/xeniface/driver.c
index 3b5b16d..74192cf 100644
--- a/src/xeniface/driver.c
+++ b/src/xeniface/driver.c
@@ -51,7 +51,7 @@ static XENIFACE_DRIVER  Driver;
 
 static FORCEINLINE VOID
 __DriverSetDriverObject(
-    IN  PDRIVER_OBJECT  DriverObject
+    _In_ PDRIVER_OBJECT DriverObject
     )
 {
     Driver.DriverObject = DriverObject;
@@ -75,7 +75,7 @@ DriverGetDriverObject(
 
 static FORCEINLINE VOID
 __DriverSetParametersKey(
-    IN  HANDLE  Key
+    _In_ HANDLE Key
     )
 {
     Driver.ParametersKey = Key;
@@ -101,7 +101,7 @@ DRIVER_UNLOAD       DriverUnload;
 
 VOID
 DriverUnload(
-    IN  PDRIVER_OBJECT  DriverObject
+    _In_ PDRIVER_OBJECT DriverObject
     )
 {
     HANDLE              ParametersKey;
@@ -137,8 +137,8 @@ DRIVER_ADD_DEVICE   AddDevice;
 
 NTSTATUS
 AddDevice(
-    IN  PDRIVER_OBJECT  DriverObject,
-    IN  PDEVICE_OBJECT  DeviceObject
+    _In_ PDRIVER_OBJECT DriverObject,
+    _In_ PDEVICE_OBJECT DeviceObject
     )
 {
     NTSTATUS            status;
@@ -165,8 +165,8 @@ DRIVER_DISPATCH Dispatch;
 
 NTSTATUS 
 Dispatch(
-    IN PDEVICE_OBJECT   DeviceObject,
-    IN PIRP             Irp
+    _In_ PDEVICE_OBJECT DeviceObject,
+    _In_ PIRP           Irp
     )
 {
     PXENIFACE_DX        Dx;
@@ -216,13 +216,13 @@ DRIVER_INITIALIZE   DriverEntry;
 
 NTSTATUS
 DriverEntry(
-    IN  PDRIVER_OBJECT  DriverObject,
-    IN  PUNICODE_STRING RegistryPath
+    _In_ PDRIVER_OBJECT     DriverObject,
+    _In_ PUNICODE_STRING    RegistryPath
     )
 {
-    HANDLE              ParametersKey;
-    ULONG               Index;
-    NTSTATUS            status;
+    HANDLE                  ParametersKey;
+    ULONG                   Index;
+    NTSTATUS                status;
 
     ASSERT3P(__DriverGetDriverObject(), ==, NULL);
 
@@ -257,8 +257,8 @@ DriverEntry(
     DriverObject->DriverExtension->AddDevice = AddDevice;
 
     for (Index = 0; Index <= IRP_MJ_MAXIMUM_FUNCTION; Index++) {
-#pragma prefast(suppress:28169) // No __drv_dispatchType annotation
-#pragma prefast(suppress:28168) // No matching __drv_dispatchType annotation 
for IRP_MJ_CREATE
+#pragma prefast(suppress:28169) // No _Dispatch_type_ annotation
+#pragma prefast(suppress:28168) // No matching _Dispatch_type_ annotation for 
IRP_MJ_CREATE
         DriverObject->MajorFunction[Index] = Dispatch;
     }
 
diff --git a/src/xeniface/fdo.c b/src/xeniface/fdo.c
index ec56e42..e3f9b4f 100644
--- a/src/xeniface/fdo.c
+++ b/src/xeniface/fdo.c
@@ -63,7 +63,7 @@
 
 static FORCEINLINE PVOID
 __FdoAllocate(
-    IN  ULONG   Length
+    _In_ ULONG  Length
     )
 {
     return __AllocatePoolWithTag(NonPagedPool, Length, FDO_POOL);
@@ -71,7 +71,7 @@ __FdoAllocate(
 
 static FORCEINLINE VOID
 __FdoFree(
-    IN  PVOID   Buffer
+    _In_ PVOID  Buffer
     )
 {
     __FreePoolWithTag(Buffer, FDO_POOL);
@@ -79,11 +79,11 @@ __FdoFree(
 
 static FORCEINLINE VOID
 __FdoSetDevicePnpState(
-    IN  PXENIFACE_FDO         Fdo,
-    IN  DEVICE_PNP_STATE    State
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ DEVICE_PNP_STATE   State
     )
 {
-    PXENIFACE_DX              Dx = Fdo->Dx;
+    PXENIFACE_DX            Dx = Fdo->Dx;
 
     // We can never transition out of the deleted state
     ASSERT(Dx->DevicePnpState != Deleted || State == Deleted);
@@ -94,11 +94,11 @@ __FdoSetDevicePnpState(
 
 static FORCEINLINE VOID
 __FdoRestoreDevicePnpState(
-    IN  PXENIFACE_FDO         Fdo,
-    IN  DEVICE_PNP_STATE    State
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ DEVICE_PNP_STATE   State
     )
 {
-    PXENIFACE_DX               Dx = Fdo->Dx;
+    PXENIFACE_DX            Dx = Fdo->Dx;
 
     if (Dx->DevicePnpState == State)
         Dx->DevicePnpState = Dx->PreviousDevicePnpState;
@@ -106,59 +106,59 @@ __FdoRestoreDevicePnpState(
 
 static FORCEINLINE DEVICE_PNP_STATE
 __FdoGetDevicePnpState(
-    IN  PXENIFACE_FDO     Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
-    PXENIFACE_DX          Dx = Fdo->Dx;
+    PXENIFACE_DX        Dx = Fdo->Dx;
 
     return Dx->DevicePnpState;
 }
 
 static FORCEINLINE VOID
 __FdoSetDevicePowerState(
-    IN  PXENIFACE_FDO         Fdo,
-    IN  DEVICE_POWER_STATE  State
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ DEVICE_POWER_STATE State
     )
 {
-    PXENIFACE_DX              Dx = Fdo->Dx;
+    PXENIFACE_DX            Dx = Fdo->Dx;
 
     Dx->DevicePowerState = State;
 }
 
 static FORCEINLINE DEVICE_POWER_STATE
 __FdoGetDevicePowerState(
-    IN  PXENIFACE_FDO     Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
-    PXENIFACE_DX          Dx = Fdo->Dx;
+    PXENIFACE_DX        Dx = Fdo->Dx;
 
     return Dx->DevicePowerState;
 }
 
 static FORCEINLINE VOID
 __FdoSetSystemPowerState(
-    IN  PXENIFACE_FDO         Fdo,
-    IN  SYSTEM_POWER_STATE  State
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ SYSTEM_POWER_STATE State
     )
 {
-    PXENIFACE_DX              Dx = Fdo->Dx;
+    PXENIFACE_DX            Dx = Fdo->Dx;
 
     Dx->SystemPowerState = State;
 }
 
 static FORCEINLINE SYSTEM_POWER_STATE
 __FdoGetSystemPowerState(
-    IN  PXENIFACE_FDO     Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
-    PXENIFACE_DX          Dx = Fdo->Dx;
+    PXENIFACE_DX        Dx = Fdo->Dx;
 
     return Dx->SystemPowerState;
 }
 
 static FORCEINLINE PDEVICE_OBJECT
 __FdoGetPhysicalDeviceObject(
-    IN  PXENIFACE_FDO Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     return Fdo->PhysicalDeviceObject;
@@ -166,7 +166,7 @@ __FdoGetPhysicalDeviceObject(
 
 PDEVICE_OBJECT
 FdoGetPhysicalDeviceObject(
-    IN  PXENIFACE_FDO Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     return __FdoGetPhysicalDeviceObject(Fdo);
@@ -174,15 +174,15 @@ FdoGetPhysicalDeviceObject(
 
 static FORCEINLINE NTSTATUS
 __FdoSetName(
-    IN  PXENIFACE_FDO Fdo,
-    IN  PWCHAR      Name
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PWCHAR         Name
     )
 {
-    PXENIFACE_DX      Dx = Fdo->Dx;
-    UNICODE_STRING  Unicode;
-    ANSI_STRING     Ansi;
-    ULONG           Index;
-    NTSTATUS        status;
+    PXENIFACE_DX        Dx = Fdo->Dx;
+    UNICODE_STRING      Unicode;
+    ANSI_STRING         Ansi;
+    ULONG               Index;
+    NTSTATUS            status;
 
     RtlInitUnicodeString(&Unicode, Name);
 
@@ -209,29 +209,29 @@ fail1:
 
 static FORCEINLINE PCHAR
 __FdoGetName(
-    IN  PXENIFACE_FDO Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
-    PXENIFACE_DX      Dx = Fdo->Dx;
+    PXENIFACE_DX        Dx = Fdo->Dx;
 
     return Dx->Name;
 }
 
 PCHAR
 FdoGetName(
-    IN  PXENIFACE_FDO Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     return __FdoGetName(Fdo);
 }
 
-__drv_functionClass(IO_COMPLETION_ROUTINE)
-__drv_sameIRQL
+_Function_class_(IO_COMPLETION_ROUTINE)
+_IRQL_requires_same_
 static NTSTATUS
 __FdoDelegateIrp(
-    IN  PDEVICE_OBJECT  DeviceObject,
-    IN  PIRP            Irp,
-    IN  PVOID           Context
+    _In_ PDEVICE_OBJECT DeviceObject,
+    _In_ PIRP           Irp,
+    _In_ PVOID          Context
     )
 {
     PKEVENT             Event = (PKEVENT)Context;
@@ -246,8 +246,8 @@ __FdoDelegateIrp(
 
 NTSTATUS
 FdoDelegateIrp(
-    IN  PXENIFACE_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     PDEVICE_OBJECT      DeviceObject;
@@ -310,13 +310,13 @@ done:
     return status;
 }
 
-__drv_functionClass(IO_COMPLETION_ROUTINE)
-__drv_sameIRQL
+_Function_class_(IO_COMPLETION_ROUTINE)
+_IRQL_requires_same_
 static NTSTATUS
 __FdoForwardIrpSynchronously(
-    IN  PDEVICE_OBJECT  DeviceObject,
-    IN  PIRP            Irp,
-    IN  PVOID           Context
+    _In_ PDEVICE_OBJECT DeviceObject,
+    _In_ PIRP           Irp,
+    _In_ PVOID          Context
     )
 {
     PKEVENT             Event = (PKEVENT)Context;
@@ -331,8 +331,8 @@ __FdoForwardIrpSynchronously(
 
 static NTSTATUS
 FdoForwardIrpSynchronously(
-    IN  PXENIFACE_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     KEVENT              Event;
@@ -369,7 +369,7 @@ FdoForwardIrpSynchronously(
 
 static FORCEINLINE VOID
 __FdoAcquireMutex(
-    IN  PXENIFACE_FDO     Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     AcquireMutex(&Fdo->Mutex);
@@ -377,7 +377,7 @@ __FdoAcquireMutex(
 
 VOID
 FdoAcquireMutex(
-    IN  PXENIFACE_FDO     Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     __FdoAcquireMutex(Fdo);
@@ -385,7 +385,7 @@ FdoAcquireMutex(
 
 static FORCEINLINE VOID
 __FdoReleaseMutex(
-    IN  PXENIFACE_FDO     Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     ReleaseMutex(&Fdo->Mutex);
@@ -393,7 +393,7 @@ __FdoReleaseMutex(
 
 VOID
 FdoReleaseMutex(
-    IN  PXENIFACE_FDO     Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     __FdoReleaseMutex(Fdo);
@@ -404,9 +404,9 @@ FdoReleaseMutex(
 
 static DECLSPEC_NOINLINE VOID
 FdoParseResources(
-    IN  PXENIFACE_FDO             Fdo,
-    IN  PCM_RESOURCE_LIST       RawResourceList,
-    IN  PCM_RESOURCE_LIST       TranslatedResourceList
+    _In_ PXENIFACE_FDO          Fdo,
+    _In_ PCM_RESOURCE_LIST      RawResourceList,
+    _In_ PCM_RESOURCE_LIST      TranslatedResourceList
     )
 {
     PCM_PARTIAL_RESOURCE_LIST   RawPartialList;
@@ -451,7 +451,7 @@ FdoParseResources(
 
 static FORCEINLINE PANSI_STRING
 __FdoMultiSzToUpcaseAnsi(
-    IN  PCHAR       Buffer
+    _In_ PCHAR      Buffer
     )
 {
     PANSI_STRING    Ansi;
@@ -516,7 +516,7 @@ fail1:
 
 static FORCEINLINE VOID
 __FdoFreeAnsi(
-    IN  PANSI_STRING    Ansi
+    _In_ PANSI_STRING   Ansi
     )
 {
     ULONG               Index;
@@ -529,8 +529,8 @@ __FdoFreeAnsi(
 
 static FORCEINLINE BOOLEAN
 __FdoMatchDistribution(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PCHAR           Buffer
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PCHAR          Buffer
     )
 {
     PCHAR               Vendor;
@@ -589,7 +589,7 @@ fail1:
 
 static VOID
 FdoClearDistribution(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     PCHAR               Buffer;
@@ -652,7 +652,7 @@ done:
 
 static NTSTATUS
 FdoSetDistribution(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     ULONG               Index;
@@ -746,7 +746,7 @@ fail1:
 
 static FORCEINLINE NTSTATUS
 __FdoD3ToD0(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     Trace("====>\n");
@@ -762,7 +762,7 @@ __FdoD3ToD0(
 
 static FORCEINLINE VOID
 __FdoD0ToD3(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     Trace("====>\n");
@@ -776,7 +776,7 @@ __FdoD0ToD3(
 
 static DECLSPEC_NOINLINE VOID
 FdoSuspendCallbackLate(
-    IN  PVOID       Argument
+    _In_ PVOID      Argument
     )
 {
     PXENIFACE_FDO   Fdo = Argument;
@@ -793,7 +793,7 @@ FdoSuspendCallbackLate(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoD3ToD0(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     KIRQL               Irql;
@@ -917,10 +917,10 @@ fail1:
     return status;
 }
 
-__drv_requiresIRQL(PASSIVE_LEVEL)
+_IRQL_requires_(PASSIVE_LEVEL)
 static DECLSPEC_NOINLINE VOID
 FdoD0ToD3(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     KIRQL               Irql;
@@ -974,7 +974,7 @@ FdoD0ToD3(
 
 static DECLSPEC_NOINLINE VOID
 FdoS4ToS3(
-    IN  PXENIFACE_FDO         Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
@@ -985,7 +985,7 @@ FdoS4ToS3(
 
 static DECLSPEC_NOINLINE VOID
 FdoS3ToS4(
-    IN  PXENIFACE_FDO Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
@@ -996,8 +996,8 @@ FdoS3ToS4(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoStartDevice(
-    IN  PXENIFACE_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1065,11 +1065,11 @@ fail1:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoQueryStopDevice(
-    IN  PXENIFACE_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     __FdoSetDevicePnpState(Fdo, StopPending);
     Irp->IoStatus.Status = STATUS_SUCCESS;
@@ -1082,11 +1082,11 @@ FdoQueryStopDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoCancelStopDevice(
-    IN  PXENIFACE_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     Irp->IoStatus.Status = STATUS_SUCCESS;
 
@@ -1100,11 +1100,11 @@ FdoCancelStopDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoStopDevice(
-    IN  PXENIFACE_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     FdoD0ToD3(Fdo);
     WmiDeregister(Fdo);
@@ -1127,11 +1127,11 @@ FdoStopDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoQueryRemoveDevice(
-    IN  PXENIFACE_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     __FdoSetDevicePnpState(Fdo, RemovePending);
     Irp->IoStatus.Status = STATUS_SUCCESS;
@@ -1144,11 +1144,11 @@ FdoQueryRemoveDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoCancelRemoveDevice(
-    IN  PXENIFACE_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     __FdoRestoreDevicePnpState(Fdo, RemovePending);
 
@@ -1162,11 +1162,11 @@ FdoCancelRemoveDevice(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoSurpriseRemoval(
-    IN  PXENIFACE_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     __FdoSetDevicePnpState(Fdo, SurpriseRemovePending);
 
@@ -1181,14 +1181,14 @@ FdoSurpriseRemoval(
     return status;
 }
 
-__drv_requiresIRQL(PASSIVE_LEVEL)
+_IRQL_requires_(PASSIVE_LEVEL)
 static DECLSPEC_NOINLINE NTSTATUS
 FdoRemoveDevice(
-    IN  PXENIFACE_FDO Fdo,
-    IN  PIRP        Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
-    NTSTATUS        status;
+    NTSTATUS            status;
 
     ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
 
@@ -1228,8 +1228,8 @@ done:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoQueryCapabilities(
-    IN  PXENIFACE_FDO         Fdo,
-    IN  PIRP                Irp
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PIRP               Irp
     )
 {
     PIO_STACK_LOCATION      StackLocation;
@@ -1271,8 +1271,8 @@ fail1:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoDeviceUsageNotification(
-    IN  PXENIFACE_FDO                 Fdo,
-    IN  PIRP                        Irp
+    _In_ PXENIFACE_FDO              Fdo,
+    _In_ PIRP                       Irp
     )
 {
     PIO_STACK_LOCATION              StackLocation;
@@ -1331,8 +1331,8 @@ fail1:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoQueryPnpDeviceState(
-    IN  PXENIFACE_FDO                 Fdo,
-    IN  PIRP                        Irp
+    _In_ PXENIFACE_FDO              Fdo,
+    _In_ PIRP                       Irp
     )
 {
     ULONG_PTR                       State;
@@ -1362,8 +1362,8 @@ done:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoDispatchPnp(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1438,8 +1438,8 @@ FdoDispatchPnp(
 
 static FORCEINLINE NTSTATUS
 __FdoSetDevicePowerUp(
-    IN  PXENIFACE_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1475,8 +1475,8 @@ done:
 
 static FORCEINLINE NTSTATUS
 __FdoSetDevicePowerDown(
-    IN  PXENIFACE_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1505,8 +1505,8 @@ __FdoSetDevicePowerDown(
 
 static FORCEINLINE NTSTATUS
 __FdoSetDevicePower(
-    IN  PXENIFACE_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1543,15 +1543,15 @@ done:
     return status;
 }
 
-__drv_functionClass(REQUEST_POWER_COMPLETE)
-__drv_sameIRQL
+_Function_class_(REQUEST_POWER_COMPLETE)
+_IRQL_requires_same_
 VOID
 __FdoRequestSetDevicePower(
-    IN  PDEVICE_OBJECT      DeviceObject,
-    IN  UCHAR               MinorFunction,
-    IN  POWER_STATE         PowerState,
-    IN  PVOID               Context,
-    IN  PIO_STATUS_BLOCK    IoStatus
+    _In_ PDEVICE_OBJECT     DeviceObject,
+    _In_ UCHAR              MinorFunction,
+    _In_ POWER_STATE        PowerState,
+    _In_ PVOID              Context,
+    _In_ PIO_STATUS_BLOCK   IoStatus
     )
 {
     PKEVENT                 Event = (PKEVENT)Context;
@@ -1567,8 +1567,8 @@ __FdoRequestSetDevicePower(
 
 static VOID
 FdoRequestSetDevicePower(
-    IN  PXENIFACE_FDO         Fdo,
-    IN  DEVICE_POWER_STATE  DeviceState
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ DEVICE_POWER_STATE DeviceState
     )
 {
     POWER_STATE             PowerState;
@@ -1599,8 +1599,8 @@ FdoRequestSetDevicePower(
 
 static FORCEINLINE NTSTATUS
 __FdoSetSystemPowerUp(
-    IN  PXENIFACE_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
 
@@ -1642,8 +1642,8 @@ done:
 
 static FORCEINLINE NTSTATUS
 __FdoSetSystemPowerDown(
-    IN  PXENIFACE_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1680,8 +1680,8 @@ __FdoSetSystemPowerDown(
 
 static FORCEINLINE NTSTATUS
 __FdoSetSystemPower(
-    IN  PXENIFACE_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1720,8 +1720,8 @@ done:
 
 static FORCEINLINE NTSTATUS
 __FdoQueryDevicePowerUp(
-    IN  PXENIFACE_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1743,8 +1743,8 @@ __FdoQueryDevicePowerUp(
 
 static FORCEINLINE NTSTATUS
 __FdoQueryDevicePowerDown(
-    IN  PXENIFACE_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1764,8 +1764,8 @@ __FdoQueryDevicePowerDown(
 
 static FORCEINLINE NTSTATUS
 __FdoQueryDevicePower(
-    IN  PXENIFACE_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1802,15 +1802,15 @@ done:
     return status;
 }
 
-__drv_functionClass(REQUEST_POWER_COMPLETE)
-__drv_sameIRQL
+_Function_class_(REQUEST_POWER_COMPLETE)
+_IRQL_requires_same_
 VOID
 __FdoRequestQueryDevicePower(
-    IN  PDEVICE_OBJECT      DeviceObject,
-    IN  UCHAR               MinorFunction,
-    IN  POWER_STATE         PowerState,
-    IN  PVOID               Context,
-    IN  PIO_STATUS_BLOCK    IoStatus
+    _In_ PDEVICE_OBJECT     DeviceObject,
+    _In_ UCHAR              MinorFunction,
+    _In_ POWER_STATE        PowerState,
+    _In_ PVOID              Context,
+    _In_ PIO_STATUS_BLOCK   IoStatus
     )
 {
     PKEVENT                 Event = (PKEVENT)Context;
@@ -1826,8 +1826,8 @@ __FdoRequestQueryDevicePower(
 
 static VOID
 FdoRequestQueryDevicePower(
-    IN  PXENIFACE_FDO         Fdo,
-    IN  DEVICE_POWER_STATE  DeviceState
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ DEVICE_POWER_STATE DeviceState
     )
 {
     POWER_STATE             PowerState;
@@ -1858,8 +1858,8 @@ FdoRequestQueryDevicePower(
 
 static FORCEINLINE NTSTATUS
 __FdoQuerySystemPowerUp(
-    IN  PXENIFACE_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
 
@@ -1890,8 +1890,8 @@ done:
 
 static FORCEINLINE NTSTATUS
 __FdoQuerySystemPowerDown(
-    IN  PXENIFACE_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1916,8 +1916,8 @@ __FdoQuerySystemPowerDown(
 
 static FORCEINLINE NTSTATUS
 __FdoQuerySystemPower(
-    IN  PXENIFACE_FDO     Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -1957,12 +1957,12 @@ done:
 
 static NTSTATUS
 FdoDevicePower(
-    IN  PXENIFACE_THREAD  Self,
-    IN  PVOID           Context
+    _In_ PXENIFACE_THREAD   Self,
+    _In_ PVOID              Context
     )
 {
-    PXENIFACE_FDO         Fdo = (PXENIFACE_FDO)Context;
-    PKEVENT             Event;
+    PXENIFACE_FDO           Fdo = (PXENIFACE_FDO)Context;
+    PKEVENT                 Event;
 
     Event = ThreadGetEvent(Self);
 
@@ -2014,12 +2014,12 @@ FdoDevicePower(
 
 static NTSTATUS
 FdoSystemPower(
-    IN  PXENIFACE_THREAD  Self,
-    IN  PVOID           Context
+    _In_ PXENIFACE_THREAD   Self,
+    _In_ PVOID              Context
     )
 {
-    PXENIFACE_FDO         Fdo = (PXENIFACE_FDO)Context;
-    PKEVENT             Event;
+    PXENIFACE_FDO           Fdo = (PXENIFACE_FDO)Context;
+    PKEVENT                 Event;
 
     Event = ThreadGetEvent(Self);
 
@@ -2071,8 +2071,8 @@ FdoSystemPower(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoDispatchPower(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2139,8 +2139,8 @@ done:
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoDispatchDefault(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     NTSTATUS            status;
@@ -2153,8 +2153,8 @@ FdoDispatchDefault(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoDispatchComplete(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     UNREFERENCED_PARAMETER(Fdo);
@@ -2168,8 +2168,8 @@ FdoDispatchComplete(
 
 static DECLSPEC_NOINLINE NTSTATUS
 FdoDispatchSystemControl(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     NTSTATUS            status;
@@ -2186,11 +2186,11 @@ FdoDispatchSystemControl(
     return status;
 }
 
-__drv_requiresIRQL(PASSIVE_LEVEL)
+_IRQL_requires_(PASSIVE_LEVEL)
 static DECLSPEC_NOINLINE NTSTATUS
 FdoDispatchCleanup(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2208,8 +2208,8 @@ FdoDispatchCleanup(
 
 NTSTATUS
 FdoDispatch(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  StackLocation;
@@ -2253,15 +2253,15 @@ FdoDispatch(
     return status;
 }
 
-__drv_requiresIRQL(PASSIVE_LEVEL)
+_IRQL_requires_(PASSIVE_LEVEL)
 static NTSTATUS
 FdoQueryInterface(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  const GUID      *Guid,
-    IN  ULONG           Version,
-    OUT PINTERFACE      Interface,
-    IN  ULONG           Size,
-    IN  BOOLEAN         Optional
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ const GUID     *Guid,
+    _In_ ULONG          Version,
+    _Out_ PINTERFACE    Interface,
+    _In_ ULONG          Size,
+    _In_ BOOLEAN        Optional
     )
 {
     KEVENT              Event;
@@ -2342,7 +2342,7 @@ fail1:
 
 NTSTATUS
 FdoCreate(
-    IN  PDEVICE_OBJECT  PhysicalDeviceObject
+    _In_ PDEVICE_OBJECT PhysicalDeviceObject
     )
 {
     PDEVICE_OBJECT      FunctionDeviceObject;
@@ -2607,11 +2607,11 @@ fail1:
 
 VOID
 FdoDestroy(
-    IN  PXENIFACE_FDO     Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
-    PXENIFACE_DX          Dx = Fdo->Dx;
-    PDEVICE_OBJECT        FunctionDeviceObject = Dx->DeviceObject;
+    PXENIFACE_DX        Dx = Fdo->Dx;
+    PDEVICE_OBJECT      FunctionDeviceObject = Dx->DeviceObject;
 
     ASSERT(IsListEmpty(&Dx->ListEntry));
     ASSERT3U(Fdo->References, ==, 0);
diff --git a/src/xeniface/fdo.h b/src/xeniface/fdo.h
index 9867756..69070cb 100644
--- a/src/xeniface/fdo.h
+++ b/src/xeniface/fdo.h
@@ -119,62 +119,62 @@ typedef struct _XENIFACE_FDO {
 
 extern PCHAR
 FdoGetName(
-    IN  PXENIFACE_FDO Fdo
+    _In_ PXENIFACE_FDO  Fdo
     );
 
 extern NTSTATUS
 FdoCreate(
-    IN  PDEVICE_OBJECT  PhysicalDeviceObject
+    _In_ PDEVICE_OBJECT PhysicalDeviceObject
     );
 
 extern VOID
 FdoDestroy(
-    IN  PXENIFACE_FDO    Fdo
+    _In_ PXENIFACE_FDO  Fdo
     );
 
 extern VOID
 FdoAcquireMutex(
-    IN  PXENIFACE_FDO     Fdo
+    _In_ PXENIFACE_FDO  Fdo
     );
 
 extern VOID
 FdoReleaseMutex(
-    IN  PXENIFACE_FDO     Fdo
+    _In_ PXENIFACE_FDO  Fdo
     );
 
 extern PDEVICE_OBJECT
 FdoGetPhysicalDeviceObject(
-    IN  PXENIFACE_FDO Fdo
+    _In_ PXENIFACE_FDO  Fdo
     );
 
 extern VOID
 FdoReap(
-    IN  PXENIFACE_FDO Fdo
+    _In_ PXENIFACE_FDO  Fdo
     );
 
 extern NTSTATUS
 FdoDelegateIrp(
-    IN  PXENIFACE_FDO    Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     );
 
 
 extern PXENBUS_STORE_INTERFACE
 FdoGetStoreInterface(
-    IN  PXENIFACE_FDO     Fdo
+    _In_ PXENIFACE_FDO  Fdo
     );
 
 
 extern PXENBUS_SUSPEND_INTERFACE
 FdoGetSuspendInterface(
-    IN  PXENIFACE_FDO     Fdo
+    _In_ PXENIFACE_FDO  Fdo
     );
 
 
 extern NTSTATUS
 FdoDispatch(
-    IN  PXENIFACE_FDO    Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     );
 
 #endif  // _XENIFACE_FDO_H
diff --git a/src/xeniface/ioctl_evtchn.c b/src/xeniface/ioctl_evtchn.c
index fa63d7f..0163ba1 100644
--- a/src/xeniface/ioctl_evtchn.c
+++ b/src/xeniface/ioctl_evtchn.c
@@ -42,14 +42,14 @@ _IRQL_requires_(DISPATCH_LEVEL)
 _IRQL_requires_same_
 VOID
 EvtchnNotificationDpc(
-    __in      PKDPC Dpc,
-    __in_opt  PVOID _Context,
-    __in_opt  PVOID Argument1,
-    __in_opt  PVOID Argument2
+    _In_ PKDPC                  Dpc,
+    _In_opt_ PVOID              _Context,
+    _In_opt_ PVOID              Argument1,
+    _In_opt_ PVOID              Argument2
     )
 {
-    PXENIFACE_EVTCHN_CONTEXT Context = _Context;
-    PXENBUS_EVTCHN_CHANNEL   Channel;
+    PXENIFACE_EVTCHN_CONTEXT    Context = _Context;
+    PXENBUS_EVTCHN_CHANNEL      Channel;
 
     UNREFERENCED_PARAMETER(Dpc);
     UNREFERENCED_PARAMETER(Argument1);
@@ -77,13 +77,13 @@ _IRQL_requires_same_
 static DECLSPEC_NOINLINE
 BOOLEAN
 EvtchnInterruptHandler(
-    __in      PKINTERRUPT Interrupt,
-    __in_opt  PVOID Argument
+    _In_ PKINTERRUPT            Interrupt,
+    _In_opt_ PVOID              Argument
     )
 {
-    PXENIFACE_EVTCHN_CONTEXT Context = Argument;
-    PROCESSOR_NUMBER ProcNumber;
-    ULONG ProcIndex;
+    PXENIFACE_EVTCHN_CONTEXT    Context = Argument;
+    PROCESSOR_NUMBER            ProcNumber;
+    ULONG                       ProcIndex;
 
     UNREFERENCED_PARAMETER(Interrupt);
 
@@ -100,11 +100,11 @@ EvtchnInterruptHandler(
 _IRQL_requires_(PASSIVE_LEVEL) // needed for KeFlushQueuedDpcs
 VOID
 EvtchnFree(
-    __in     PXENIFACE_FDO Fdo,
-    __inout  PXENIFACE_EVTCHN_CONTEXT Context
+    _In_ PXENIFACE_FDO                  Fdo,
+    _Inout_ PXENIFACE_EVTCHN_CONTEXT    Context
     )
 {
-    PXENBUS_EVTCHN_CHANNEL Channel;
+    PXENBUS_EVTCHN_CHANNEL              Channel;
 
     ASSERT(KeGetCurrentIrql() == PASSIVE_LEVEL);
 
@@ -133,13 +133,13 @@ _Requires_exclusive_lock_held_(Fdo->EvtchnLock)
 static
 PXENIFACE_EVTCHN_CONTEXT
 EvtchnFindChannel(
-    __in      PXENIFACE_FDO Fdo,
-    __in      ULONG         LocalPort,
-    __in_opt  PFILE_OBJECT  FileObject
+    _In_ PXENIFACE_FDO          Fdo,
+    _In_ ULONG                  LocalPort,
+    _In_opt_ PFILE_OBJECT       FileObject
     )
 {
-    PXENIFACE_EVTCHN_CONTEXT Context, Found = NULL;
-    PLIST_ENTRY Node;
+    PXENIFACE_EVTCHN_CONTEXT    Context, Found = NULL;
+    PLIST_ENTRY                 Node;
 
     Node = Fdo->EvtchnList.Flink;
     while (Node->Flink != Fdo->EvtchnList.Flink) {
@@ -164,19 +164,19 @@ EvtchnFindChannel(
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlEvtchnBindUnbound(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  PFILE_OBJECT      FileObject,
-    __out PULONG_PTR        Info
+    _In_ PXENIFACE_FDO                  Fdo,
+    _In_ PVOID                          Buffer,
+    _In_ ULONG                          InLen,
+    _In_ ULONG                          OutLen,
+    _In_ PFILE_OBJECT                   FileObject,
+    _Out_ PULONG_PTR                    Info
     )
 {
-    NTSTATUS status;
-    PXENIFACE_EVTCHN_BIND_UNBOUND_IN In = Buffer;
-    PXENIFACE_EVTCHN_BIND_UNBOUND_OUT Out = Buffer;
-    PXENIFACE_EVTCHN_CONTEXT Context;
-    PXENBUS_EVTCHN_CHANNEL Channel;
+    NTSTATUS                            status;
+    PXENIFACE_EVTCHN_BIND_UNBOUND_IN    In = Buffer;
+    PXENIFACE_EVTCHN_BIND_UNBOUND_OUT   Out = Buffer;
+    PXENIFACE_EVTCHN_CONTEXT            Context;
+    PXENBUS_EVTCHN_CHANNEL              Channel;
 
     status = STATUS_INVALID_BUFFER_SIZE;
     if (InLen != sizeof(XENIFACE_EVTCHN_BIND_UNBOUND_IN) ||
@@ -259,19 +259,19 @@ fail1:
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlEvtchnBindInterdomain(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  PFILE_OBJECT      FileObject,
-    __out PULONG_PTR        Info
+    _In_ PXENIFACE_FDO                      Fdo,
+    _In_ PVOID                              Buffer,
+    _In_ ULONG                              InLen,
+    _In_ ULONG                              OutLen,
+    _In_ PFILE_OBJECT                       FileObject,
+    _Out_ PULONG_PTR                        Info
     )
 {
-    NTSTATUS status;
-    PXENIFACE_EVTCHN_BIND_INTERDOMAIN_IN In = Buffer;
-    PXENIFACE_EVTCHN_BIND_INTERDOMAIN_OUT Out = Buffer;
-    PXENIFACE_EVTCHN_CONTEXT Context;
-    PXENBUS_EVTCHN_CHANNEL Channel;
+    NTSTATUS                                status;
+    PXENIFACE_EVTCHN_BIND_INTERDOMAIN_IN    In = Buffer;
+    PXENIFACE_EVTCHN_BIND_INTERDOMAIN_OUT   Out = Buffer;
+    PXENIFACE_EVTCHN_CONTEXT                Context;
+    PXENBUS_EVTCHN_CHANNEL                  Channel;
 
     status = STATUS_INVALID_BUFFER_SIZE;
     if (InLen != sizeof(XENIFACE_EVTCHN_BIND_INTERDOMAIN_IN) ||
@@ -356,17 +356,17 @@ fail1:
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlEvtchnClose(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  PFILE_OBJECT      FileObject
+    _In_ PXENIFACE_FDO          Fdo,
+    _In_ PVOID                  Buffer,
+    _In_ ULONG                  InLen,
+    _In_ ULONG                  OutLen,
+    _In_ PFILE_OBJECT           FileObject
     )
 {
-    NTSTATUS status;
-    PXENIFACE_EVTCHN_CLOSE_IN In = Buffer;
-    PXENIFACE_EVTCHN_CONTEXT Context;
-    KIRQL Irql;
+    NTSTATUS                    status;
+    PXENIFACE_EVTCHN_CLOSE_IN   In = Buffer;
+    PXENIFACE_EVTCHN_CONTEXT    Context;
+    KIRQL                       Irql;
 
     status = STATUS_INVALID_BUFFER_SIZE;
     if (InLen != sizeof(XENIFACE_EVTCHN_CLOSE_IN) ||
@@ -401,14 +401,14 @@ _Requires_lock_not_held_(Fdo->EvtchnLock)
 DECLSPEC_NOINLINE
 NTSTATUS
 EvtchnNotify(
-    __in      PXENIFACE_FDO Fdo,
-    __in      ULONG         LocalPort,
-    __in_opt  PFILE_OBJECT  FileObject
+    _In_ PXENIFACE_FDO          Fdo,
+    _In_ ULONG                  LocalPort,
+    _In_opt_ PFILE_OBJECT       FileObject
     )
 {
-    NTSTATUS status;
-    PXENIFACE_EVTCHN_CONTEXT Context;
-    KIRQL Irql;
+    NTSTATUS                    status;
+    PXENIFACE_EVTCHN_CONTEXT    Context;
+    KIRQL                       Irql;
 
     KeAcquireSpinLock(&Fdo->EvtchnLock, &Irql);
 
@@ -435,15 +435,15 @@ fail1:
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlEvtchnNotify(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  PFILE_OBJECT      FileObject
+    _In_ PXENIFACE_FDO          Fdo,
+    _In_ PVOID                  Buffer,
+    _In_ ULONG                  InLen,
+    _In_ ULONG                  OutLen,
+    _In_ PFILE_OBJECT           FileObject
     )
 {
-    NTSTATUS status;
-    PXENIFACE_EVTCHN_NOTIFY_IN In = Buffer;
+    NTSTATUS                    status;
+    PXENIFACE_EVTCHN_NOTIFY_IN  In = Buffer;
 
     status = STATUS_INVALID_BUFFER_SIZE;
     if (InLen != sizeof(XENIFACE_EVTCHN_NOTIFY_IN) ||
@@ -465,17 +465,17 @@ fail1:
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlEvtchnUnmask(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  PFILE_OBJECT      FileObject
+    _In_ PXENIFACE_FDO          Fdo,
+    _In_ PVOID                  Buffer,
+    _In_ ULONG                  InLen,
+    _In_ ULONG                  OutLen,
+    _In_ PFILE_OBJECT           FileObject
     )
 {
-    NTSTATUS status;
-    PXENIFACE_EVTCHN_UNMASK_IN In = Buffer;
-    PXENIFACE_EVTCHN_CONTEXT Context;
-    KIRQL Irql;
+    NTSTATUS                    status;
+    PXENIFACE_EVTCHN_UNMASK_IN  In = Buffer;
+    PXENIFACE_EVTCHN_CONTEXT    Context;
+    KIRQL                       Irql;
 
     status = STATUS_INVALID_BUFFER_SIZE;
     if (InLen != sizeof(XENIFACE_EVTCHN_UNMASK_IN) ||
diff --git a/src/xeniface/ioctl_gnttab.c b/src/xeniface/ioctl_gnttab.c
index ee319cb..770f0dc 100644
--- a/src/xeniface/ioctl_gnttab.c
+++ b/src/xeniface/ioctl_gnttab.c
@@ -40,17 +40,17 @@
 _Function_class_(IO_WORKITEM_ROUTINE)
 VOID
 CompleteGnttabIrp(
-    __in      PDEVICE_OBJECT DeviceObject,
-    __in_opt  PVOID          Context
+    _In_ PDEVICE_OBJECT         DeviceObject,
+    _In_opt_ PVOID              Context
     )
 {
-    PXENIFACE_DX Dx = (PXENIFACE_DX)DeviceObject->DeviceExtension;
-    PXENIFACE_FDO Fdo = Dx->Fdo;
-    PIRP Irp = Context;
-    PXENIFACE_GNTTAB_CONTEXT GnttabContext;
-    PIO_WORKITEM WorkItem;
-    KAPC_STATE ApcState;
-    BOOLEAN ChangeProcess;
+    PXENIFACE_DX                Dx = 
(PXENIFACE_DX)DeviceObject->DeviceExtension;
+    PXENIFACE_FDO               Fdo = Dx->Fdo;
+    PIRP                        Irp = Context;
+    PXENIFACE_GNTTAB_CONTEXT    GnttabContext;
+    PIO_WORKITEM                WorkItem;
+    KAPC_STATE                  ApcState;
+    BOOLEAN                     ChangeProcess;
 
     ASSERT(Context != NULL);
 
@@ -96,10 +96,10 @@ 
_Acquires_exclusive_lock_(((PXENIFACE_FDO)Argument)->GnttabCacheLock)
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 GnttabAcquireLock(
-    __in  PVOID Argument
+    _In_ PVOID      Argument
     )
 {
-    PXENIFACE_FDO Fdo = Argument;
+    PXENIFACE_FDO   Fdo = Argument;
 
     ASSERT(KeGetCurrentIrql() == DISPATCH_LEVEL);
 
@@ -110,10 +110,10 @@ 
_Releases_exclusive_lock_(((PXENIFACE_FDO)Argument)->GnttabCacheLock)
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 GnttabReleaseLock(
-    __in  PVOID Argument
+    _In_ PVOID      Argument
     )
 {
-    PXENIFACE_FDO Fdo = Argument;
+    PXENIFACE_FDO   Fdo = Argument;
 
     ASSERT(KeGetCurrentIrql() == DISPATCH_LEVEL);
 
@@ -124,12 +124,12 @@ _Requires_lock_not_held_(Fdo->IrpQueueLock)
 static
 PIRP
 FindGnttabIrp(
-    __in  PXENIFACE_FDO Fdo,
-    __in  PXENIFACE_GNTTAB_CONTEXT Context
+    _In_ PXENIFACE_FDO              Fdo,
+    _In_ PXENIFACE_GNTTAB_CONTEXT   Context
     )
 {
-    KIRQL Irql;
-    PIRP Irp;
+    KIRQL                           Irql;
+    PIRP                            Irp;
 
     CsqAcquireLock(&Fdo->IrpQueue, &Irql);
     Irp = CsqPeekNextIrp(&Fdo->IrpQueue, NULL, Context);
@@ -142,9 +142,9 @@ FindGnttabIrp(
 static
 void
 GnttabStopSharing(
-    __in     PXENIFACE_FDO             Fdo,
-    __inout  PXENIFACE_GNTTAB_CONTEXT  Context,
-    __in     ULONG                     NumberPages
+    _In_ PXENIFACE_FDO                  Fdo,
+    _Inout_ PXENIFACE_GNTTAB_CONTEXT    Context,
+    _In_ ULONG                          NumberPages
 )
 {
     if (Context->Grants != NULL) {
@@ -188,14 +188,14 @@ GnttabStopSharing(
 static
 NTSTATUS
 GnttabPermitForeignAccess(
-    __in     PXENIFACE_FDO             Fdo,
-    __inout  PXENIFACE_GNTTAB_CONTEXT  Context
+    _In_ PXENIFACE_FDO                  Fdo,
+    _Inout_ PXENIFACE_GNTTAB_CONTEXT    Context
     )
 {
-    NTSTATUS Status;
-    ULONG Page = 0;
-    size_t GrantsSize = 0;
-    ULONG SharedSize = 0;
+    NTSTATUS                            Status;
+    ULONG                               Page = 0;
+    size_t                              GrantsSize = 0;
+    ULONG                               SharedSize = 0;
 
     Trace("> RemoteDomain %d, UserVa %p, NumberPages %lu, Flags 0x%x, Offset 
0x%x, Port %d, Process %p, Id %lu\n",
           Context->RemoteDomain, Context->UserVa, Context->NumberPages, 
Context->Flags,
@@ -310,16 +310,16 @@ fail1:
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlGnttabPermitForeignAccess(
-    __in     PXENIFACE_FDO  Fdo,
-    __in     PVOID          Buffer,
-    __in     ULONG          InLen,
-    __in     ULONG          OutLen,
-    __inout  PIRP           Irp
+    _In_ PXENIFACE_FDO                              Fdo,
+    _In_ PVOID                                      Buffer,
+    _In_ ULONG                                      InLen,
+    _In_ ULONG                                      OutLen,
+    _Inout_ PIRP                                    Irp
     )
 {
-    NTSTATUS Status;
-    PXENIFACE_GNTTAB_PERMIT_FOREIGN_ACCESS_IN In1 = NULL;
-    PXENIFACE_GNTTAB_PERMIT_FOREIGN_ACCESS_IN_V2 In = NULL;
+    NTSTATUS                                        Status;
+    PXENIFACE_GNTTAB_PERMIT_FOREIGN_ACCESS_IN       In1 = NULL;
+    PXENIFACE_GNTTAB_PERMIT_FOREIGN_ACCESS_IN_V2    In = NULL;
     // XENIFACE_GNTTAB_PERMIT_FOREIGN_ACCESS_OUT_V2 is the same as 
XENIFACE_GNTTAB_PERMIT_FOREIGN_ACCESS_OUT
     PXENIFACE_GNTTAB_PERMIT_FOREIGN_ACCESS_OUT Out = Irp->UserBuffer;
     PXENIFACE_GNTTAB_CONTEXT Context;
@@ -470,11 +470,11 @@ fail1:
 _IRQL_requires_max_(APC_LEVEL)
 VOID
 GnttabFreeGrant(
-    __in     PXENIFACE_FDO             Fdo,
-    __inout  PXENIFACE_GNTTAB_CONTEXT  Context
+    _In_ PXENIFACE_FDO                  Fdo,
+    _Inout_ PXENIFACE_GNTTAB_CONTEXT    Context
 )
 {
-    NTSTATUS status;
+    NTSTATUS                            status;
 
     Trace("Context %p\n", Context);
 
@@ -501,17 +501,17 @@ GnttabFreeGrant(
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlGnttabRevokeForeignAccess(
-    __in  PXENIFACE_FDO  Fdo,
-    __in  PVOID          Buffer,
-    __in  ULONG          InLen,
-    __in  ULONG          OutLen,
-    __in  ULONG          ControlCode
+    _In_ PXENIFACE_FDO          Fdo,
+    _In_ PVOID                  Buffer,
+    _In_ ULONG                  InLen,
+    _In_ ULONG                  OutLen,
+    _In_ ULONG                  ControlCode
     )
 {
-    NTSTATUS Status;
-    XENIFACE_GNTTAB_CONTEXT SeekContext;
-    PIRP PendingIrp;
-    PXENIFACE_GNTTAB_CONTEXT Context = NULL;
+    NTSTATUS                    Status;
+    XENIFACE_GNTTAB_CONTEXT     SeekContext;
+    PIRP                        PendingIrp;
+    PXENIFACE_GNTTAB_CONTEXT    Context = NULL;
 
     UNREFERENCED_PARAMETER(OutLen);
 
@@ -561,16 +561,16 @@ fail1:
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlGnttabMapForeignPages(
-    __in     PXENIFACE_FDO  Fdo,
-    __in     PVOID          Buffer,
-    __in     ULONG          InLen,
-    __in     ULONG          OutLen,
-    __inout  PIRP           Irp
+    _In_ PXENIFACE_FDO                          Fdo,
+    _In_ PVOID                                  Buffer,
+    _In_ ULONG                                  InLen,
+    _In_ ULONG                                  OutLen,
+    _Inout_ PIRP                                Irp
     )
 {
-    NTSTATUS status;
-    PXENIFACE_GNTTAB_MAP_FOREIGN_PAGES_IN In1 = NULL;
-    PXENIFACE_GNTTAB_MAP_FOREIGN_PAGES_IN_V2 In = NULL;
+    NTSTATUS                                    status;
+    PXENIFACE_GNTTAB_MAP_FOREIGN_PAGES_IN       In1 = NULL;
+    PXENIFACE_GNTTAB_MAP_FOREIGN_PAGES_IN_V2    In = NULL;
     // XENIFACE_GNTTAB_MAP_FOREIGN_PAGES_OUT_V2 is the same as 
XENIFACE_GNTTAB_MAP_FOREIGN_PAGES_OUT
     PXENIFACE_GNTTAB_MAP_FOREIGN_PAGES_OUT Out = Irp->UserBuffer;
     ULONG NumberPages;
@@ -791,11 +791,11 @@ _IRQL_requires_max_(APC_LEVEL)
 DECLSPEC_NOINLINE
 VOID
 GnttabFreeMap(
-    __in     PXENIFACE_FDO             Fdo,
-    __inout  PXENIFACE_GNTTAB_CONTEXT  Context
+    _In_ PXENIFACE_FDO                  Fdo,
+    _Inout_ PXENIFACE_GNTTAB_CONTEXT    Context
     )
 {
-    NTSTATUS status;
+    NTSTATUS                            status;
 
     ASSERT(Context->Type == XENIFACE_GNTTAB_CONTEXT_MAP);
     ASSERT(KeGetCurrentIrql() <= APC_LEVEL);
@@ -837,17 +837,17 @@ GnttabFreeMap(
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlGnttabUnmapForeignPages(
-    __in  PXENIFACE_FDO  Fdo,
-    __in  PVOID          Buffer,
-    __in  ULONG          InLen,
-    __in  ULONG          OutLen,
-    __in  ULONG          ControlCode
+    _In_ PXENIFACE_FDO          Fdo,
+    _In_ PVOID                  Buffer,
+    _In_ ULONG                  InLen,
+    _In_ ULONG                  OutLen,
+    _In_ ULONG                  ControlCode
     )
 {
-    NTSTATUS status;
-    XENIFACE_GNTTAB_CONTEXT SeekContext;
-    PXENIFACE_GNTTAB_CONTEXT Context;
-    PIRP PendingIrp;
+    NTSTATUS                    status;
+    XENIFACE_GNTTAB_CONTEXT     SeekContext;
+    PXENIFACE_GNTTAB_CONTEXT    Context;
+    PIRP                        PendingIrp;
 
     ASSERT(ControlCode == IOCTL_XENIFACE_GNTTAB_UNMAP_FOREIGN_PAGES
         || ControlCode == IOCTL_XENIFACE_GNTTAB_UNMAP_FOREIGN_PAGES_V2);
diff --git a/src/xeniface/ioctl_sharedinfo.c b/src/xeniface/ioctl_sharedinfo.c
index 49203d3..3512c73 100644
--- a/src/xeniface/ioctl_sharedinfo.c
+++ b/src/xeniface/ioctl_sharedinfo.c
@@ -38,11 +38,11 @@
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlSharedInfoGetTime(
-    __in  PXENIFACE_FDO                 Fdo,
-    __in  PCHAR                         Buffer,
-    __in  ULONG                         InLen,
-    __in  ULONG                         OutLen,
-    __out PULONG_PTR                    Info
+    _In_ PXENIFACE_FDO                  Fdo,
+    _In_ PCHAR                          Buffer,
+    _In_ ULONG                          InLen,
+    _In_ ULONG                          OutLen,
+    _Out_ PULONG_PTR                    Info
     )
 {
     PXENIFACE_SHAREDINFO_GET_TIME_OUT   Out;
diff --git a/src/xeniface/ioctl_store.c b/src/xeniface/ioctl_store.c
index bc27b8b..796f55d 100644
--- a/src/xeniface/ioctl_store.c
+++ b/src/xeniface/ioctl_store.c
@@ -43,8 +43,8 @@
 static FORCEINLINE
 BOOLEAN
 __IsValidPath(
-    __in  PCHAR             Str,
-    __in  ULONG             Len
+    _In_ PCHAR  Str,
+    _In_ ULONG  Len
     )
 {
     for ( ; Len--; ++Str) {
@@ -62,8 +62,8 @@ __IsValidPath(
 static FORCEINLINE
 BOOLEAN
 __IsValidStr(
-    __in  PCHAR             Str,
-    __in  ULONG             Len
+    _In_ PCHAR  Str,
+    _In_ ULONG  Len
     )
 {
     for ( ; Len--; ++Str) {
@@ -78,11 +78,11 @@ __IsValidStr(
 static FORCEINLINE
 ULONG
 __MultiSzLen(
-    __in  PCHAR             Str,
-    __out PULONG            Count
+    _In_ PCHAR      Str,
+    _Out_ PULONG    Count
     )
 {
-    ULONG Length = 0;
+    ULONG           Length = 0;
     if (Count)  *Count = 0;
     do {
         for ( ; *Str; ++Str, ++Length) ;
@@ -95,12 +95,12 @@ __MultiSzLen(
 static FORCEINLINE
 VOID
 __DisplayMultiSz(
-    __in PCHAR              Str
+    _In_ PCHAR  Str
     )
 {
-    PCHAR   Ptr;
-    ULONG   Idx;
-    ULONG   Len;
+    PCHAR       Ptr;
+    ULONG       Idx;
+    ULONG       Len;
 
     for (Ptr = Str, Idx = 0; *Ptr; ++Idx) {
         Len = (ULONG)strlen(Ptr);
@@ -112,17 +112,17 @@ __DisplayMultiSz(
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlStoreRead(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PCHAR             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __out PULONG_PTR        Info
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PCHAR          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _Out_ PULONG_PTR    Info
     )
 {
-    NTSTATUS    status;
-    PCHAR       Value;
-    ULONG       Length;
-    BOOLEAN     SquashError = FALSE;
+    NTSTATUS            status;
+    PCHAR               Value;
+    ULONG               Length;
+    BOOLEAN             SquashError = FALSE;
 
     status = STATUS_INVALID_BUFFER_SIZE;
     if (InLen == 0)
@@ -182,15 +182,15 @@ fail1:
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlStoreWrite(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PCHAR             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PCHAR          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen
     )
 {
-    NTSTATUS    status;
-    PCHAR       Value;
-    ULONG       Length;
+    NTSTATUS            status;
+    PCHAR               Value;
+    ULONG               Length;
 
     status = STATUS_INVALID_BUFFER_SIZE;
     if (InLen == 0 || OutLen != 0)
@@ -227,18 +227,18 @@ fail1:
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlStoreDirectory(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PCHAR             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __out PULONG_PTR        Info
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PCHAR          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _Out_ PULONG_PTR    Info
     )
 {
-    NTSTATUS    status;
-    PCHAR       Value;
-    ULONG       Length;
-    ULONG       Count;
-    BOOLEAN     SquashError = FALSE;
+    NTSTATUS            status;
+    PCHAR               Value;
+    ULONG               Length;
+    ULONG               Count;
+    BOOLEAN             SquashError = FALSE;
 
     status = STATUS_INVALID_BUFFER_SIZE;
     if (InLen == 0)
@@ -301,13 +301,13 @@ fail1:
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlStoreRemove(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PCHAR             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PCHAR          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen
     )
 {
-    NTSTATUS    status;
+    NTSTATUS            status;
 
     status = STATUS_INVALID_BUFFER_SIZE;
     if (InLen == 0 || OutLen != 0)
@@ -336,12 +336,12 @@ fail1:
 static
 PXENBUS_STORE_PERMISSION
 __ConvertPermissions(
-    __in  ULONG                       NumberPermissions,
-    __in  PXENIFACE_STORE_PERMISSION  XenifacePermissions
+    _In_ ULONG                      NumberPermissions,
+    _In_ PXENIFACE_STORE_PERMISSION XenifacePermissions
     )
 {
-    PXENBUS_STORE_PERMISSION          XenbusPermissions;
-    ULONG                             Index;
+    PXENBUS_STORE_PERMISSION        XenbusPermissions;
+    ULONG                           Index;
 
     if (NumberPermissions > 255)
         goto fail1;
@@ -390,7 +390,7 @@ fail1:
 static
 VOID
 __FreePermissions(
-    __in  PXENBUS_STORE_PERMISSION    Permissions
+    _In_ PXENBUS_STORE_PERMISSION   Permissions
     )
 {
     __FreePoolWithTag(Permissions, XENIFACE_POOL_TAG);
@@ -399,17 +399,17 @@ __FreePermissions(
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlStoreSetPermissions(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen
+    _In_ PXENIFACE_FDO                  Fdo,
+    _In_ PVOID                          Buffer,
+    _In_ ULONG                          InLen,
+    _In_ ULONG                          OutLen
     )
 {
-    NTSTATUS status;
-    PXENIFACE_STORE_SET_PERMISSIONS_IN In = Buffer;
-    PXENBUS_STORE_PERMISSION Permissions;
-    ULONG Index;
-    PCHAR Path;
+    NTSTATUS                            status;
+    PXENIFACE_STORE_SET_PERMISSIONS_IN  In = Buffer;
+    PXENBUS_STORE_PERMISSION            Permissions;
+    ULONG                               Index;
+    PCHAR                               Path;
 
     status = STATUS_INVALID_BUFFER_SIZE;
     if (InLen < sizeof(XENIFACE_STORE_SET_PERMISSIONS_IN) ||
@@ -490,8 +490,8 @@ fail1:
 
 static NTSTATUS
 StoreWatch(
-    IN  PXENIFACE_THREAD    Self,
-    IN  PVOID               _Context
+    _In_ PXENIFACE_THREAD   Self,
+    _In_ PVOID              _Context
     )
 {
     PXENIFACE_STORE_CONTEXT Context = _Context;
@@ -521,19 +521,19 @@ StoreWatch(
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlStoreAddWatch(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  PFILE_OBJECT      FileObject,
-    __out PULONG_PTR        Info
+    _In_ PXENIFACE_FDO              Fdo,
+    _In_ PVOID                      Buffer,
+    _In_ ULONG                      InLen,
+    _In_ ULONG                      OutLen,
+    _In_ PFILE_OBJECT               FileObject,
+    _Out_ PULONG_PTR                Info
     )
 {
-    NTSTATUS status;
-    PXENIFACE_STORE_ADD_WATCH_IN In = Buffer;
-    PXENIFACE_STORE_ADD_WATCH_OUT Out = Buffer;
-    PCHAR Path;
-    PXENIFACE_STORE_CONTEXT Context;
+    NTSTATUS                        status;
+    PXENIFACE_STORE_ADD_WATCH_IN    In = Buffer;
+    PXENIFACE_STORE_ADD_WATCH_OUT   Out = Buffer;
+    PCHAR                           Path;
+    PXENIFACE_STORE_CONTEXT         Context;
 
     status = STATUS_INVALID_BUFFER_SIZE;
     if (InLen != sizeof(XENIFACE_STORE_ADD_WATCH_IN) ||
@@ -638,11 +638,11 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 VOID
 StoreFreeWatch(
-    __in     PXENIFACE_FDO Fdo,
-    __inout  PXENIFACE_STORE_CONTEXT Context
+    _In_ PXENIFACE_FDO              Fdo,
+    _Inout_ PXENIFACE_STORE_CONTEXT Context
     )
 {
-    NTSTATUS status;
+    NTSTATUS                        status;
 
     ASSERT(KeGetCurrentIrql() == PASSIVE_LEVEL);
 
@@ -668,18 +668,18 @@ StoreFreeWatch(
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlStoreRemoveWatch(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  PFILE_OBJECT      FileObject
+    _In_ PXENIFACE_FDO              Fdo,
+    _In_ PVOID                      Buffer,
+    _In_ ULONG                      InLen,
+    _In_ ULONG                      OutLen,
+    _In_ PFILE_OBJECT               FileObject
     )
 {
-    NTSTATUS status;
+    NTSTATUS                        status;
     PXENIFACE_STORE_REMOVE_WATCH_IN In = Buffer;
-    PXENIFACE_STORE_CONTEXT Context = NULL;
-    KIRQL Irql;
-    PLIST_ENTRY Node;
+    PXENIFACE_STORE_CONTEXT         Context = NULL;
+    KIRQL                           Irql;
+    PLIST_ENTRY                     Node;
 
     status = STATUS_INVALID_BUFFER_SIZE;
     if (InLen != sizeof(XENIFACE_STORE_REMOVE_WATCH_IN) ||
diff --git a/src/xeniface/ioctl_suspend.c b/src/xeniface/ioctl_suspend.c
index 1607e5a..7831c1b 100644
--- a/src/xeniface/ioctl_suspend.c
+++ b/src/xeniface/ioctl_suspend.c
@@ -39,15 +39,15 @@
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlSuspendGetCount(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PCHAR             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __out PULONG_PTR        Info
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PCHAR          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _Out_ PULONG_PTR    Info
     )
 {
-    NTSTATUS    status;
-    PULONG      Value;
+    NTSTATUS            status;
+    PULONG              Value;
 
     status = STATUS_INVALID_BUFFER_SIZE;
     if (InLen != 0)
@@ -73,18 +73,18 @@ fail1:
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlSuspendRegister(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  PFILE_OBJECT      FileObject,
-    __out PULONG_PTR        Info
+    _In_ PXENIFACE_FDO              Fdo,
+    _In_ PVOID                      Buffer,
+    _In_ ULONG                      InLen,
+    _In_ ULONG                      OutLen,
+    _In_ PFILE_OBJECT               FileObject,
+    _Out_ PULONG_PTR                Info
     )
 {
-    NTSTATUS status;
-    PXENIFACE_SUSPEND_REGISTER_IN In = Buffer;
-    PXENIFACE_SUSPEND_REGISTER_OUT Out = Buffer;
-    PXENIFACE_SUSPEND_CONTEXT Context;
+    NTSTATUS                        status;
+    PXENIFACE_SUSPEND_REGISTER_IN   In = Buffer;
+    PXENIFACE_SUSPEND_REGISTER_OUT  Out = Buffer;
+    PXENIFACE_SUSPEND_CONTEXT       Context;
 
     status = STATUS_INVALID_BUFFER_SIZE;
     if (InLen != sizeof(XENIFACE_SUSPEND_REGISTER_IN) ||
@@ -134,8 +134,8 @@ fail1:
 _IRQL_requires_max_(DISPATCH_LEVEL)
 VOID
 SuspendFreeEvent(
-    __in     PXENIFACE_FDO Fdo,
-    __inout  PXENIFACE_SUSPEND_CONTEXT Context
+    _In_ PXENIFACE_FDO                  Fdo,
+    _Inout_ PXENIFACE_SUSPEND_CONTEXT   Context
     )
 {
     Trace("Context %p, FO %p\n",
@@ -151,18 +151,18 @@ SuspendFreeEvent(
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlSuspendDeregister(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  PFILE_OBJECT      FileObject
+    _In_ PXENIFACE_FDO              Fdo,
+    _In_ PVOID                      Buffer,
+    _In_ ULONG                      InLen,
+    _In_ ULONG                      OutLen,
+    _In_ PFILE_OBJECT               FileObject
     )
 {
-    NTSTATUS status;
-    PXENIFACE_SUSPEND_REGISTER_OUT In = Buffer;
-    PXENIFACE_SUSPEND_CONTEXT Context = NULL;
-    KIRQL Irql;
-    PLIST_ENTRY Node;
+    NTSTATUS                        status;
+    PXENIFACE_SUSPEND_REGISTER_OUT  In = Buffer;
+    PXENIFACE_SUSPEND_CONTEXT       Context = NULL;
+    KIRQL                           Irql;
+    PLIST_ENTRY                     Node;
 
     status = STATUS_INVALID_BUFFER_SIZE;
     if (InLen != sizeof(XENIFACE_SUSPEND_REGISTER_OUT) ||
@@ -206,12 +206,12 @@ fail1:
 
 VOID
 SuspendEventFire(
-    __in    PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO          Fdo
     )
 {
-    KIRQL       Irql;
-    PLIST_ENTRY Node;
-    PXENIFACE_SUSPEND_CONTEXT Context;
+    KIRQL                       Irql;
+    PLIST_ENTRY                 Node;
+    PXENIFACE_SUSPEND_CONTEXT   Context;
 
     KeAcquireSpinLock(&Fdo->SuspendLock, &Irql);
     Node = Fdo->SuspendList.Flink;
diff --git a/src/xeniface/ioctls.c b/src/xeniface/ioctls.c
index 076750a..d7d0aed 100644
--- a/src/xeniface/ioctls.c
+++ b/src/xeniface/ioctls.c
@@ -42,13 +42,13 @@
 
 NTSTATUS
 __CaptureUserBuffer(
-    __in  PVOID Buffer,
-    __in  ULONG Length,
-    __out PVOID *CapturedBuffer
+    _In_ PVOID      Buffer,
+    _In_ ULONG      Length,
+    _Outptr_ PVOID  *CapturedBuffer
     )
 {
-    NTSTATUS Status;
-    PVOID TempBuffer = NULL;
+    NTSTATUS        Status;
+    PVOID           TempBuffer = NULL;
 
     if (Length == 0) {
         *CapturedBuffer = NULL;
@@ -82,7 +82,7 @@ __CaptureUserBuffer(
 
 VOID
 __FreeCapturedBuffer(
-    __in_opt  PVOID CapturedBuffer
+    _In_opt_ PVOID  CapturedBuffer
     )
 {
     if (CapturedBuffer != NULL) {
@@ -93,8 +93,8 @@ __FreeCapturedBuffer(
 static FORCEINLINE
 BOOLEAN
 __IsValidStr(
-    __in  PCHAR             Str,
-    __in  ULONG             Len
+    _In_ PCHAR  Str,
+    _In_ ULONG  Len
     )
 {
     for ( ; Len--; ++Str) {
@@ -111,14 +111,14 @@ __IsValidStr(
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlLog(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PCHAR             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PCHAR          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen
     )
 {
-    NTSTATUS    status;
-       PCHAR           ptr;
+    NTSTATUS            status;
+       PCHAR                  ptr;
 
     UNREFERENCED_PARAMETER(Fdo);
 
@@ -152,16 +152,16 @@ fail1:
 _IRQL_requires_(PASSIVE_LEVEL) // EvtchnFree calls KeFlushQueuedDpcs
 VOID
 XenIfaceCleanup(
-    __in      PXENIFACE_FDO Fdo,
-    __in_opt  PFILE_OBJECT  FileObject
+    _In_ PXENIFACE_FDO          Fdo,
+    _In_opt_ PFILE_OBJECT       FileObject
     )
 {
-    PLIST_ENTRY Node;
-    PXENIFACE_STORE_CONTEXT StoreContext;
-    PXENIFACE_EVTCHN_CONTEXT EvtchnContext;
-    PXENIFACE_SUSPEND_CONTEXT SuspendContext;
-    KIRQL Irql;
-    LIST_ENTRY ToFree;
+    PLIST_ENTRY                 Node;
+    PXENIFACE_STORE_CONTEXT     StoreContext;
+    PXENIFACE_EVTCHN_CONTEXT    EvtchnContext;
+    PXENIFACE_SUSPEND_CONTEXT   SuspendContext;
+    KIRQL                       Irql;
+    LIST_ENTRY                  ToFree;
 
     // store watches
     InitializeListHead(&ToFree);
@@ -239,8 +239,8 @@ XenIfaceCleanup(
 
 NTSTATUS
 XenIfaceIoctl(
-    __in     PXENIFACE_FDO     Fdo,
-    __inout  PIRP              Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _Inout_ PIRP        Irp
     )
 {
     NTSTATUS            status;
diff --git a/src/xeniface/ioctls.h b/src/xeniface/ioctls.h
index b4c8de2..bb5a2d3 100644
--- a/src/xeniface/ioctls.h
+++ b/src/xeniface/ioctls.h
@@ -91,163 +91,163 @@ typedef struct _XENIFACE_GNTTAB_CONTEXT {
 
 NTSTATUS
 __CaptureUserBuffer(
-    __in  PVOID Buffer,
-    __in  ULONG Length,
-    __out PVOID *CapturedBuffer
+    _In_ PVOID      Buffer,
+    _In_ ULONG      Length,
+    _Outptr_ PVOID  *CapturedBuffer
     );
 
 VOID
 __FreeCapturedBuffer(
-    __in_opt  PVOID CapturedBuffer
+    _In_opt_ PVOID  CapturedBuffer
     );
 
 NTSTATUS
 XenIfaceIoctl(
-    __in     PXENIFACE_FDO     Fdo,
-    __inout  PIRP              Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _Inout_ PIRP        Irp
     );
 
 _IRQL_requires_(PASSIVE_LEVEL)
 VOID
 XenIfaceCleanup(
-    __in  PXENIFACE_FDO Fdo,
-    __in_opt  PFILE_OBJECT  FileObject
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_opt_ PFILE_OBJECT   FileObject
     );
 
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlStoreRead(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PCHAR             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __out PULONG_PTR        Info
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PCHAR          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _Out_ PULONG_PTR    Info
     );
 
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlStoreWrite(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PCHAR             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PCHAR          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen
     );
 
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlStoreDirectory(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PCHAR             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __out PULONG_PTR        Info
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PCHAR          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _Out_ PULONG_PTR    Info
     );
 
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlStoreRemove(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PCHAR             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PCHAR          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen
     );
 
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlStoreSetPermissions(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen
     );
 
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlStoreAddWatch(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  PFILE_OBJECT      FileObject,
-    __out PULONG_PTR        Info
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _In_ PFILE_OBJECT   FileObject,
+    _Out_ PULONG_PTR    Info
     );
 
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlStoreRemoveWatch(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  PFILE_OBJECT      FileObject
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _In_ PFILE_OBJECT   FileObject
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 VOID
 StoreFreeWatch(
-    __in     PXENIFACE_FDO Fdo,
-    __inout  PXENIFACE_STORE_CONTEXT Context
+    _In_ PXENIFACE_FDO              Fdo,
+    _Inout_ PXENIFACE_STORE_CONTEXT Context
     );
 
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlEvtchnBindUnbound(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  PFILE_OBJECT      FileObject,
-    __out PULONG_PTR        Info
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _In_ PFILE_OBJECT   FileObject,
+    _Out_ PULONG_PTR    Info
     );
 
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlEvtchnBindInterdomain(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  PFILE_OBJECT      FileObject,
-    __out PULONG_PTR        Info
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _In_ PFILE_OBJECT   FileObject,
+    _Out_ PULONG_PTR    Info
     );
 
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlEvtchnClose(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  PFILE_OBJECT      FileObject
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _In_ PFILE_OBJECT   FileObject
     );
 
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlEvtchnNotify(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  PFILE_OBJECT      FileObject
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _In_ PFILE_OBJECT   FileObject
     );
 
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlEvtchnUnmask(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  PFILE_OBJECT      FileObject
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _In_ PFILE_OBJECT   FileObject
     );
 
 _Requires_lock_not_held_(Fdo->EvtchnLock)
 DECLSPEC_NOINLINE
 NTSTATUS
 EvtchnNotify(
-    __in      PXENIFACE_FDO Fdo,
-    __in      ULONG         LocalPort,
-    __in_opt  PFILE_OBJECT  FileObject
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ ULONG              LocalPort,
+    _In_opt_ PFILE_OBJECT   FileObject
     );
 
 _Function_class_(KDEFERRED_ROUTINE)
@@ -255,149 +255,149 @@ _IRQL_requires_(DISPATCH_LEVEL)
 _IRQL_requires_same_
 VOID
 EvtchnNotificationDpc(
-    __in      PKDPC Dpc,
-    __in_opt  PVOID Context,
-    __in_opt  PVOID Argument1,
-    __in_opt  PVOID Argument2
+    _In_ PKDPC      Dpc,
+    _In_opt_ PVOID  Context,
+    _In_opt_ PVOID  Argument1,
+    _In_opt_ PVOID  Argument2
     );
 
 _IRQL_requires_(PASSIVE_LEVEL)
 VOID
 EvtchnFree(
-    __in     PXENIFACE_FDO Fdo,
-    __inout  PXENIFACE_EVTCHN_CONTEXT Context
+    _In_ PXENIFACE_FDO                  Fdo,
+    _Inout_ PXENIFACE_EVTCHN_CONTEXT    Context
     );
 
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlGnttabPermitForeignAccess(
-    __in     PXENIFACE_FDO  Fdo,
-    __in     PVOID          Buffer,
-    __in     ULONG          InLen,
-    __in     ULONG          OutLen,
-    __inout  PIRP           Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _Inout_ PIRP        Irp
     );
 
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlGnttabRevokeForeignAccess(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  ULONG             ControlCode
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _In_ ULONG          ControlCode
     );
 
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlGnttabMapForeignPages(
-    __in     PXENIFACE_FDO     Fdo,
-    __in     PVOID             Buffer,
-    __in     ULONG             InLen,
-    __in     ULONG             OutLen,
-    __inout  PIRP              Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _Inout_ PIRP        Irp
     );
 
 DECLSPEC_NOINLINE
 NTSTATUS
 IoctlGnttabUnmapForeignPages(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  ULONG             ControlCode
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _In_ ULONG          ControlCode
     );
 
 _Acquires_exclusive_lock_(((PXENIFACE_FDO)Argument)->GnttabCacheLock)
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 GnttabAcquireLock(
-    __in  PVOID Argument
+    _In_ PVOID  Argument
     );
 
 _Releases_exclusive_lock_(((PXENIFACE_FDO)Argument)->GnttabCacheLock)
 _IRQL_requires_(DISPATCH_LEVEL)
 VOID
 GnttabReleaseLock(
-    __in  PVOID Argument
+    _In_ PVOID  Argument
     );
 
 _Function_class_(IO_WORKITEM_ROUTINE)
 VOID
 CompleteGnttabIrp(
-    __in      PDEVICE_OBJECT DeviceObject,
-    __in_opt  PVOID          Context
+    _In_ PDEVICE_OBJECT DeviceObject,
+    _In_opt_ PVOID      Context
     );
 
 _IRQL_requires_max_(APC_LEVEL)
 VOID
 GnttabFreeGrant(
-    __in     PXENIFACE_FDO Fdo,
-    __inout  PXENIFACE_GNTTAB_CONTEXT Context
+    _In_ PXENIFACE_FDO                  Fdo,
+    _Inout_ PXENIFACE_GNTTAB_CONTEXT    Context
     );
 
 _IRQL_requires_max_(APC_LEVEL)
 VOID
 GnttabFreeMap(
-    __in     PXENIFACE_FDO Fdo,
-    __inout  PXENIFACE_GNTTAB_CONTEXT Context
+    _In_ PXENIFACE_FDO                  Fdo,
+    _Inout_ PXENIFACE_GNTTAB_CONTEXT    Context
     );
 
 NTSTATUS
 IoctlSuspendGetCount(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PCHAR             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __out PULONG_PTR        Info
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PCHAR          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _Out_ PULONG_PTR    Info
     );
 
 NTSTATUS
 IoctlSuspendRegister(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  PFILE_OBJECT      FileObject,
-    __out PULONG_PTR        Info
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _In_ PFILE_OBJECT   FileObject,
+    _Out_ PULONG_PTR    Info
     );
 
 NTSTATUS
 IoctlSuspendDeregister(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PVOID             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __in  PFILE_OBJECT      FileObject
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PVOID          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _In_ PFILE_OBJECT   FileObject
     );
 
 VOID
 SuspendEventFire(
-    __in    PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 VOID
 SuspendFreeEvent(
-    __in     PXENIFACE_FDO Fdo,
-    __inout  PXENIFACE_SUSPEND_CONTEXT Context
+    _In_ PXENIFACE_FDO                  Fdo,
+    _Inout_ PXENIFACE_SUSPEND_CONTEXT   Context
     );
 
 NTSTATUS
 IoctlSharedInfoGetTime(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PCHAR             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen,
-    __out PULONG_PTR        Info
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PCHAR          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen,
+    _Out_ PULONG_PTR    Info
     );
 
 NTSTATUS
 IoctlLog(
-    __in  PXENIFACE_FDO     Fdo,
-    __in  PCHAR             Buffer,
-    __in  ULONG             InLen,
-    __in  ULONG             OutLen
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PCHAR          Buffer,
+    _In_ ULONG          InLen,
+    _In_ ULONG          OutLen
     );
 
 #endif // _IOCTLS_H_
diff --git a/src/xeniface/irp_queue.c b/src/xeniface/irp_queue.c
index dcc5ba0..7adf074 100644
--- a/src/xeniface/irp_queue.c
+++ b/src/xeniface/irp_queue.c
@@ -38,12 +38,12 @@
 
 NTSTATUS
 CsqInsertIrpEx(
-    _In_  PIO_CSQ Csq,
-    _In_  PIRP    Irp,
-    _In_  PVOID   InsertContext // PXENIFACE_GNTTAB_CONTEXT
+    _In_ PIO_CSQ    Csq,
+    _In_ PIRP       Irp,
+    _In_ PVOID      InsertContext// PXENIFACE_GNTTAB_CONTEXT
     )
 {
-    PXENIFACE_FDO Fdo;
+    PXENIFACE_FDO   Fdo;
 
     Fdo = CONTAINING_RECORD(Csq, XENIFACE_FDO, IrpQueue);
 
@@ -57,8 +57,8 @@ CsqInsertIrpEx(
 
 VOID
 CsqRemoveIrp(
-    _In_  PIO_CSQ Csq,
-    _In_  PIRP    Irp
+    _In_ PIO_CSQ    Csq,
+    _In_ PIRP       Irp
     )
 {
     UNREFERENCED_PARAMETER(Csq);
@@ -68,15 +68,15 @@ CsqRemoveIrp(
 
 PIRP
 CsqPeekNextIrp(
-    _In_      PIO_CSQ Csq,
-    _In_opt_  PIRP    Irp,
-    _In_opt_  PVOID   PeekContext // PXENIFACE_GNTTAB_CONTEXT
+    _In_ PIO_CSQ                Csq,
+    _In_opt_ PIRP               Irp,
+    _In_opt_ PVOID              PeekContext// PXENIFACE_GNTTAB_CONTEXT
     )
 {
-    PXENIFACE_FDO            Fdo;
-    PIRP                     NextIrp = NULL;
-    PLIST_ENTRY              Head, NextEntry;
-    PXENIFACE_GNTTAB_CONTEXT Context, TargetContext;
+    PXENIFACE_FDO               Fdo;
+    PIRP                        NextIrp = NULL;
+    PLIST_ENTRY                 Head, NextEntry;
+    PXENIFACE_GNTTAB_CONTEXT    Context, TargetContext;
 
     Fdo = CONTAINING_RECORD(Csq, XENIFACE_FDO, IrpQueue);
     TargetContext = PeekContext;
@@ -121,11 +121,11 @@ _IRQL_requires_max_(DISPATCH_LEVEL)
 _Acquires_lock_(CONTAINING_RECORD(Csq, XENIFACE_FDO, IrpQueue)->IrpQueueLock)
 VOID
 CsqAcquireLock(
-    _In_                                       PIO_CSQ Csq,
-    _Out_ _At_(*Irql, _Post_ _IRQL_saves_)     PKIRQL  Irql
+    _In_ PIO_CSQ                                    Csq,
+    _Out_ _At_(*Irql, _Post_ _IRQL_saves_) PKIRQL   Irql
     )
 {
-    PXENIFACE_FDO Fdo;
+    PXENIFACE_FDO                                   Fdo;
 
     Fdo = CONTAINING_RECORD(Csq, XENIFACE_FDO, IrpQueue);
 
@@ -136,11 +136,11 @@ _IRQL_requires_(DISPATCH_LEVEL)
 _Releases_lock_(CONTAINING_RECORD(Csq, XENIFACE_FDO, IrpQueue)->IrpQueueLock)
 VOID
 CsqReleaseLock(
-    _In_                    PIO_CSQ Csq,
-    _In_ _IRQL_restores_    KIRQL   Irql
+    _In_ PIO_CSQ                Csq,
+    _In_ _IRQL_restores_ KIRQL  Irql
     )
 {
-    PXENIFACE_FDO Fdo;
+    PXENIFACE_FDO               Fdo;
 
     Fdo = CONTAINING_RECORD(Csq, XENIFACE_FDO, IrpQueue);
 
@@ -150,12 +150,12 @@ CsqReleaseLock(
 _IRQL_requires_max_(DISPATCH_LEVEL)
 VOID
 CsqCompleteCanceledIrp(
-    _In_  PIO_CSQ Csq,
-    _In_  PIRP    Irp
+    _In_ PIO_CSQ    Csq,
+    _In_ PIRP       Irp
     )
 {
-    PXENIFACE_FDO Fdo = CONTAINING_RECORD(Csq, XENIFACE_FDO, IrpQueue);
-    PIO_WORKITEM WorkItem;
+    PXENIFACE_FDO   Fdo = CONTAINING_RECORD(Csq, XENIFACE_FDO, IrpQueue);
+    PIO_WORKITEM    WorkItem;
 
     Trace("Irp %p, IRQL %d\n", Irp, KeGetCurrentIrql());
 
diff --git a/src/xeniface/irp_queue.h b/src/xeniface/irp_queue.h
index 04b9877..4693a78 100644
--- a/src/xeniface/irp_queue.h
+++ b/src/xeniface/irp_queue.h
@@ -36,22 +36,22 @@
 
 NTSTATUS
 CsqInsertIrpEx(
-    _In_  PIO_CSQ Csq,
-    _In_  PIRP    Irp,
-    _In_  PVOID   InsertContext
+    _In_ PIO_CSQ    Csq,
+    _In_ PIRP       Irp,
+    _In_ PVOID      InsertContext
     );
 
 VOID
 CsqRemoveIrp(
-    _In_  PIO_CSQ Csq,
-    _In_  PIRP    Irp
+    _In_ PIO_CSQ    Csq,
+    _In_ PIRP       Irp
     );
 
 PIRP
 CsqPeekNextIrp(
-    _In_      PIO_CSQ Csq,
-    _In_opt_  PIRP    Irp,
-    _In_opt_  PVOID   PeekContext // PXENIFACE_GNTTAB_CONTEXT
+    _In_ PIO_CSQ    Csq,
+    _In_opt_ PIRP   Irp,
+    _In_opt_ PVOID  PeekContext// PXENIFACE_GNTTAB_CONTEXT
     );
 
 _IRQL_raises_(DISPATCH_LEVEL)
@@ -59,23 +59,23 @@ _IRQL_requires_max_(DISPATCH_LEVEL)
 _Acquires_lock_(CONTAINING_RECORD(Csq, XENIFACE_FDO, IrpQueue)->IrpQueueLock)
 VOID
 CsqAcquireLock(
-    _In_                                       PIO_CSQ Csq,
-    _Out_ _At_(*Irql, _Post_ _IRQL_saves_)     PKIRQL  Irql
+    _In_ PIO_CSQ                                    Csq,
+    _Out_ _At_(*Irql, _Post_ _IRQL_saves_) PKIRQL   Irql
     );
 
 _IRQL_requires_(DISPATCH_LEVEL)
 _Releases_lock_(CONTAINING_RECORD(Csq, XENIFACE_FDO, IrpQueue)->IrpQueueLock)
 VOID
 CsqReleaseLock(
-    _In_                    PIO_CSQ Csq,
-    _In_ _IRQL_restores_    KIRQL   Irql
+    _In_ PIO_CSQ                Csq,
+    _In_ _IRQL_restores_ KIRQL  Irql
     );
 
 _IRQL_requires_max_(DISPATCH_LEVEL)
 VOID
 CsqCompleteCanceledIrp(
-    _In_  PIO_CSQ             Csq,
-    _In_  PIRP                Irp
+    _In_ PIO_CSQ    Csq,
+    _In_ PIRP       Irp
     );
 
 #endif
diff --git a/src/xeniface/log.h b/src/xeniface/log.h
index 85eb63b..523a4af 100644
--- a/src/xeniface/log.h
+++ b/src/xeniface/log.h
@@ -44,8 +44,8 @@
 
 static __inline VOID
 __Error(
-    IN  const CHAR  *Prefix,
-    IN  const CHAR  *Format,
+    _In_ const CHAR *Prefix,
+    _In_ const CHAR *Format,
     ...
     )
 {
@@ -67,8 +67,8 @@ __Error(
 
 static __inline VOID
 __Warning(
-    IN  const CHAR  *Prefix,
-    IN  const CHAR  *Format,
+    _In_ const CHAR *Prefix,
+    _In_ const CHAR *Format,
     ...
     )
 {
@@ -91,8 +91,8 @@ __Warning(
 #if DBG
 static __inline VOID
 __Trace(
-    IN  const CHAR  *Prefix,
-    IN  const CHAR  *Format,
+    _In_ const CHAR *Prefix,
+    _In_ const CHAR *Format,
     ...
     )
 {
@@ -117,8 +117,8 @@ __Trace(
 
 static __inline VOID
 __Info(
-    IN  const CHAR  *Prefix,
-    IN  const CHAR  *Format,
+    _In_ const CHAR *Prefix,
+    _In_ const CHAR *Format,
     ...
     )
 {
diff --git a/src/xeniface/mutex.h b/src/xeniface/mutex.h
index a025137..966206d 100644
--- a/src/xeniface/mutex.h
+++ b/src/xeniface/mutex.h
@@ -44,7 +44,7 @@ typedef struct _XENIFACE_MUTEX {
 
 static FORCEINLINE VOID
 InitializeMutex(
-    IN  PXENIFACE_MUTEX   Mutex
+    _In_ PXENIFACE_MUTEX    Mutex
     )
 {
     RtlZeroMemory(Mutex, sizeof (XENIFACE_MUTEX));
@@ -53,9 +53,9 @@ InitializeMutex(
 }
 
 static FORCEINLINE VOID
-__drv_maxIRQL(PASSIVE_LEVEL)
+_IRQL_requires_max_(PASSIVE_LEVEL)
 AcquireMutex(
-    IN  PXENIFACE_MUTEX   Mutex
+    _In_ PXENIFACE_MUTEX    Mutex
     )
 {
     (VOID) KeWaitForSingleObject(&Mutex->Event,
@@ -69,9 +69,9 @@ AcquireMutex(
 }
 
 static FORCEINLINE VOID
-__drv_maxIRQL(PASSIVE_LEVEL)
+_IRQL_requires_max_(PASSIVE_LEVEL)
 ReleaseMutex(
-    IN  PXENIFACE_MUTEX   Mutex
+    _In_ PXENIFACE_MUTEX    Mutex
     )
 {
     ASSERT3P(Mutex->Owner, ==, KeGetCurrentThread());
diff --git a/src/xeniface/names.h b/src/xeniface/names.h
index d56f242..37d196d 100644
--- a/src/xeniface/names.h
+++ b/src/xeniface/names.h
@@ -39,7 +39,7 @@
 
 static FORCEINLINE const CHAR *
 PowerTypeName(
-    IN  POWER_STATE_TYPE    Type
+    _In_ POWER_STATE_TYPE   Type
     )
 {
 #define _POWER_TYPE_NAME(_Type) \
@@ -59,7 +59,7 @@ PowerTypeName(
 
 static FORCEINLINE const CHAR *
 PowerSystemStateName(
-    IN  SYSTEM_POWER_STATE State
+    _In_ SYSTEM_POWER_STATE State
     )
 {
 #define _POWER_SYSTEM_STATE_NAME(_State)    \
@@ -85,7 +85,7 @@ PowerSystemStateName(
 
 static FORCEINLINE const CHAR *
 PowerDeviceStateName(
-    IN  DEVICE_POWER_STATE State
+    _In_ DEVICE_POWER_STATE State
     )
 {
 #define _POWER_DEVICE_STATE_NAME(_State)    \
@@ -109,7 +109,7 @@ PowerDeviceStateName(
 
 static FORCEINLINE const CHAR *
 PowerActionName(
-    IN  POWER_ACTION    Type
+    _In_ POWER_ACTION   Type
     )
 {
 #define _POWER_ACTION_NAME(_Type)   \
@@ -135,7 +135,7 @@ PowerActionName(
 
 static FORCEINLINE const CHAR *
 PowerMinorFunctionName(
-    IN  ULONG   MinorFunction
+    _In_ ULONG  MinorFunction
     )
 {
 #define _POWER_MINOR_FUNCTION_NAME(_Function)   \
@@ -157,7 +157,7 @@ PowerMinorFunctionName(
 
 static FORCEINLINE const CHAR *
 PnpDeviceStateName(
-    IN  DEVICE_PNP_STATE    State
+    _In_ DEVICE_PNP_STATE   State
     )
 {
 #define _PNP_DEVICE_STATE_NAME(_State) \
@@ -184,7 +184,7 @@ PnpDeviceStateName(
 
 static FORCEINLINE const CHAR *
 PnpMinorFunctionName(
-    IN  ULONG   Function
+    _In_ ULONG  Function
     )
 {
 #define _PNP_MINOR_FUNCTION_NAME(_Function) \
@@ -227,7 +227,7 @@ PnpMinorFunctionName(
 
 static FORCEINLINE const CHAR *
 PartialResourceDescriptorTypeName(
-    IN  UCHAR   Type
+    _In_ UCHAR  Type
     )
 {
 #define _PARTIAL_RESOURCE_DESCRIPTOR_TYPE_NAME(_Type)   \
@@ -256,7 +256,7 @@ PartialResourceDescriptorTypeName(
 
 static FORCEINLINE const CHAR *
 DeviceUsageTypeName(
-    IN  DEVICE_USAGE_NOTIFICATION_TYPE  Type
+    _In_ DEVICE_USAGE_NOTIFICATION_TYPE Type
     )
 {
 #define _DEVICE_USAGE_TYPE_NAME(_Type)  \
diff --git a/src/xeniface/thread.c b/src/xeniface/thread.c
index 75de5b9..6905d29 100644
--- a/src/xeniface/thread.c
+++ b/src/xeniface/thread.c
@@ -50,7 +50,7 @@ struct _XENIFACE_THREAD {
 
 static FORCEINLINE PVOID
 __ThreadAllocate(
-    IN  ULONG   Length
+    _In_ ULONG  Length
     )
 {
     return __AllocatePoolWithTag(NonPagedPool, Length, THREAD_POOL);
@@ -58,7 +58,7 @@ __ThreadAllocate(
 
 static FORCEINLINE VOID
 __ThreadFree(
-    IN  PVOID   Buffer
+    _In_ PVOID  Buffer
     )
 {
     __FreePoolWithTag(Buffer, THREAD_POOL);
@@ -66,7 +66,7 @@ __ThreadFree(
 
 static FORCEINLINE VOID
 __ThreadWake(
-    IN  PXENIFACE_THREAD  Thread
+    _In_ PXENIFACE_THREAD   Thread
     )
 {
     KeSetEvent(&Thread->Event, IO_NO_INCREMENT, FALSE);
@@ -74,7 +74,7 @@ __ThreadWake(
 
 VOID
 ThreadWake(
-    IN  PXENIFACE_THREAD  Thread
+    _In_ PXENIFACE_THREAD   Thread
     )
 {
     __ThreadWake(Thread);
@@ -82,7 +82,7 @@ ThreadWake(
 
 static FORCEINLINE VOID
 __ThreadAlert(
-    IN  PXENIFACE_THREAD  Thread
+    _In_ PXENIFACE_THREAD   Thread
     )
 {
     Thread->Alerted = TRUE;
@@ -91,7 +91,7 @@ __ThreadAlert(
 
 VOID
 ThreadAlert(
-    IN  PXENIFACE_THREAD  Thread
+    _In_ PXENIFACE_THREAD   Thread
     )
 {
     __ThreadAlert(Thread);
@@ -101,11 +101,11 @@ KSTART_ROUTINE  ThreadFunction;
 
 VOID
 ThreadFunction(
-    IN  PVOID       Argument
+    _In_ PVOID          Argument
     )
 {
-    PXENIFACE_THREAD  Self = Argument;
-    NTSTATUS        status;
+    PXENIFACE_THREAD    Self = Argument;
+    NTSTATUS            status;
 
     status = Self->Function(Self, Self->Context);
 
@@ -116,16 +116,16 @@ ThreadFunction(
     // NOT REACHED
 }
 
-__drv_requiresIRQL(PASSIVE_LEVEL)
+_IRQL_requires_(PASSIVE_LEVEL)
 NTSTATUS
 ThreadCreate(
-    IN  XENIFACE_THREAD_FUNCTION  Function,
-    IN  PVOID                   Context,
-    OUT PXENIFACE_THREAD          *Thread
+    _In_ XENIFACE_THREAD_FUNCTION   Function,
+    _In_ PVOID                      Context,
+    _Outptr_ PXENIFACE_THREAD       *Thread
     )
 {
-    HANDLE                      Handle;
-    NTSTATUS                    status;
+    HANDLE                          Handle;
+    NTSTATUS                        status;
 
     ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
 
@@ -191,7 +191,7 @@ fail1:
 
 PKEVENT
 ThreadGetEvent(
-    IN  PXENIFACE_THREAD  Thread
+    _In_ PXENIFACE_THREAD   Thread
     )
 {
     return &Thread->Event;
@@ -199,7 +199,7 @@ ThreadGetEvent(
 
 BOOLEAN
 ThreadIsAlerted(
-    IN  PXENIFACE_THREAD  Thread
+    _In_ PXENIFACE_THREAD   Thread
     )
 {
     return Thread->Alerted;
@@ -207,10 +207,10 @@ ThreadIsAlerted(
 
 VOID
 ThreadJoin(
-    IN  PXENIFACE_THREAD  Thread
+    _In_ PXENIFACE_THREAD   Thread
     )
 {
-    LONG                References;
+    LONG                    References;
 
     ASSERT3U(KeGetCurrentIrql(), ==, PASSIVE_LEVEL);
     ASSERT3P(KeGetCurrentThread(), !=, Thread->Thread);
diff --git a/src/xeniface/thread.h b/src/xeniface/thread.h
index 2cf8488..5047d9f 100644
--- a/src/xeniface/thread.h
+++ b/src/xeniface/thread.h
@@ -39,37 +39,37 @@ typedef struct _XENIFACE_THREAD XENIFACE_THREAD, 
*PXENIFACE_THREAD;
 
 typedef NTSTATUS (*XENIFACE_THREAD_FUNCTION)(PXENIFACE_THREAD, PVOID);
 
-__drv_requiresIRQL(PASSIVE_LEVEL)
+_IRQL_requires_(PASSIVE_LEVEL)
 extern NTSTATUS
 ThreadCreate(
-    IN  XENIFACE_THREAD_FUNCTION  Function,
-    IN  PVOID                   Context,
-    OUT PXENIFACE_THREAD          *Thread
+    _In_ XENIFACE_THREAD_FUNCTION   Function,
+    _In_ PVOID                      Context,
+    _Outptr_ PXENIFACE_THREAD       *Thread
     );
 
 extern PKEVENT
 ThreadGetEvent(
-    IN  PXENIFACE_THREAD  Self
+    _In_ PXENIFACE_THREAD   Self
     );
 
 extern BOOLEAN
 ThreadIsAlerted(
-    IN  PXENIFACE_THREAD  Self
+    _In_ PXENIFACE_THREAD   Self
     );
 
 extern VOID
 ThreadWake(
-    IN  PXENIFACE_THREAD  Thread
+    _In_ PXENIFACE_THREAD   Thread
     );
 
 extern VOID
 ThreadAlert(
-    IN  PXENIFACE_THREAD  Thread
+    _In_ PXENIFACE_THREAD   Thread
     );
 
 extern VOID
 ThreadJoin(
-    IN  PXENIFACE_THREAD  Thread
+    _In_ PXENIFACE_THREAD   Thread
     );
 
 #endif  // _XENIFACE_THREAD_H
diff --git a/src/xeniface/wmi.c b/src/xeniface/wmi.c
index ccc2ab0..fac86ee 100644
--- a/src/xeniface/wmi.c
+++ b/src/xeniface/wmi.c
@@ -105,7 +105,7 @@ typedef struct _XENSTORE_WATCH {
 
 static FORCEINLINE PVOID
 WmiAllocate(
-    IN  ULONG   Length
+    _In_ ULONG  Length
     )
 {
     // Zeroes the allocation
@@ -114,7 +114,7 @@ WmiAllocate(
 
 static FORCEINLINE VOID
 WmiFree(
-    IN  PVOID   Buffer
+    _In_ PVOID  Buffer
     )
 {
     __FreePoolWithTag(Buffer, WMI_POOL_TAG);
@@ -125,8 +125,8 @@ WmiFree(
 // prior to Windows 7.
 static USHORT
 Utf32FromUtf16(
-    OUT PULONG          utf32,
-    IN  const WCHAR*    utf16
+    _Out_ PULONG        utf32,
+    _In_ const WCHAR    *utf16
     )
 {
     ULONG               w;
@@ -151,8 +151,8 @@ Utf32FromUtf16(
 
 static USHORT
 Utf32FromUtf8(
-    OUT PULONG      utf32,
-    IN  const CHAR* utf8
+    _Out_ PULONG    utf32,
+    _In_ const CHAR *utf8
     )
 {
     ULONG           y;
@@ -190,13 +190,13 @@ Utf32FromUtf8(
 
 static USHORT
 Utf16FromUtf32(
-    OUT PWCHAR  utf16,
-    IN  ULONG   utf32
+    _Out_ PWCHAR    utf16,
+    _In_ ULONG      utf32
     )
 {
-    WCHAR       u;
-    WCHAR       w;
-    WCHAR       x;
+    WCHAR           u;
+    WCHAR           w;
+    WCHAR           x;
 
     if ((utf32 > 0xFFFF)) {
         u = (utf32 & 0x1F0000) >> 16;
@@ -213,7 +213,7 @@ Utf16FromUtf32(
 
 static USHORT
 CountUtf8FromUtf32(
-    IN  ULONG   utf32
+    _In_ ULONG  utf32
     )
 {
     if (utf32 & UTF8MASK4)
@@ -227,7 +227,7 @@ CountUtf8FromUtf32(
 
 static USHORT
 CountUtf16FromUtf32(
-    IN  ULONG   utf32
+    _In_ ULONG  utf32
     )
 {
     if (utf32 & 0xFF0000)
@@ -237,8 +237,8 @@ CountUtf16FromUtf32(
 
 static USHORT
 Utf8FromUtf32(
-    OUT PCHAR   dest,
-    IN  ULONG   utf32
+    _Out_ PCHAR dest,
+    _In_ ULONG  utf32
     )
 {
     CHAR        u;
@@ -279,7 +279,7 @@ Utf8FromUtf32(
 
 static USHORT
 CountBytesUtf16FromUtf8String(
-    IN  PCOEM_STRING        utf8
+    _In_ PCOEM_STRING       utf8
     )
 {
     ULONG                   utf32;
@@ -296,7 +296,7 @@ CountBytesUtf16FromUtf8String(
 
 static USHORT
 CountBytesUtf16FromUtf8(
-    IN  const CHAR*     utf8
+    _In_ const CHAR     *utf8
     )
 {
     ULONG               utf32;
@@ -313,13 +313,13 @@ CountBytesUtf16FromUtf8(
 
 static VOID
 GetUnicodeString(
-    OUT PUNICODE_STRING unicode,
-    IN  USHORT          maxlength,
-    IN  LPWSTR          location
+    _Out_ PUNICODE_STRING   unicode,
+    _In_ USHORT             maxlength,
+    _In_ LPWSTR             location
     )
 {
-    USHORT              i;
-    USHORT              length = 0;
+    USHORT                  i;
+    USHORT                  length = 0;
 
     unicode->MaximumLength = maxlength;
     unicode->Buffer = location;
@@ -336,9 +336,9 @@ GetUnicodeString(
 
 static NTSTATUS
 GetAnsiString(
-    OUT PANSI_STRING    ansi,
-    IN  USHORT          maxlength,
-    IN  LPWSTR          location
+    _Out_ PANSI_STRING  ansi,
+    _In_ USHORT         maxlength,
+    _In_ LPWSTR         location
     )
 {
     UNICODE_STRING      unicode;
@@ -349,9 +349,9 @@ GetAnsiString(
 
 static NTSTATUS
 GetUTF8String(
-    OUT POEM_STRING     utf8,
-    IN  USHORT          bufsize,
-    IN  LPWSTR          ustring
+    _Out_ POEM_STRING   utf8,
+    _In_ USHORT         bufsize,
+    _In_ LPWSTR         ustring
     )
 {
     ULONG               utf32;
@@ -384,7 +384,7 @@ GetUTF8String(
 
 static FORCEINLINE VOID
 FreeUTF8String(
-    IN  POEM_STRING utf8
+    _In_ POEM_STRING    utf8
     )
 {
     if (utf8->Buffer)
@@ -396,40 +396,40 @@ FreeUTF8String(
 
 static NTSTATUS
 GetCountedUTF8String(
-    OUT POEM_STRING     utf8,
-    IN  PUCHAR          location
+    _Out_ POEM_STRING   utf8,
+    _In_ PUCHAR         location
     )
 {
-    USHORT bufsize = *(USHORT*)location;
-    LPWSTR ustring = (LPWSTR)(location + sizeof(USHORT));
+    USHORT              bufsize = *(USHORT*)location;
+    LPWSTR              ustring = (LPWSTR)(location + sizeof(USHORT));
     return GetUTF8String(utf8, bufsize, ustring);
 }
 
 static VOID
 GetCountedUnicodeString(
-    OUT PUNICODE_STRING unicode,
-    IN  PUCHAR          location
+    _Out_ PUNICODE_STRING   unicode,
+    _In_ PUCHAR             location
     )
 {
-    USHORT bufsize = *(USHORT*)location;
-    LPWSTR ustring = (LPWSTR)(location + sizeof(USHORT));
+    USHORT                  bufsize = *(USHORT*)location;
+    LPWSTR                  ustring = (LPWSTR)(location + sizeof(USHORT));
     GetUnicodeString(unicode, bufsize, ustring);
 }
 
 static NTSTATUS
 GetCountedAnsiString(
-    OUT PANSI_STRING    ansi,
-    IN  PUCHAR          location
+    _Out_ PANSI_STRING  ansi,
+    _In_ PUCHAR         location
     )
 {
-    USHORT bufsize = *(USHORT*)location;
-    LPWSTR ustring = (LPWSTR)(location + sizeof(USHORT));
+    USHORT              bufsize = *(USHORT*)location;
+    LPWSTR              ustring = (LPWSTR)(location + sizeof(USHORT));
     return GetAnsiString(ansi, bufsize, ustring);
 }
 
 static FORCEINLINE size_t
 GetCountedUtf8Size(
-    IN  const CHAR* utf8
+    _In_ const CHAR *utf8
     )
 {
     return sizeof(USHORT) + CountBytesUtf16FromUtf8(utf8);
@@ -437,7 +437,7 @@ GetCountedUtf8Size(
 
 static FORCEINLINE size_t
 GetCountedUnicodeStringSize(
-    IN  PCUNICODE_STRING    string
+    _In_ PCUNICODE_STRING   string
     )
 {
     return sizeof(USHORT) + string->Length;
@@ -445,8 +445,8 @@ GetCountedUnicodeStringSize(
 
 static VOID
 WriteCountedUnicodeString(
-    IN  PCUNICODE_STRING    ustr,
-    IN  PUCHAR              location
+    _In_ PCUNICODE_STRING   ustr,
+    _In_ PUCHAR             location
     )
 {
     *((USHORT*)location) = ustr->Length;
@@ -457,8 +457,8 @@ WriteCountedUnicodeString(
 
 static NTSTATUS
 WriteCountedUTF8String(
-    IN  const CHAR*     string,
-    IN  PUCHAR          location
+    _In_ const CHAR     *string,
+    _In_ PUCHAR         location
     )
 {
     UNICODE_STRING      unicode;
@@ -489,8 +489,8 @@ WriteCountedUTF8String(
 
 static VOID
 AllocUnicodeStringBuffer(
-    OUT PUNICODE_STRING string,
-    IN  USHORT          buffersize
+    _Out_ PUNICODE_STRING   string,
+    _In_ USHORT             buffersize
     )
 {
     string->Length = 0;
@@ -504,7 +504,7 @@ AllocUnicodeStringBuffer(
 
 static FORCEINLINE VOID
 FreeUnicodeStringBuffer(
-    IN  PUNICODE_STRING string
+    _In_ PUNICODE_STRING    string
     )
 {
     if (string->Buffer)
@@ -516,8 +516,8 @@ FreeUnicodeStringBuffer(
 
 static NTSTATUS
 CloneUnicodeString(
-    OUT PUNICODE_STRING     dest,
-    IN  PCUNICODE_STRING    src
+    _Out_ PUNICODE_STRING   dest,
+    _In_ PCUNICODE_STRING   src
     )
 {
     NTSTATUS                status;
@@ -535,15 +535,15 @@ CloneUnicodeString(
 
 static NTSTATUS
 GetInstanceName(
-    OUT PUNICODE_STRING dest,
-    IN  PXENIFACE_FDO   Fdo,
-    IN  const CHAR*     string
+    _Out_ PUNICODE_STRING   dest,
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ const CHAR         *string
     )
 {
-    ANSI_STRING         ansi;
-    UNICODE_STRING      unicode;
-    NTSTATUS            status;
-    size_t              destsz;
+    ANSI_STRING             ansi;
+    UNICODE_STRING          unicode;
+    NTSTATUS                status;
+    size_t                  destsz;
 
     RtlInitAnsiString(&ansi, string);
     status = RtlAnsiStringToUnicodeString(&unicode, &ansi, TRUE);
@@ -581,9 +581,9 @@ fail1:
 
 static NTSTATUS
 WriteInstanceName(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  const CHAR*     string,
-    IN  PUCHAR          location
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ const CHAR     *string,
+    _In_ PUCHAR         location
     )
 {
     UNICODE_STRING      destination;
@@ -600,7 +600,7 @@ WriteInstanceName(
 
 static PSTR
 Xmasprintf(
-    IN  const char* fmt,
+    _In_ const char *fmt,
     ...
     )
 {
@@ -634,8 +634,8 @@ Xmasprintf(
 
 static FORCEINLINE VOID
 UnicodeShallowCopy(
-    IN  PUNICODE_STRING     dest,
-    IN  PUNICODE_STRING     src
+    _In_ PUNICODE_STRING    dest,
+    _In_ PUNICODE_STRING    src
     )
 {
     dest->Buffer = src->Buffer;
@@ -645,8 +645,8 @@ UnicodeShallowCopy(
 
 static FORCEINLINE int
 CompareUnicodeStrings(
-    IN  PCUNICODE_STRING    string1,
-    IN  PCUNICODE_STRING    string2
+    _In_ PCUNICODE_STRING   string1,
+    _In_ PCUNICODE_STRING   string2
     )
 {
     if (string1->Length == string2->Length)
@@ -658,10 +658,10 @@ CompareUnicodeStrings(
 
 static int
 AccessWmiBuffer(
-    IN  PUCHAR  Buffer,
-    IN  int     readbuffer,
-    OUT ULONG*  RequiredSize,
-    IN  size_t  BufferSize,
+    _In_ PUCHAR Buffer,
+    _In_ int    readbuffer,
+    _Out_ ULONG *RequiredSize,
+    _In_ size_t BufferSize,
     ...
     )
 {
@@ -810,8 +810,8 @@ AccessWmiBuffer(
 
 static FORCEINLINE PXENSTORE_SESSION
 FindSessionLocked(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  LONG            Id
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ LONG           Id
     )
 {
     PLIST_ENTRY         ListEntry;
@@ -834,8 +834,8 @@ FindSessionLocked(
 
 static FORCEINLINE PXENSTORE_WATCH
 SessionFindWatchLocked(
-    IN  PXENSTORE_SESSION   Session,
-    IN  PUNICODE_STRING     Path
+    _In_ PXENSTORE_SESSION  Session,
+    _In_ PUNICODE_STRING    Path
     )
 {
     PLIST_ENTRY             ListEntry;
@@ -856,12 +856,12 @@ SessionFindWatchLocked(
 
 static VOID
 FireWatch(
-    IN  PXENSTORE_WATCH Watch
+    _In_ PXENSTORE_WATCH    Watch
     )
 {
-    UCHAR*              eventdata;
-    ULONG               RequiredSize;
-    UCHAR*              sesbuf;
+    UCHAR*                  eventdata;
+    ULONG                   RequiredSize;
+    UCHAR*                  sesbuf;
 
     (VOID) AccessWmiBuffer(NULL, FALSE, &RequiredSize, 0,
             WMI_STRING, GetCountedUnicodeStringSize(&Watch->Path), &sesbuf,
@@ -889,13 +889,13 @@ KSTART_ROUTINE WatchCallbackThread;
 
 static NTSTATUS
 StartWatch(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PXENSTORE_WATCH Watch
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PXENSTORE_WATCH    Watch
     )
 {
-    char*               tmppath;
-    ANSI_STRING         ansipath;
-    NTSTATUS            status;
+    char*                   tmppath;
+    ANSI_STRING             ansipath;
+    NTSTATUS                status;
 
     status = RtlUnicodeStringToAnsiString(&ansipath, &Watch->Path, TRUE);
     if (!NT_SUCCESS(status))
@@ -934,7 +934,7 @@ fail1:
 
 VOID
 WatchCallbackThread(
-    __in PVOID          StartContext
+    _In_ PVOID          StartContext
     )
 {
     NTSTATUS            status;
@@ -1030,9 +1030,9 @@ WatchCallbackThread(
 
 static NTSTATUS
 SessionAddWatchLocked(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  PXENSTORE_SESSION   Session,
-    IN  PUNICODE_STRING     Path
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PXENSTORE_SESSION  Session,
+    _In_ PUNICODE_STRING    Path
     )
 {
     PXENSTORE_WATCH         Watch;
@@ -1079,7 +1079,7 @@ fail1:
 
 static VOID
 SessionRemoveWatchLocked(
-    IN  PXENSTORE_WATCH     Watch
+    _In_ PXENSTORE_WATCH    Watch
     )
 {
     // ASSERT3P(Session->WatchMapLock.Owner, ==, KeGetCurrentThread());
@@ -1095,8 +1095,8 @@ SessionRemoveWatchLocked(
 
 static PXENSTORE_SESSION
 FindSessionByInstanceLocked(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  PUNICODE_STRING     Instance
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PUNICODE_STRING    Instance
     )
 {
     PLIST_ENTRY             ListEntry;
@@ -1117,15 +1117,15 @@ FindSessionByInstanceLocked(
     return NULL;
 }
 
-__checkReturn
+_Check_return_
 __success(return != NULL)
 static PXENSTORE_SESSION
 FindSessionByInstanceAndLock(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PUNICODE_STRING Instance
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PUNICODE_STRING    Instance
     )
 {
-    PXENSTORE_SESSION   Session;
+    PXENSTORE_SESSION       Session;
 
     AcquireMutex(&Fdo->SessionLock);
     Session = FindSessionByInstanceLocked(Fdo, Instance);
@@ -1136,9 +1136,9 @@ FindSessionByInstanceAndLock(
 
 static NTSTATUS
 SessionCreate(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  PUNICODE_STRING     StringId,
-    OUT ULONG*              SessionId
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PUNICODE_STRING    StringId,
+    _Out_ ULONG             *SessionId
     )
 {
     PXENSTORE_SESSION       Session;
@@ -1239,8 +1239,8 @@ fail1:
 
 static VOID
 SessionRemoveLocked(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  PXENSTORE_SESSION   Session
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PXENSTORE_SESSION  Session
     )
 {
     PLIST_ENTRY             ListEntry;
@@ -1278,7 +1278,7 @@ SessionRemoveLocked(
 
 static VOID
 SessionsRemoveAll(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     PXENSTORE_SESSION   Session;
@@ -1298,8 +1298,8 @@ SessionsRemoveAll(
 
 static VOID
 SessionsSuspendLocked(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  PXENSTORE_SESSION   Session
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PXENSTORE_SESSION  Session
     )
 {
     PLIST_ENTRY             ListEntry;
@@ -1327,7 +1327,7 @@ SessionsSuspendLocked(
 
 static VOID
 SessionResumeLocked(
-    IN  PXENSTORE_SESSION   Session
+    _In_ PXENSTORE_SESSION  Session
     )
 {
     PLIST_ENTRY             ListEntry;
@@ -1356,10 +1356,10 @@ SessionResumeLocked(
 
 static NTSTATUS
 NodeTooSmall(
-    IN  UCHAR*      Buffer,
-    IN  ULONG       BufferSize,
-    IN  ULONG       Needed,
-    OUT ULONG_PTR*  BytesWritten
+    _In_ UCHAR          *Buffer,
+    _In_ ULONG          BufferSize,
+    _In_ ULONG          Needed,
+    _Out_ ULONG_PTR     *BytesWritten
     )
 {
     WNODE_TOO_SMALL*    node;
@@ -1383,21 +1383,21 @@ NodeTooSmall(
 
 static NTSTATUS
 SessionExecuteRemoveValue(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PUNICODE_STRING instance,
-    IN  UCHAR*          InBuffer,
-    IN  ULONG           InBufferSize,
-    IN  UCHAR*          OutBuffer,
-    IN  ULONG           OutBufferSize,
-    OUT ULONG_PTR*      BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PUNICODE_STRING    instance,
+    _In_ UCHAR              *InBuffer,
+    _In_ ULONG              InBufferSize,
+    _In_ UCHAR              *OutBuffer,
+    _In_ ULONG              OutBufferSize,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
-    ULONG               RequiredSize;
-    NTSTATUS            status;
-    UCHAR*              upathname;
-    OEM_STRING          pathname;
-    PXENSTORE_SESSION   session;
-    char*               tmpbuffer;
+    ULONG                   RequiredSize;
+    NTSTATUS                status;
+    UCHAR*                  upathname;
+    OEM_STRING              pathname;
+    PXENSTORE_SESSION       session;
+    char*                   tmpbuffer;
 
     UNREFERENCED_PARAMETER(OutBuffer);
     UNREFERENCED_PARAMETER(OutBufferSize);
@@ -1453,21 +1453,21 @@ fail1:
 
 static NTSTATUS
 SessionExecuteRemoveWatch(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PUNICODE_STRING instance,
-    IN  UCHAR*          InBuffer,
-    IN  ULONG           InBufferSize,
-    IN  UCHAR*          OutBuffer,
-    IN  ULONG           OutBufferSize,
-    OUT ULONG_PTR*      BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PUNICODE_STRING    instance,
+    _In_ UCHAR              *InBuffer,
+    _In_ ULONG              InBufferSize,
+    _In_ UCHAR              *OutBuffer,
+    _In_ ULONG              OutBufferSize,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
-    NTSTATUS            status;
-    ULONG               RequiredSize;
-    UCHAR*              upathname;
-    PXENSTORE_WATCH     watch;
-    UNICODE_STRING      unicpath_notbacked;
-    PXENSTORE_SESSION   session;
+    NTSTATUS                status;
+    ULONG                   RequiredSize;
+    UCHAR*                  upathname;
+    PXENSTORE_WATCH         watch;
+    UNICODE_STRING          unicpath_notbacked;
+    PXENSTORE_SESSION       session;
 
     UNREFERENCED_PARAMETER(OutBuffer);
     UNREFERENCED_PARAMETER(OutBufferSize);
@@ -1507,21 +1507,21 @@ fail1:
 
 static NTSTATUS
 SessionExecuteSetWatch(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PUNICODE_STRING instance,
-    IN  UCHAR*          InBuffer,
-    IN  ULONG           InBufferSize,
-    IN  UCHAR*          OutBuffer,
-    IN  ULONG           OutBufferSize,
-    OUT ULONG_PTR*      BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PUNICODE_STRING    instance,
+    _In_ UCHAR              *InBuffer,
+    _In_ ULONG              InBufferSize,
+    _In_ UCHAR              *OutBuffer,
+    _In_ ULONG              OutBufferSize,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
-    ULONG               RequiredSize;
-    NTSTATUS            status;
-    UCHAR*              upathname;
-    PXENSTORE_SESSION   Session;
-    UNICODE_STRING      unicpath_notbacked;
-    UNICODE_STRING      unicpath_backed;
+    ULONG                   RequiredSize;
+    NTSTATUS                status;
+    UCHAR*                  upathname;
+    PXENSTORE_SESSION       Session;
+    UNICODE_STRING          unicpath_notbacked;
+    UNICODE_STRING          unicpath_backed;
 
     UNREFERENCED_PARAMETER(OutBuffer);
     UNREFERENCED_PARAMETER(OutBufferSize);
@@ -1567,17 +1567,17 @@ fail1:
 
 static NTSTATUS
 SessionExecuteEndSession(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PUNICODE_STRING instance,
-    IN  UCHAR*          InBuffer,
-    IN  ULONG           InBufferSize,
-    IN  UCHAR*          OutBuffer,
-    IN  ULONG           OutBufferSize,
-    OUT ULONG_PTR*      BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PUNICODE_STRING    instance,
+    _In_ UCHAR              *InBuffer,
+    _In_ ULONG              InBufferSize,
+    _In_ UCHAR              *OutBuffer,
+    _In_ ULONG              OutBufferSize,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
-    PXENSTORE_SESSION   Session;
-    NTSTATUS            status;
+    PXENSTORE_SESSION       Session;
+    NTSTATUS                status;
 
     UNREFERENCED_PARAMETER(OutBuffer);
     UNREFERENCED_PARAMETER(OutBufferSize);
@@ -1602,13 +1602,13 @@ fail1:
 
 static NTSTATUS
 SessionExecuteSetValue(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  PUNICODE_STRING     instance,
-    IN  UCHAR*              InBuffer,
-    IN  ULONG               InBufferSize,
-    IN  UCHAR*              OutBuffer,
-    IN  ULONG               OutBufferSize,
-    OUT ULONG_PTR*          BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PUNICODE_STRING    instance,
+    _In_ UCHAR              *InBuffer,
+    _In_ ULONG              InBufferSize,
+    _In_ UCHAR              *OutBuffer,
+    _In_ ULONG              OutBufferSize,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
     ULONG                   RequiredSize;
@@ -1693,13 +1693,13 @@ fail1:
 
 static NTSTATUS
 SessionExecuteGetFirstChild(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  PUNICODE_STRING     instance,
-    IN  UCHAR*              InBuffer,
-    IN  ULONG               InBufferSize,
-    IN  UCHAR*              OutBuffer,
-    IN  ULONG               OutBufferSize,
-    OUT ULONG_PTR*          BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PUNICODE_STRING    instance,
+    _In_ UCHAR              *InBuffer,
+    _In_ ULONG              InBufferSize,
+    _In_ UCHAR              *OutBuffer,
+    _In_ ULONG              OutBufferSize,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
     ULONG                   RequiredSize;
@@ -1809,13 +1809,13 @@ fail1:
 
 static NTSTATUS
 SessionExecuteGetNextSibling(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  PUNICODE_STRING     instance,
-    IN  UCHAR*              InBuffer,
-    IN  ULONG               InBufferSize,
-    IN  UCHAR*              OutBuffer,
-    IN  ULONG               OutBufferSize,
-    OUT ULONG_PTR*          BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PUNICODE_STRING    instance,
+    _In_ UCHAR              *InBuffer,
+    _In_ ULONG              InBufferSize,
+    _In_ UCHAR              *OutBuffer,
+    _In_ ULONG              OutBufferSize,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
     ULONG                   RequiredSize;
@@ -1976,13 +1976,13 @@ fail1:
 
 static NTSTATUS
 SessionExecuteGetChildren(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  PUNICODE_STRING     instance,
-    IN  UCHAR*              InBuffer,
-    IN  ULONG               InBufferSize,
-    IN  UCHAR*              OutBuffer,
-    IN  ULONG               OutBufferSize,
-    OUT ULONG_PTR*          BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PUNICODE_STRING    instance,
+    _In_ UCHAR              *InBuffer,
+    _In_ ULONG              InBufferSize,
+    _In_ UCHAR              *OutBuffer,
+    _In_ ULONG              OutBufferSize,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
     int                     i;
@@ -2104,19 +2104,19 @@ fail1:
 
 static NTSTATUS
 SessionExecuteLog(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PUNICODE_STRING instance,
-    IN  UCHAR*          InBuffer,
-    IN  ULONG           InBufferSize,
-    IN  UCHAR*          OutBuffer,
-    IN  ULONG           OutBufferSize,
-    OUT ULONG_PTR*      BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PUNICODE_STRING    instance,
+    _In_ UCHAR              *InBuffer,
+    _In_ ULONG              InBufferSize,
+    _In_ UCHAR              *OutBuffer,
+    _In_ ULONG              OutBufferSize,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
-    ULONG               RequiredSize;
-    UCHAR*              uloc;
-    NTSTATUS            status;
-    ANSI_STRING         message;
+    ULONG                   RequiredSize;
+    UCHAR*                  uloc;
+    NTSTATUS                status;
+    ANSI_STRING             message;
 
 
     UNREFERENCED_PARAMETER(Fdo);
@@ -2148,17 +2148,17 @@ fail1:
 
 static NTSTATUS
 SessionExecuteStartTransaction(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PUNICODE_STRING instance,
-    IN  UCHAR*          InBuffer,
-    IN  ULONG           InBufferSize,
-    IN  UCHAR*          OutBuffer,
-    IN  ULONG           OutBufferSize,
-    OUT ULONG_PTR*      BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PUNICODE_STRING    instance,
+    _In_ UCHAR              *InBuffer,
+    _In_ ULONG              InBufferSize,
+    _In_ UCHAR              *OutBuffer,
+    _In_ ULONG              OutBufferSize,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
-    NTSTATUS            status;
-    PXENSTORE_SESSION   session;
+    NTSTATUS                status;
+    PXENSTORE_SESSION       session;
 
     UNREFERENCED_PARAMETER(InBuffer);
     UNREFERENCED_PARAMETER(InBufferSize);
@@ -2194,17 +2194,17 @@ fail1:
 
 static NTSTATUS
 SessionExecuteCommitTransaction(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PUNICODE_STRING instance,
-    IN  UCHAR*          InBuffer,
-    IN  ULONG           InBufferSize,
-    IN  UCHAR*          OutBuffer,
-    IN  ULONG           OutBufferSize,
-    OUT ULONG_PTR*      BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PUNICODE_STRING    instance,
+    _In_ UCHAR              *InBuffer,
+    _In_ ULONG              InBufferSize,
+    _In_ UCHAR              *OutBuffer,
+    _In_ ULONG              OutBufferSize,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
-    NTSTATUS            status;
-    PXENSTORE_SESSION   session;
+    NTSTATUS                status;
+    PXENSTORE_SESSION       session;
 
     UNREFERENCED_PARAMETER(InBuffer);
     UNREFERENCED_PARAMETER(InBufferSize);
@@ -2246,17 +2246,17 @@ fail1:
 
 static NTSTATUS
 SessionExecuteAbortTransaction(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PUNICODE_STRING instance,
-    IN  UCHAR*          InBuffer,
-    IN  ULONG           InBufferSize,
-    IN  UCHAR*          OutBuffer,
-    IN  ULONG           OutBufferSize,
-    OUT ULONG_PTR*      BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PUNICODE_STRING    instance,
+    _In_ UCHAR              *InBuffer,
+    _In_ ULONG              InBufferSize,
+    _In_ UCHAR              *OutBuffer,
+    _In_ ULONG              OutBufferSize,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
-    NTSTATUS            status;
-    PXENSTORE_SESSION   session;
+    NTSTATUS                status;
+    PXENSTORE_SESSION       session;
 
 
     UNREFERENCED_PARAMETER(InBuffer);
@@ -2298,23 +2298,23 @@ fail1:
 
 static NTSTATUS
 SessionExecuteGetValue(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PUNICODE_STRING instance,
-    IN  UCHAR*          InBuffer,
-    IN  ULONG           InBufferSize,
-    IN  UCHAR*          OutBuffer,
-    IN  ULONG           OutBufferSize,
-    OUT ULONG_PTR*      BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PUNICODE_STRING    instance,
+    _In_ UCHAR              *InBuffer,
+    _In_ ULONG              InBufferSize,
+    _In_ UCHAR              *OutBuffer,
+    _In_ ULONG              OutBufferSize,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
-    NTSTATUS            status;
-    OEM_STRING          path;
-    UCHAR*              uloc;
-    char*               value;
-    UCHAR*              valuepos;
-    char*               tmppath;
-    ULONG               RequiredSize;
-    PXENSTORE_SESSION   session;
+    NTSTATUS                status;
+    OEM_STRING              path;
+    UCHAR*                  uloc;
+    char*                   value;
+    UCHAR*                  valuepos;
+    char*                   tmppath;
+    ULONG                   RequiredSize;
+    PXENSTORE_SESSION       session;
 
     *BytesWritten = 0;
     status = STATUS_INVALID_DEVICE_REQUEST;
@@ -2380,12 +2380,12 @@ fail1:
 
 static NTSTATUS
 BaseExecuteAddSession(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  UCHAR*          InBuffer,
-    IN  ULONG           InBufferSize,
-    IN  UCHAR*          OutBuffer,
-    IN  ULONG           OutBufferSize,
-    OUT ULONG_PTR*      BytesWritten
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ UCHAR          *InBuffer,
+    _In_ ULONG          InBufferSize,
+    _In_ UCHAR          *OutBuffer,
+    _In_ ULONG          OutBufferSize,
+    _Out_ ULONG_PTR     *BytesWritten
     )
 {
     ULONG               RequiredSize;
@@ -2437,10 +2437,10 @@ fail1:
 
 static NTSTATUS
 SessionExecuteMethod(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  UCHAR*          Buffer,
-    IN  ULONG           BufferSize,
-    OUT ULONG_PTR*      BytesWritten
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ UCHAR          *Buffer,
+    _In_ ULONG          BufferSize,
+    _Out_ ULONG_PTR     *BytesWritten
     )
 {
     ULONG               RequiredSize;
@@ -2598,10 +2598,10 @@ SessionExecuteMethod(
 
 static NTSTATUS
 BaseExecuteMethod(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  UCHAR*              Buffer,
-    IN  ULONG               BufferSize,
-    OUT ULONG_PTR*          BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ UCHAR              *Buffer,
+    _In_ ULONG              BufferSize,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
     ULONG                   RequiredSize;
@@ -2639,9 +2639,9 @@ BaseExecuteMethod(
 
 static NTSTATUS
 WmiExecuteMethod(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  PIO_STACK_LOCATION  Stack,
-    OUT ULONG_PTR*          BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PIO_STACK_LOCATION Stack,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
     if (IsEqualGUID(Stack->Parameters.WMI.DataPath,
@@ -2663,26 +2663,26 @@ WmiExecuteMethod(
 
 static NTSTATUS
 GenerateSessionBlock(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  UCHAR*              Buffer,
-    IN  ULONG               BufferSize,
-    OUT ULONG_PTR*          BytesWritten
-    )
-{
-    PLIST_ENTRY             ListEntry;
-    PXENSTORE_SESSION       Session;
-    WNODE_ALL_DATA*         node;
-    ULONG                   RequiredSize;
-    size_t                  nodesizerequired;
-    size_t                  namesizerequired;
-    int                     entries;
-    OFFSETINSTANCEDATAANDLENGTH* dataoffsets;
-    ULONG*                  nameoffsets;
-    UCHAR*                  data;
-    UCHAR*                  names;
-    int                     entrynum = 0;
-    UCHAR*                  datapos;
-    UCHAR*                  namepos;
+    _In_ PXENIFACE_FDO              Fdo,
+    _In_ UCHAR                      *Buffer,
+    _In_ ULONG                      BufferSize,
+    _Out_ ULONG_PTR                 *BytesWritten
+    )
+{
+    PLIST_ENTRY                     ListEntry;
+    PXENSTORE_SESSION               Session;
+    WNODE_ALL_DATA*                 node;
+    ULONG                           RequiredSize;
+    size_t                          nodesizerequired;
+    size_t                          namesizerequired;
+    int                             entries;
+    OFFSETINSTANCEDATAANDLENGTH*    dataoffsets;
+    ULONG*                          nameoffsets;
+    UCHAR*                          data;
+    UCHAR*                          names;
+    int                             entrynum = 0;
+    UCHAR*                          datapos;
+    UCHAR*                          namepos;
 
     AcquireMutex(&Fdo->SessionLock);
 
@@ -2779,10 +2779,10 @@ GenerateSessionBlock(
 
 static NTSTATUS
 GenerateBaseBlock(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  UCHAR*              Buffer,
-    IN  ULONG               BufferSize,
-    OUT ULONG_PTR*          BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ UCHAR              *Buffer,
+    _In_ ULONG              BufferSize,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
     WNODE_ALL_DATA*         node;
@@ -2819,10 +2819,10 @@ GenerateBaseBlock(
 
 static NTSTATUS
 GenerateBaseInstance(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  UCHAR*              Buffer,
-    IN  ULONG               BufferSize,
-    OUT ULONG_PTR*          BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ UCHAR              *Buffer,
+    _In_ ULONG              BufferSize,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
     WNODE_SINGLE_INSTANCE*  node;
@@ -2871,10 +2871,10 @@ GenerateBaseInstance(
 
 static NTSTATUS
 GenerateSessionInstance(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  UCHAR*              Buffer,
-    IN  ULONG               BufferSize,
-    OUT ULONG_PTR*          BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ UCHAR              *Buffer,
+    _In_ ULONG              BufferSize,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
     WNODE_SINGLE_INSTANCE*  node;
@@ -2940,9 +2940,9 @@ fail1:
 
 NTSTATUS
 WmiQueryAllData(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  PIO_STACK_LOCATION  Stack,
-    OUT ULONG_PTR*          BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PIO_STACK_LOCATION Stack,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
     if (IsEqualGUID(Stack->Parameters.WMI.DataPath,
@@ -2964,9 +2964,9 @@ WmiQueryAllData(
 
 NTSTATUS
 WmiQuerySingleInstance(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  PIO_STACK_LOCATION  Stack,
-    OUT ULONG_PTR*          BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PIO_STACK_LOCATION Stack,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
     if (IsEqualGUID(Stack->Parameters.WMI.DataPath,
@@ -2988,9 +2988,9 @@ WmiQuerySingleInstance(
 
 NTSTATUS
 WmiRegInfo(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  PIO_STACK_LOCATION  Stack,
-    OUT ULONG_PTR*          BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PIO_STACK_LOCATION Stack,
+    _Out_ ULONG_PTR         *BytesWritten
    )
 {
     size_t                  mofnamesz;
@@ -3070,9 +3070,9 @@ WmiRegInfo(
 
 NTSTATUS
 WmiRegInfoEx(
-    IN  PXENIFACE_FDO       Fdo,
-    IN  PIO_STACK_LOCATION  Stack,
-    OUT ULONG_PTR*          BytesWritten
+    _In_ PXENIFACE_FDO      Fdo,
+    _In_ PIO_STACK_LOCATION Stack,
+    _Out_ ULONG_PTR         *BytesWritten
     )
 {
     Trace("%s\n",__FUNCTION__);
@@ -3081,8 +3081,8 @@ WmiRegInfoEx(
 
 NTSTATUS
 WmiProcessMinorFunction(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     )
 {
     PIO_STACK_LOCATION  Stack;
@@ -3118,7 +3118,7 @@ WmiProcessMinorFunction(
 
 VOID
 WmiFireSuspendEvent(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     Info("Ready to unsuspend Event\n");
@@ -3136,7 +3136,7 @@ WmiFireSuspendEvent(
 
 VOID
 WmiSessionsSuspendAll(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     PLIST_ENTRY         ListEntry;
@@ -3156,7 +3156,7 @@ WmiSessionsSuspendAll(
 
 VOID
 WmiSessionsResumeAll(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     PLIST_ENTRY         ListEntry;
@@ -3176,7 +3176,7 @@ WmiSessionsResumeAll(
 
 NTSTATUS
 WmiRegister(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     NTSTATUS            status;
@@ -3202,7 +3202,7 @@ fail1:
 
 VOID
 WmiDeregister(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     if (!Fdo->WmiReady)
@@ -3219,7 +3219,7 @@ WmiDeregister(
 
 NTSTATUS
 WmiInitialize(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     NTSTATUS            status;
@@ -3244,7 +3244,7 @@ fail1:
 
 VOID
 WmiTeardown(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     )
 {
     ASSERT(Fdo->Sessions == 0);
diff --git a/src/xeniface/wmi.h b/src/xeniface/wmi.h
index dca2e84..0cc7288 100644
--- a/src/xeniface/wmi.h
+++ b/src/xeniface/wmi.h
@@ -40,43 +40,43 @@
 
 extern NTSTATUS
 WmiInitialize(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     );
 
 extern VOID
 WmiTeardown(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     );
 
 extern NTSTATUS
 WmiRegister(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     );
 
 extern VOID
 WmiDeregister(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     );
 
 extern VOID
 WmiSessionsResumeAll(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     );
 
 extern VOID
 WmiSessionsSuspendAll(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     );
 
 extern NTSTATUS
 WmiProcessMinorFunction(
-    IN  PXENIFACE_FDO   Fdo,
-    IN  PIRP            Irp
+    _In_ PXENIFACE_FDO  Fdo,
+    _In_ PIRP           Irp
     );
 
 extern VOID
 WmiFireSuspendEvent(
-    IN  PXENIFACE_FDO   Fdo
+    _In_ PXENIFACE_FDO  Fdo
     );
 
 #endif
-- 
2.55.0.windows.5



--
Césaire Mounah | Vates Windows Guest Tools Engineer

XCP-ng & Xen Orchestra - Vates solutions

web: https://vates.tech

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.