sigmd 0.1.0

Windows API signature metadata
Documentation
#include <windows.h>

WINBASEAPI
BOOL
WINAPI
CreateProcessInternalA (
    _In_ HANDLE hUserToken,
    _In_opt_ LPCSTR lpApplicationName,
    _Inout_opt_ LPSTR lpCommandLine,
    _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes,
    _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,
    _In_ BOOL bInheritHandles,
    _In_ DWORD dwCreationFlags,
    _In_opt_ LPVOID lpEnvironment,
    _In_opt_ LPCSTR lpCurrentDirectory,
    _In_ LPSTARTUPINFOA lpStartupInfo,
    _Out_ LPPROCESS_INFORMATION lpProcessInformation
    _Out_ PHANDLE hNewToken
    );

WINBASEAPI
BOOL
WINAPI
CreateProcessInternalW (
    _In_ HANDLE hUserToken,
    _In_opt_ LPCWSTR lpApplicationName,
    _Inout_opt_ LPWSTR lpCommandLine,
    _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes,
    _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,
    _In_ BOOL bInheritHandles,
    _In_ DWORD dwCreationFlags,
    _In_opt_ LPVOID lpEnvironment,
    _In_opt_ LPCWSTR lpCurrentDirectory,
    _In_ LPSTARTUPINFOW lpStartupInfo,
    _Out_ LPPROCESS_INFORMATION lpProcessInformation
    _Out_ PHANDLE hNewToken
    );

//
// Same as apinameA, i.e. lstrlen == lstrlenA, ...
//

#undef lstrcat
WINBASEAPI
LPSTR
WINAPI
lstrcat (
    _Inout_updates_z_(_String_length_(lpString1) + _String_length_(lpString2) + 1) LPSTR lpString1, // deprecated: annotation is as good as it gets
    _In_    LPCSTR lpString2
    );

#undef lstrcmp
WINBASEAPI
int
WINAPI
lstrcmp (
    _In_ LPCSTR lpString1,
    _In_ LPCSTR lpString2
    );

#undef lstrcmpi
WINBASEAPI
int
WINAPI
lstrcmpi (
    _In_ LPCSTR lpString1,
    _In_ LPCSTR lpString2
    );

#undef lstrcpy
WINBASEAPI
LPSTR
WINAPI
lstrcpy (
    _Out_writes_(_String_length_(lpString2) + 1) LPSTR lpString1, // deprecated: annotation is as good as it gets
    _In_  LPCSTR lpString2
    );

#undef lstrcpyn
WINBASEAPI
_Check_return_
_Success_(return != NULL)
_Post_satisfies_(return == lpString1)
_Ret_maybenull_
LPSTR
WINAPI
lstrcpyn (
    _Out_writes_(iMaxLength) LPSTR lpString1,
    _In_ LPCSTR lpString2,
    _In_ int iMaxLength
    );

#undef lstrlen
WINBASEAPI
int
WINAPI
lstrlen (
    _In_ LPCSTR lpString
    );

//
// ua/uaw
//

LPUWSTR
WINAPI
uaw_CharUpperW (
    _Inout_ LPUWSTR String
    );

int
APIENTRY
uaw_lstrcmpW (
    _In_ PCUWSTR String1,
    _In_ PCUWSTR String2
    );

int
APIENTRY
uaw_lstrcmpiW (
    _In_ PCUWSTR String1,
    _In_ PCUWSTR String2
    );

int
WINAPI
uaw_lstrlenW (
    _In_ LPCUWSTR String
    );

PUWSTR
__cdecl
uaw_wcschr (
    _In_ PCUWSTR String,
    _In_ WCHAR   Character
    );

PUWSTR
__cdecl
uaw_wcscpy (
    _Out_writes_(_Inexpressible_("Sufficient length")) PUWSTR  Destination,
    _In_  PCUWSTR Source
    );

int
__cdecl
uaw_wcsicmp (
    _In_ PCUWSTR String1,
    _In_ PCUWSTR String2
    );

size_t
__cdecl
uaw_wcslen (
    _In_ PCUWSTR String
    );

PUWSTR
__cdecl
uaw_wcsrchr (
    _In_ PCUWSTR String,
    _In_ WCHAR   Character
    );