Marek Chmiel kcmark@gmail.com writes:
- while(GetLastError() != ERROR_NO_MORE_ITEMS)
- {
SetLastError(0xdeadbeef);dataLen = sizeof(dataBuffer);result = CryptGetProvParam(hProv, PP_ENUMALGS_EX, dataBuffer, &dataLen, flag);ok(result || (!result && GetLastError() == ERROR_NO_MORE_ITEMS),"Failed to get parameter, got %x\n", GetLastError());pointer = dataBuffer;algid = *(ALG_ID *)pointer; pointer += sizeof(ALG_ID);defaultLen = *(DWORD *)pointer; pointer += dwIncrement;
It doesn't make sense to test last error before the first call, or to test the buffer contents on failure.