Русский   Home

Types of input parameters and return values

m — signed 64-bit integer — INT64, LONGLONG, ...
q — unsigned 64-bit integer — UINT64, ULONGLONG, ...
l — signed 32-bit integer — LONG, INT, BOOL, ...
u — unsigned 32-bit integer — ULONG, UINT, DWORD, ...
h — handle — HANDLE, HWND, HMODULE, HINSTANCE, HICON, ... — 32-bit (x86) or 64-bit (x64) integer.
p — pointer; for numbers it is the same as u (x86) or q (x64) but can also be used to pass an object (IDispatch *) or a string.
n — signed 16-bit integer — SHORT
t — unsigned 16-bit integer — USHORT, WORD, WCHAR, OLECHAR, ...
c — signed 8-bit integer — CHAR
b — unsigned 8-bit integer — UCHAR, BYTE, ...
f — single-precision floating-point number (32 bits) — FLOAT
d — double-precision floating-point number (64 bits) — DOUBLE
w — Unicode string — BSTR, LPWSTR, LPOLESTR, OLECHAR *, WCHAR *, ...
s — ANSI/Windows string (default codepage) — LPSTR, LPCSTR, CHAR *, ...
z — OEM/DOS string (default codepage) — LPSTR, LPCSTR, CHAR *, ...
v — pointer to a VARIANT structure.

Remarks

Output parameters

M — pointer to the specified number (its address in memory) — LONGLONG *, PLONGLONG, ...
Q — same as above — ULONGLONG *, PULONGLONG, ...
L — same as above — LONG *, LPLONG, ...
H — same as above — HANDLE *, PHANDLE, LPHANDLE, ...
U — same as above — ULONG *, LPDWORD, ...
P — same as above
N — same as above — SHORT *
T — same as above — USHORT *, LPWORD, WCHAR *, OLECHAR *, ...
C — same as above — CHAR *, ...
B — same as above — UCHAR *, LPBYTE, ...
F — same as above — FLOAT *, PFLOAT
D — same as above — DOUBLE *, PDOUBLE
W — output Unicode string
S — output ANSI string
Z — output OEM string

Remarks