_lstrcmpi

include vmm.inc

VMMCall _lstrcmpi, <OFFSET32 pString1, OFFSET32 pString2>
cmp     eax, 0
je      strings_equal
jg      string1_greater
jl      string2_greater
 

Compares two strings by checking the first characters against each other, the second characters against each other, and so on, until it finds an inequality or reaches the ends of the strings. The service returns a value based on the result of the last comparison. For example, _lstrcmpi determines that "abcz" is greater than "abcdefg" and returns a positive number. Uses the C calling convention. Uses EAX, ECX, EDX, and Flags.

pString1, pString2
Addresses of the strings to compare.

With a double-byte character set (DBCS) version of Windows, this service can compare two DBCS strings.

Unlike some other string functions, this service resides in pageable memory. It must only be called when pageable code can be executed.

Until the INIT_COMPLETE phase of VxD initialization, this service will not correctly convert case for non-US English languages. A VxD should delay all calls to this function until the INIT_COMPLETE phase of VxD initialization.