Parameters

Long: 'L' Integer: 'I' Pointer: 'P' Void: 'V' String: 'S' Callback: 'K' # win32-api only

Windows Data Types

BOOL => 'I' (or 'B', win32-api only) DWORD => 'L' HANDLE => 'L' LPDWORD => 'P' (or 'L') LPTSTR => 'P' LPCTSTR => 'S' UINT => 'L' VOID => 'V' WORD => 'I' LPVOID => 'L' (or 'P') CALLBACK => 'K'

C Data Types

void => 'V' void* => 'P' char* => 'P' const char* => 'L' int => 'I' long => 'L' struct => 'P' struct* => 'P'

Notes

In practice most LPVOID types should be designated as 'L' because this usually means the function is looking for an address. Check the documentation for details.

If using the windows-api library, you can use 'B' instead of 'I' for the return type for functions that return a BOOL.