-MMRESULT WINAPI joyGetDevCapsA(UINT_PTR,LPJOYCAPSA,UINT);
-MMRESULT WINAPI joyGetDevCapsW(UINT_PTR,LPJOYCAPSW,UINT);
-MMRESULT WINAPI joyGetPos(UINT,LPJOYINFO);
-MMRESULT WINAPI joyGetPosEx(UINT,LPJOYINFOEX);
-MMRESULT WINAPI joyGetThreshold(UINT,LPUINT);
-MMRESULT WINAPI joyReleaseCapture(UINT);
-MMRESULT WINAPI joySetCapture(HWND,UINT,UINT,BOOL);
-MMRESULT WINAPI joySetThreshold(UINT,UINT);
-FOURCC WINAPI mmioStringToFOURCCA(LPCSTR,UINT);
-FOURCC WINAPI mmioStringToFOURCCW(LPCWSTR,UINT);
-LPMMIOPROC WINAPI mmioInstallIOProcA(FOURCC,LPMMIOPROC,DWORD);
-LPMMIOPROC WINAPI mmioInstallIOProcW(FOURCC,LPMMIOPROC,DWORD);
-HMMIO WINAPI mmioOpenA(LPSTR,LPMMIOINFO,DWORD);
-HMMIO WINAPI mmioOpenW(LPWSTR,LPMMIOINFO,DWORD);
-MMRESULT WINAPI mmioRenameA(LPCSTR,LPCSTR,LPCMMIOINFO,DWORD);
-MMRESULT WINAPI mmioRenameW(LPCWSTR,LPCWSTR,LPCMMIOINFO,DWORD);
-MMRESULT WINAPI mmioClose(HMMIO,UINT);
-LONG WINAPI mmioRead(HMMIO,HPSTR,LONG);
-LONG WINAPI mmioWrite(HMMIO,LPCSTR,LONG);
-LONG WINAPI mmioSeek(HMMIO,LONG,int);
-MMRESULT WINAPI mmioGetInfo(HMMIO,LPMMIOINFO,UINT);
-MMRESULT WINAPI mmioSetInfo(HMMIO,LPCMMIOINFO,UINT);
-MMRESULT WINAPI mmioSetBuffer(HMMIO,LPSTR,LONG,UINT);
-MMRESULT WINAPI mmioFlush(HMMIO,UINT);
-MMRESULT WINAPI mmioAdvance(HMMIO,LPMMIOINFO,UINT);
-LRESULT WINAPI mmioSendMessage(HMMIO,UINT,LPARAM,LPARAM);
-MMRESULT WINAPI mmioDescend(HMMIO,LPMMCKINFO,const MMCKINFO*,UINT);
-MMRESULT WINAPI mmioAscend(HMMIO,LPMMCKINFO,UINT);
-MMRESULT WINAPI mmioCreateChunk(HMMIO,LPMMCKINFO,UINT);
-MCIERROR WINAPI mciSendCommandA(MCIDEVICEID,UINT,DWORD_PTR,DWORD_PTR);
-MCIERROR WINAPI mciSendCommandW(MCIDEVICEID,UINT,DWORD_PTR,DWORD_PTR);
-MCIERROR WINAPI mciSendStringA(LPCSTR,LPSTR,UINT,HWND);
-MCIERROR WINAPI mciSendStringW(LPCWSTR,LPWSTR,UINT,HWND);
-MCIDEVICEID WINAPI mciGetDeviceIDA(LPCSTR);
-MCIDEVICEID WINAPI mciGetDeviceIDW(LPCWSTR);
-MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDA(DWORD,LPCSTR);
-MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDW(DWORD,LPCWSTR);
-BOOL WINAPI mciGetErrorStringA(MCIERROR,LPSTR,UINT);
-BOOL WINAPI mciGetErrorStringW(MCIERROR,LPWSTR,UINT);
-BOOL WINAPI mciSetYieldProc(MCIDEVICEID,YIELDPROC,DWORD);
-HTASK WINAPI mciGetCreatorTask(MCIDEVICEID);
-YIELDPROC WINAPI mciGetYieldProc(MCIDEVICEID,PDWORD);
+
+MMRESULT
+WINAPI
+joyGetDevCapsA(
+ _In_ UINT_PTR uJoyID,
+ _Out_writes_bytes_(cbjc) LPJOYCAPSA pjc,
+ _In_ UINT cbjc);
+
+MMRESULT
+WINAPI
+joyGetDevCapsW(
+ _In_ UINT_PTR uJoyID,
+ _Out_writes_bytes_(cbjc) LPJOYCAPSW pjc,
+ _In_ UINT cbjc);
+
+MMRESULT WINAPI joyGetPos(_In_ UINT, _Out_ LPJOYINFO);
+MMRESULT WINAPI joyGetPosEx(_In_ UINT, _Out_ LPJOYINFOEX);
+MMRESULT WINAPI joyGetThreshold(_In_ UINT, _Out_ LPUINT);
+MMRESULT WINAPI joyReleaseCapture(_In_ UINT);
+MMRESULT WINAPI joySetCapture(_In_ HWND, _In_ UINT, _In_ UINT, _In_ BOOL);
+MMRESULT WINAPI joySetThreshold(_In_ UINT, _In_ UINT);
+FOURCC WINAPI mmioStringToFOURCCA(LPCSTR, _In_ UINT);
+FOURCC WINAPI mmioStringToFOURCCW(LPCWSTR, _In_ UINT);
+
+LPMMIOPROC
+WINAPI
+mmioInstallIOProcA(
+ _In_ FOURCC,
+ _In_opt_ LPMMIOPROC,
+ _In_ DWORD);
+
+LPMMIOPROC
+WINAPI
+mmioInstallIOProcW(
+ _In_ FOURCC,
+ _In_opt_ LPMMIOPROC,
+ _In_ DWORD);
+
+HMMIO
+WINAPI
+mmioOpenA(
+ _Inout_updates_bytes_opt_(128) LPSTR pszFileName,
+ _Inout_opt_ LPMMIOINFO pmmioinfo,
+ _In_ DWORD fdwOpen);
+
+HMMIO
+WINAPI
+mmioOpenW(
+ _Inout_updates_bytes_opt_(128) LPWSTR pszFileName,
+ _Inout_opt_ LPMMIOINFO pmmioinfo,
+ _In_ DWORD fdwOpen);
+
+MMRESULT
+WINAPI
+mmioRenameA(
+ _In_ LPCSTR,
+ _In_ LPCSTR,
+ _In_opt_ LPCMMIOINFO,
+ _In_ DWORD);
+
+MMRESULT
+WINAPI
+mmioRenameW(
+ _In_ LPCWSTR,
+ _In_ LPCWSTR,
+ _In_opt_ LPCMMIOINFO,
+ _In_ DWORD);
+
+MMRESULT WINAPI mmioClose(_In_ HMMIO, _In_ UINT);
+
+LONG
+WINAPI
+mmioRead(
+ _In_ HMMIO hmmio,
+ _Out_writes_bytes_(cch) HPSTR pch,
+ _In_ LONG cch);
+
+LONG
+WINAPI
+mmioWrite(
+ _In_ HMMIO hmmio,
+ _In_reads_bytes_(cch) const char _huge * pch,
+ _In_ LONG cch);
+
+LONG WINAPI mmioSeek(_In_ HMMIO, _In_ LONG, _In_ int);
+MMRESULT WINAPI mmioGetInfo(_In_ HMMIO, _Out_ LPMMIOINFO, _In_ UINT);
+MMRESULT WINAPI mmioSetInfo(_In_ HMMIO, _In_ LPCMMIOINFO, _In_ UINT);
+
+MMRESULT
+WINAPI
+mmioSetBuffer(
+ _In_ HMMIO hmmio,
+ _Out_writes_opt_(cchBuffer) LPSTR pchBuffer,
+ _In_ LONG cchBuffer,
+ _In_ UINT fuBuffer);
+
+MMRESULT WINAPI mmioFlush(_In_ HMMIO, _In_ UINT);
+MMRESULT WINAPI mmioAdvance(_In_ HMMIO, _In_opt_ LPMMIOINFO, _In_ UINT);
+
+LRESULT
+WINAPI
+mmioSendMessage(
+ _In_ HMMIO,
+ _In_ UINT,
+ _In_opt_ LPARAM,
+ _In_opt_ LPARAM);
+
+MMRESULT
+WINAPI
+mmioDescend(
+ _In_ HMMIO,
+ _Inout_ LPMMCKINFO,
+ _In_opt_ const MMCKINFO*,
+ _In_ UINT);
+
+MMRESULT WINAPI mmioAscend(_In_ HMMIO, _In_ LPMMCKINFO, _In_ UINT);
+MMRESULT WINAPI mmioCreateChunk(_In_ HMMIO, _In_ LPMMCKINFO, _In_ UINT);
+
+MCIERROR
+WINAPI
+mciSendCommandA(
+ _In_ MCIDEVICEID,
+ _In_ UINT,
+ _In_opt_ DWORD_PTR,
+ _In_opt_ DWORD_PTR);
+
+MCIERROR
+WINAPI
+mciSendCommandW(
+ _In_ MCIDEVICEID,
+ _In_ UINT,
+ _In_opt_ DWORD_PTR,
+ _In_opt_ DWORD_PTR);
+
+MCIERROR
+WINAPI
+mciSendStringA(
+ _In_ LPCSTR lpstrCommand,
+ _Out_writes_opt_(uReturnLength) LPSTR lpstrReturnString,
+ _In_ UINT uReturnLength,
+ _In_opt_ HWND hwndCallback);
+
+MCIERROR
+WINAPI
+mciSendStringW(
+ _In_ LPCWSTR lpstrCommand,
+ _Out_writes_opt_(uReturnLength) LPWSTR lpstrReturnString,
+ _In_ UINT uReturnLength,
+ _In_opt_ HWND hwndCallback);
+
+MCIDEVICEID WINAPI mciGetDeviceIDA(_In_ LPCSTR);
+MCIDEVICEID WINAPI mciGetDeviceIDW(_In_ LPCWSTR);
+MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDA(_In_ DWORD, _In_ LPCSTR);
+MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDW(_In_ DWORD, _In_ LPCWSTR);
+
+BOOL
+WINAPI
+mciGetErrorStringA(
+ _In_ MCIERROR mcierr,
+ _Out_writes_(cchText) LPSTR pszText,
+ _In_ UINT cchText);
+
+BOOL
+WINAPI
+mciGetErrorStringW(
+ _In_ MCIERROR mcierr,
+ _Out_writes_(cchText) LPWSTR pszText,
+ _In_ UINT cchText);
+
+BOOL WINAPI mciSetYieldProc(_In_ MCIDEVICEID, _In_opt_ YIELDPROC, _In_ DWORD);
+HTASK WINAPI mciGetCreatorTask(_In_ MCIDEVICEID);
+YIELDPROC WINAPI mciGetYieldProc(_In_ MCIDEVICEID, _In_ PDWORD);