Something
public text v1 · immutable HANDLE hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDFIRST, 0, 0);
char protocol[256];
char service[512];
while (hContact != NULL)
{
GetContactProtocol(hContact, protocol, sizeof(protocol));
sprintf(service, "%s%s", protocol, PSS_GETINFO);
CallContactService(hContact, service, 0, 0);
hContact = (HANDLE) CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM) hContact, 0);
}