<?xml version="1.0"?>
<def format="1">
  <platformtype name="__int8" value="char">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="__int16" value="short">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="__int32" value="int">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="__int64" value="long">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
    <long/>
  </platformtype>
  <platformtype name="ACCESS_MASK" value="long">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
    <unsigned/>
  </platformtype>
  <platformtype name="ATOM" value="short">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="BOOL" value="int">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="BOOLEAN" value="char">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="BYTE" value="char">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="CCHAR" value="char">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="CHAR" value="char">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="COLORREF" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="DWORD" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="DWORD32" value="int">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="DWORD64" value="long">
    <unsigned/>
    <long/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="DWORD_PTR" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="DWORD_PTR" value="long">
    <unsigned/>
    <long/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="FLOAT" value="float">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HACCEL" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HANDLE" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HAGENT" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HAGENTSESSION" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HBITMAP" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HBRUSH" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HCOLORSPACE" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HCURSOR" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HCONV" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HCONVLIST" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HDC" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HDDEDATA" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HDESK" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HDROP" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HDWP" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HENHMETAFILE" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HFILE" value="int">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HFONT" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HGDIOBJ" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HGLOBAL" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HHOOK" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HICON" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HINSTANCE" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HKEY" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HKL" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HLOCAL" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HMENU" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HMETAFILE" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HMODULE" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HMONITOR" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HPALETTE" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HPEN" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HRESULT" value="long">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HRGN" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HRSRC" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HWND" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HSZ" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HWINSTA" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HALF_PTR" value="short">
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="HALF_PTR" value="int">
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HCALL" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HLINE" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HLINEAPP" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HPHONE" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="HPHONEAPP" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="INT" value="int">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="INT8" value="char">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="INT16" value="short">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="INT32" value="int">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="INT64" value="long">
    <long/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="INT_PTR" value="int">
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="INT_PTR" value="long">
    <long/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LANGID" value="short">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LCID" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LCTYPE" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LGRPID" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LONG" value="long">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LONG32" value="int">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LONG64" value="long">
    <long/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LONGLONG" value="long">
    <long/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LONG_PTR" value="long">
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="LONG_PTR" value="long">
    <long/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPBOOL" value="int">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPARAM" value="long">
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="LPARAM" value="long">
    <long/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPBYTE" value="char">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPCOLORREF" value="long">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPCSTR" value="char">
    <const_ptr/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPCTSTR" value="char">
    <const_ptr/>
    <platform type="win32A"/>
  </platformtype>
  <platformtype name="LPCTSTR" value="wchar_t">
    <const_ptr/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPCVOID" value="void">
    <const_ptr/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPCWSTR" value="wchar_t">
    <const_ptr/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPDWORD" value="long">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPINT" value="int">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPLONG" value="long">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPSTR" value="char">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPTSTR" value="char">
    <pointer/>
    <platform type="win32A"/>
  </platformtype>
  <platformtype name="LPTSTR" value="wchar_t">
    <pointer/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPVOID" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPWORD" value="short">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LPWSTR" value="wchar_t">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="LRESULT" value="long">
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="LRESULT" value="long">
    <long/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="MMRESULT" value="int">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="NTSTATUS" value="long">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PBOOL" value="int">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PBOOLEAN" value="char">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PBYTE" value="char">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PCHAR" value="char">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PCSTR" value="char">
    <const_ptr/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PCTSTR" value="char">
    <const_ptr/>
    <platform type="win32A"/>
  </platformtype>
  <platformtype name="PCTSTR" value="wchar_t">
    <const_ptr/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PDWORD" value="long">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PHANDLE" value="void">
    <ptr_ptr/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PINT" value="int">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PLONG" value="long">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PSTR" value="char">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PTSTR" value="char">
    <pointer/>
    <platform type="win32A"/>
  </platformtype>
  <platformtype name="PTSTR" value="wchar_t">
    <pointer/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PUCHAR" value="char">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PULONG" value="long">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PUSHORT" value="short">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PVOID" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PWCHAR" value="wchar_t">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PWORD" value="short">
    <unsigned/>
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="PWSTR" value="wchar_t">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="QWORD" value="long">
    <unsigned/>
    <long/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="SC_LOCK" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="SC_HANDLE" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="SERVICE_STATUS_HANDLE" value="void">
    <pointer/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="SHORT" value="short">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="SIZE_T" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="SIZE_T" value="long">
    <unsigned/>
    <long/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="SOCKET" value="int">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="SSIZE_T" value="long">
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="SSIZE_T" value="long">
    <long/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="TBYTE" value="char">
    <unsigned/>
    <platform type="win32A"/>
  </platformtype>
  <platformtype name="TBYTE" value="wchar_t">
    <unsigned/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="TCHAR" value="char">
    <platform type="win32A"/>
  </platformtype>
  <platformtype name="TCHAR" value="wchar_t">
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="UCHAR" value="char">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="UHALF_PTR" value="short">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="UHALF_PTR" value="int">
    <unsigned/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="UINT" value="int">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="UINT8" value="char">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="UINT16" value="short">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="UINT32" value="int">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="UINT64" value="long">
    <unsigned/>
    <long/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="UINT_PTR" value="int">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="UINT_PTR" value="long">
    <unsigned/>
    <long/>
    <platform type="win64"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="ULONG" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="ULONG32" value="int">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="ULONG64" value="long">
    <unsigned/>
    <long/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="ULONGLONG" value="long">
    <unsigned/>
    <long/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="ULONG_PTR" value="long">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="ULONG_PTR" value="long">
    <unsigned/>
    <long/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="USHORT" value="short">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="USN" value="long">
    <long/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="VOID" value="void">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="WCHAR" value="wchar_t">
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="WORD" value="short">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
    <platform type="win64"/>
  </platformtype>
  <platformtype name="WPARAM" value="int">
    <unsigned/>
    <platform type="win32A"/>
    <platform type="win32W"/>
  </platformtype>
  <platformtype name="WPARAM" value="long">
    <unsigned/>
    <long/>
    <platform type="win64"/>
  </platformtype>
  <resource>
    <alloc init="true">CreatePen</alloc>
    <alloc init="true">CreateBrushIndirect</alloc>
    <alloc init="true">CreateDIBPatternBrush</alloc>
    <alloc init="true">CreateDIBPatternBrushPt</alloc>
    <alloc init="true">CreateHatchBrush</alloc>
    <alloc init="true">CreatePatternBrush</alloc>
    <alloc init="true">CreateSolidBrush</alloc>
    <alloc init="true">CreateFont</alloc>
    <alloc init="true">CreateFontIndirect</alloc>
    <alloc init="true">CreateFontIndirectEx</alloc>
    <alloc init="true">CreateBitmap</alloc>
    <alloc init="true">CreateBitmapIndirect</alloc>
    <alloc init="true">CreateCompatibleBitmap</alloc>
    <alloc init="true">CreateDIBitmap</alloc>
    <alloc init="true">CreateDIBSection</alloc>
    <alloc init="true">CreateDiscardableBitmap</alloc>
    <alloc init="true">CreateEllipticRgn</alloc>
    <alloc init="true">CreateEllipticRgnIndirect</alloc>
    <alloc init="true">CreatePolygonRgn</alloc>
    <alloc init="true">CreatePolyPolygonRgn</alloc>
    <alloc init="true">CreateRectRgn</alloc>
    <alloc init="true">CreateRectRgnIndirect</alloc>
    <alloc init="true">CreateRoundRectRgn</alloc>
    <alloc init="true">CreateHalftonePalette</alloc>
    <alloc init="true">CreatePalette</alloc>
    <dealloc>DeleteObject</dealloc>
  </resource>
  <resource>
    <dealloc>closesocket</dealloc>
    <alloc init="true">socket</alloc>
  </resource>
  <resource>
    <alloc init="true">CreateThread</alloc>
    <alloc init="true">CreateFile</alloc>
    <alloc init="true">OpenFile</alloc>
    <alloc init="true">CreateJobObject</alloc>
    <alloc init="true">CreateRemoteThread</alloc>
    <alloc init="true">CreateConsoleScreenBuffer</alloc>
    <alloc init="true">OpenBackupEventLog</alloc>
    <alloc init="true">OpenEventLog</alloc>
    <alloc init="true">CreateFileMapping</alloc>
    <alloc init="true">CreateFileMappingFromApp</alloc>
    <alloc init="true">CreateFileMappingNuma</alloc>
    <alloc init="true">CreateMemoryResourceNotification</alloc>
    <alloc init="true">OpenFileMapping</alloc>
    <alloc init="true">CreateNamedPipe</alloc>
    <alloc init="true">CreateEvent</alloc>
    <alloc init="true">CreateMutex</alloc>
    <alloc init="true">CreateSemaphore</alloc>
    <alloc init="true">CreateTimerQueue</alloc>
    <alloc init="true">CreateWaitableTimer</alloc>
    <alloc init="true">OpenEvent</alloc>
    <alloc init="true">OpenMutex</alloc>
    <alloc init="true">OpenSemaphore</alloc>
    <alloc init="true">OpenWaitableTimer</alloc>
    <alloc init="true">OpenJobObject</alloc>
    <alloc init="true">OpenProcess</alloc>
    <alloc init="true">OpenThread</alloc>
    <alloc init="true">CreateMailslot</alloc>
    <dealloc>CloseHandle</dealloc>
  </resource>
  <resource>
    <alloc init="true">OpenSCManager</alloc>
    <alloc init="true">OpenService</alloc>
    <alloc init="true">CreateService</alloc>
    <dealloc>CloseServiceHandle</dealloc>
  </resource>
  <resource>
    <alloc init="true">LockServiceDatabase</alloc>
    <dealloc>UnlockServiceDatabase</dealloc>
  </resource>
  <resource>
    <alloc init="true">HeapCreate</alloc>
    <dealloc>HeapDestroy</dealloc>
  </resource>
  <resource>
    <alloc init="true">_wfopen</alloc>
    <alloc init="true">_tfopen</alloc>
    <dealloc>fclose</dealloc>
  </resource>
  <memory>
    <alloc>ExAllocatePool</alloc>
    <alloc>ExAllocatePoolWithQuota</alloc>
    <alloc>ExAllocatePoolWithQuotaTag</alloc>
    <alloc>ExAllocatePoolWithTag</alloc>
    <alloc>ExAllocatePoolWithTagPriority</alloc>
    <dealloc>ExFreePool</dealloc>
    <dealloc>ExFreePoolWithTag</dealloc>
  </memory>
  <memory>
    <alloc>HeapAlloc</alloc>
    <alloc>HeapReAlloc</alloc>
    <dealloc>HeapFree</dealloc>
  </memory>
  <memory>
    <alloc>IoAllocateErrorLogEntry</alloc>
    <dealloc>IoWriteErrorLogEntry</dealloc>
    <dealloc>IoFreeErrorLogEntry</dealloc>
  </memory>
  <memory>
    <alloc init="true">IoAllocateIrp</alloc>
    <dealloc>IoFreeIrp</dealloc>
    <dealloc>IofCallDriver</dealloc>
    <dealloc>IoCallDriver</dealloc>
  </memory>
  <memory>
    <alloc>IoAllocateMdl</alloc>
    <dealloc>IoFreeMdl</dealloc>
  </memory>
  <memory>
    <alloc>MmAllocateContiguousMemory</alloc>
    <dealloc>MmFreeContiguousMemory</dealloc>
  </memory>
  <memory>
    <alloc>MmAllocateContiguousMemorySpecifyCache</alloc>
    <alloc>MmAllocateContiguousMemorySpecifyCacheNode</alloc>
    <dealloc>MmFreeContiguousMemorySpecifyCache</dealloc>
  </memory>
  <memory>
    <alloc>IoAllocateWorkItem</alloc>
    <dealloc>IoFreeWorkItem</dealloc>
  </memory>
  <memory>
    <alloc>RtlAllocateHeap</alloc>
    <dealloc>RtlFreeHeap</dealloc>
  </memory>
  <memory>
    <alloc>ExAllocateFromPagedLookasideList</alloc>
    <dealloc>ExFreeToPagedLookasideList</dealloc>
  </memory>
  <memory>
    <alloc>ExAllocateFromNPagedLookasideList</alloc>
    <dealloc>ExFreeToNPagedLookasideList</dealloc>
  </memory>
  <memory>
    <alloc>AllocateHeap</alloc>
    <dealloc>FreeHeap</dealloc>
  </memory>
  <memory>
    <alloc>AllocateLsaHeap</alloc>
    <dealloc>FreeLsaHeap</dealloc>
  </memory>
  <memory>
    <alloc>AllocatePrivateHeap</alloc>
    <dealloc>FreePrivateHeap</dealloc>
  </memory>
  <memory>
    <alloc>VirtualAlloc</alloc>
    <dealloc>VirtualFree</dealloc>
  </memory>
  <memory>
    <alloc>VirtualAllocEx</alloc>
    <alloc>VirtualAllocExNuma</alloc>
    <dealloc>VirtualFreeEx</dealloc>
  </memory>
  <memory>
    <alloc>LocalAlloc</alloc>
    <dealloc>LocalFree</dealloc>
  </memory>
  <memory>
    <alloc>GlobalAlloc</alloc>
    <dealloc>GlobalFree</dealloc>
  </memory>
  <memory>
    <alloc init="true">MapViewOfFile</alloc>
    <alloc init="true">MapViewOfFileEx</alloc>
    <alloc init="true">MapViewOfFileExNuma</alloc>
    <alloc init="true">MapViewOfFileFromApp</alloc>
    <dealloc>UnmapViewOfFile</dealloc>
  </memory>
  <memory>
    <alloc init="true">RtlCreateHeap</alloc>
    <dealloc>RtlDestroyHeap</dealloc>
  </memory>
  <memory>
    <alloc init="true">wcsdup</alloc>
    <alloc init="true">_strdup</alloc>
    <alloc init="true">_wcsdup</alloc>
    <alloc init="true">_mbsdup</alloc>
    <alloc init="true">_tcsdup</alloc>
    <alloc init="true">_malloc_dbg</alloc>
    <alloc init="true">_aligned_malloc</alloc>
    <alloc init="true">_aligned_offset_malloc</alloc>
    <alloc init="true">_strdup_dbg</alloc>
    <alloc init="true">_wcsdup_dbg</alloc>
    <dealloc>free</dealloc>
  </memory>
  <function name="RtlCompareMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="RtlCopyBytes">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="RtlCopyMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="RtlEqualMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="RtlFillBytes">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <function name="RtlFillMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <function name="RtlMoveMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="RtlSecureZeroMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="RtlZeroBytes">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="RtlZeroMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="CopyMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="FillMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-bool/>
      <valid>0:</valid>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <function name="MoveMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="SecureZeroMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="ZeroMemory">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-bool/>
      <valid>0:</valid>
    </arg>
  </function>
  <function name="KeBugCheck">
    <noreturn>true</noreturn>
  </function>
  <function name="KeBugCheckEx">
    <noreturn>true</noreturn>
  </function>
  <function name="printf_s">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr secure="true"/>
    <arg nr="1">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="wprintf_s">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr secure="true"/>
    <arg nr="1">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="fprintf_s">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr secure="true"/>
    <arg nr="2">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="fwprintf_s">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr secure="true"/>
    <arg nr="2">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="_snprintf_s">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr secure="true"/>
    <arg nr="4">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="_snwprintf_s">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <formatstr secure="true"/>
    <arg nr="4">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="DbgPrint">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="DbgPrintEx">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="3">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="vDbgPrintEx">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="3">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="vDbgPrintExWithPrefix">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="4">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="scanf_s">
    <noreturn>false</noreturn>
    <formatstr scan="true" secure="true"/>
    <arg nr="1">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="wscanf_s">
    <noreturn>false</noreturn>
    <formatstr scan="true" secure="true"/>
    <arg nr="1">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="sscanf_s">
    <noreturn>false</noreturn>
    <formatstr scan="true" secure="true"/>
    <arg nr="2">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="fscanf_s">
    <noreturn>false</noreturn>
    <formatstr scan="true" secure="true"/>
    <arg nr="2">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="fwscanf_s">
    <noreturn>false</noreturn>
    <formatstr scan="true" secure="true"/>
    <arg nr="2">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <function name="swscanf_s">
    <noreturn>false</noreturn>
    <formatstr scan="true" secure="true"/>
    <arg nr="2">
      <formatstr/>
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <!-- BOOL WINAPI CloseHandle(_In_  HANDLE hObject); -->
  <function name="CloseHandle">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <function name="OpenFile">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
      <not-null/>
    </arg>
    <arg nr="2"/>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- BOOL WINAPI BuildCommDCB(
  _In_   LPCTSTR lpDef,
  _Out_  LPDCB lpDCB); -->
  <function name="BuildCommDCB">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2"/>
  </function>
  <!-- BOOL WINAPI BuildCommDCBAndTimeouts(
  _In_   LPCTSTR lpDef,
  _Out_  LPDCB lpDCB,
  _Out_  LPCOMMTIMEOUTS lpCommTimeouts); -->
  <function name="BuildCommDCBAndTimeouts">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2"/>
    <arg nr="3"/>
  </function>
  <!-- BOOL WINAPI WriteFile(
  _In_         HANDLE hFile,
  _In_         LPCVOID lpBuffer,
  _In_         DWORD nNumberOfBytesToWrite,
  _Out_opt_    LPDWORD lpNumberOfBytesWritten,
  _Inout_opt_  LPOVERLAPPED lpOverlapped); -->
  <function name="WriteFile">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4"/>
    <arg nr="5"/>
  </function>
  <!-- BOOL WINAPI ReadFile(
  _In_         HANDLE hFile,
  _Out_        LPVOID lpBuffer,
  _In_         DWORD nNumberOfBytesToRead,
  _Out_opt_    LPDWORD lpNumberOfBytesRead,
  _Inout_opt_  LPOVERLAPPED lpOverlapped); -->
  <function name="ReadFile">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4"/>
    <arg nr="5"/>
  </function>
  <!-- HANDLE WINAPI CreateFile(
  _In_      LPCTSTR lpFileName,
  _In_      DWORD dwDesiredAccess,
  _In_      DWORD dwShareMode,
  _In_opt_  LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  _In_      DWORD dwCreationDisposition,
  _In_      DWORD dwFlagsAndAttributes,
  _In_opt_  HANDLE hTemplateFile); -->
  <function name="CreateFile">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="5">
      <not-uninit/>
    </arg>
    <arg nr="6">
      <not-uninit/>
    </arg>
    <arg nr="7">
      <not-uninit/>
    </arg>
  </function>
  <!-- BOOL WINAPI SetCommTimeouts(
  _In_  HANDLE hFile,
  _In_  LPCOMMTIMEOUTS lpCommTimeouts); -->
  <function name="SetCommTimeouts">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- BOOL WINAPI SetCommState(
  _In_  HANDLE hFile,
  _In_  LPDCB lpDCB);-->
  <function name="SetCommState">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- char *strtok_s(char *strToken, const char *strDelimit, char **context); -->
  <!-- wchar_t *wcstok_s(wchar_t *strToken, const wchar_t *strDelimit, wchar_t**context); -->
  <function name="strtok_s,wcstok_s">
    <!-- strtok may modify the first argument, so using the return value is not mandatory -->
    <noreturn>false</noreturn>
    <pure/>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
    </arg>
  </function>
  <!-- char *_getcwd(char *buffer, int maxlen); -->
  <!-- wchar_t *_wgetcwd(wchar_t *buffer, int maxlen);-->
  <function name="_getcwd,_wgetcwd">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- HRESULT SHGetFolderPath(
  _In_  HWND   hwndOwner,
  _In_  int    nFolder,
  _In_  HANDLE hToken,
  _In_  DWORD  dwFlags,
  _Out_ LPTSTR pszPath);-->
  <function name="SHGetFolderPath,SHGetFolderPathA,SHGetFolderPathW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="5">
      <not-null/>
    </arg>
  </function>
  <!-- LONG WINAPI RegQueryValueEx(
  _In_        HKEY    hKey,
  _In_opt_    LPCTSTR lpValueName,
  _Reserved_  LPDWORD lpReserved,
  _Out_opt_   LPDWORD lpType,
  _Out_opt_   LPBYTE  lpData,
  _Inout_opt_ LPDWORD lpcbData);-->
  <function name="RegQueryValueEx,RegQueryValueExA,RegQueryValueExW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="6"/>
  </function>
  <!-- LONG WINAPI RegCloseKey(_In_ HKEY hKey );-->
  <function name="RegCloseKey">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int stricmp(const char *s1, const char *s2); -->
  <!-- int _stricmp(const char *s1, const char *s2); -->
  <!-- int wcsicmp(const wchar_t *s1, const wchar_t *s2); -->
  <!-- int _wcsicmp(const wchar_t *s1, const wchar_t *s2); -->
  <!-- int _mbsicmp(const unsigned char *string1, const unsigned char *string2); -->
  <function name="stricmp,_stricmp,wcsicmp,_wcsicmp,_mbsicmp">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <not-null/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <not-null/>
    </arg>
  </function>
  <!-- DWORD WINAPI GetFileAttributes(_In_ LPCTSTR lpFileName);-->
  <function name="GetFileAttributes,GetFileAttributesA,GetFileAttributesW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- LONG WINAPI RegOpenKeyEx(
  _In_     HKEY    hKey,
  _In_opt_ LPCTSTR lpSubKey,
  _In_     DWORD   ulOptions,
  _In_     REGSAM  samDesired,
  _Out_    PHKEY   phkResult); -->
  <function name="RegOpenKeyEx,RegOpenKeyExA,RegOpenKeyExW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
    <arg nr="4">
      <not-uninit/>
    </arg>
    <arg nr="5"/>
  </function>
  <!-- int __cdecl wsprintf(
  _Out_ LPTSTR  lpOut,
  _In_  LPCTSTR lpFmt,
  _In_          ...); -->
  <function name="wsprintf,wsprintfA,wsprintfW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <minsize type="strlen" arg="2"/>
    </arg>
    <formatstr/>
    <arg nr="2">
      <formatstr/>
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- LONG WINAPI RegEnumKeyEx(
  _In_        HKEY      hKey,
  _In_        DWORD     dwIndex,
  _Out_       LPTSTR    lpName,
  _Inout_     LPDWORD   lpcName,
  _Reserved_  LPDWORD   lpReserved,
  _Inout_     LPTSTR    lpClass,
  _Inout_opt_ LPDWORD   lpcClass,
  _Out_opt_   PFILETIME lpftLastWriteTime); -->
  <function name="RegEnumKeyEx,RegEnumKeyExA,RegEnumKeyExW">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="8"/>
  </function>
  <!-- 
HFONT CreateFont(
  _In_  int nHeight,
  _In_  int nWidth,
  _In_  int nEscapement,
  _In_  int nOrientation,
  _In_  int fnWeight,
  _In_  DWORD fdwItalic,
  _In_  DWORD fdwUnderline,
  _In_  DWORD fdwStrikeOut,
  _In_  DWORD fdwCharSet,
  _In_  DWORD fdwOutputPrecision,
  _In_  DWORD fdwClipPrecision,
  _In_  DWORD fdwQuality,
  _In_  DWORD fdwPitchAndFamily,
  _In_  LPCTSTR lpszFace
);
-->
  <function name="CreateFont">
    <noreturn>false</noreturn>
    <arg nr="any">
      <not-uninit/>
    </arg>
    <arg nr="14"/>
  </function>
  <podtype name="LARGE_INTEGER" sign="s" size="8"/>
  <podtype name="POINTER_SIGNED" sign="s"/>
  <podtype name="POINTER_UNSIGNED" sign="u"/>
  <podtype name="ULARGE_INTEGER" sign="u" size="8"/>
  <define name="INVALID_HANDLE_VALUE" value="0"/>
  <define name="afx_msg" value=""/>
  <define name="DEBUG_NEW" value="new"/>
  <define name="DECLARE_MESSAGE_MAP()" value=""/>
  <define name="DECLARE_DYNAMIC(x)" value=""/>
  <define name="DECLARE_DYNAMIC_CLASS(x)" value=""/>
  <define name="DECLARE_DYNCREATE(x)" value=""/>
  <function name="CaptureStackBackTrace">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="4"/>
  </function>
  <!-- int _vsnprintf(char *buffer, size_t count, const char *format, va_list argptr);
       int _vsnwprintf(wchar_t *buffer, size_t count, const wchar_t *format, va_list argptr);-->
  <function name="_vsnprintf,_vsnwprintf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <formatstr/>
    <arg nr="3">
      <formatstr/>
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="4"/>
  </function>
  <!-- char *_strdup(const char *strSource);
    wchar_t *_wcsdup(const wchar_t *strSource);
    unsigned char *_mbsdup(const unsigned char *strSource);-->
  <function name="_strdup,_wcsdup,_mbsdup,_tcsdup,_strdup_dbg,_wcsdup_dbg">
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int _mbscmp(const unsigned char *string1, const unsigned char *string2); -->
  <function name="_mbscmp,_tcscmp">
    <use-retval/>
    <pure/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
  </function>
  <!-- int _snprintf(char *s, size_t n, const char *format, ...); 
       int _snwprintf(wchar_t *buffer, size_t count, const wchar_t *format, ...);-->
  <function name="_snprintf,_snwprintf,_sntprintf">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <minsize type="argvalue" arg="2"/>
    </arg>
    <arg nr="2">
      <not-uninit/>
      <valid>0:</valid>
    </arg>
    <formatstr/>
    <arg nr="3">
      <formatstr/>
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- errno_t strcpy_s(char *strDestination, size_t numberOfElements, const char *strSource);
       errno_t wcscpy_s(wchar_t *strDestination, size_t numberOfElements, const wchar_t *strSource);
       errno_t _mbscpy_s(unsigned char *strDestination, size_t numberOfElements, const unsigned char *strSource); -->
  <function name="strcpy_s,wcscpy_s,_mbscpy_s,_tcscpy_s">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- int _CrtSetDbgFlag(int newFlag); -->
  <function name="_CrtSetDbgFlag">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
    </arg>
  </function>
  <!-- int _stat(const char *path, struct _stat *buffer);
       int _stat32(const char *path, struct __stat32 *buffer);
       int _stat64(const char *path, struct __stat64 *buffer);
       int _stati64(const char *path, struct _stati64 *buffer);
       int _stat32i64(const char *path, struct _stat32i64 *buffer);
       int _stat64i32(const char *path, struct _stat64i32 *buffer);
       int _wstat(const wchar_t *path, struct _stat *buffer);
       int _wstat32(const wchar_t *path, struct __stat32 *buffer);
       int _wstat64(const wchar_t *path, struct __stat64 *buffer);
       int _wstati64(const wchar_t *path, struct _stati64 *buffer);
       int _wstat32i64(const wchar_t *path, struct _stat32i64 *buffer);
       int _wstat64i32(const wchar_t *path, struct _stat64i32 *buffer); -->
  <function name="_stat,_stat32,_stat64,_stati64,_stat32i64,_stat64i32,_wstat,_wstat32,_wstat64,_wstati64,_wstat32i64,_wstat64i32">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-uninit/>
      <not-null/>
    </arg>
    <arg nr="2">
      <not-null/>
    </arg>
  </function>
  <!-- int _fseeki64(FILE *stream, __int64 offset, int origin); -->
  <function name="_fseeki64">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
  <!-- __int64 _ftelli64(FILE *stream); -->
  <function name="_ftelli64">
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- FILE *_wfopen(const wchar_t *filename, const wchar_t *mode); -->
  <function name="_wfopen,_tfopen">
    <use-retval/>
    <noreturn>false</noreturn>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
      <strz/>
    </arg>
    <arg nr="2">
      <not-null/>
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t strnlen_s(const char *str, size_t numberOfElements);
       size_t wcsnlen_s(const wchar_t *str, size_t numberOfElements);
       size_t _mbsnlen(const unsigned char *str, size_t numberOfElements);
       size_t _mbstrnlen(const char *str, size_t numberOfElements);-->
  <function name="strnlen_s,wcsnlen_s,_mbsnlen,_mbstrnlen">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
  </function>
  <!-- size_t _mbsnlen_l(const unsigned char *str, size_t numberOfElements, _locale_t locale);
       size_t _mbstrnlen_l(const char *str, size_t numberOfElements, _locale_t locale);-->
  <function name="_mbsnlen_l,_mbstrnlen_l">
    <use-retval/>
    <noreturn>false</noreturn>
    <leak-ignore/>
    <arg nr="1">
      <not-null/>
      <not-uninit/>
    </arg>
    <arg nr="2">
      <not-uninit/>
    </arg>
    <arg nr="3">
      <not-uninit/>
    </arg>
  </function>
</def>
