+ /* Specifying the GUID results in that GUID being the subject GUID */
+ fileInfo.pgKnownSubject = &bogusGuid;
+ ret = funcs->pfnObjectTrust(&data);
+ ok(ret == S_FALSE, "Expected S_FALSE, got %08x\n", ret);
+ ok(data.padwTrustStepErrors[TRUSTERROR_STEP_FINAL_OBJPROV] ==
+ TRUST_E_NOSIGNATURE ||
+ data.padwTrustStepErrors[TRUSTERROR_STEP_FINAL_OBJPROV] ==
+ TRUST_E_SUBJECT_FORM_UNKNOWN ||
+ data.padwTrustStepErrors[TRUSTERROR_STEP_FINAL_OBJPROV] ==
+ TRUST_E_PROVIDER_UNKNOWN,
+ "Expected TRUST_E_NOSIGNATURE or TRUST_E_SUBJECT_FORM_UNKNOWN or TRUST_E_PROVIDER_UNKNOWN, got %08x\n",
+ data.padwTrustStepErrors[TRUSTERROR_STEP_FINAL_OBJPROV]);
+ if (data.padwTrustStepErrors[TRUSTERROR_STEP_FINAL_OBJPROV] ==
+ TRUST_E_NOSIGNATURE)
+ {
+ ok(!memcmp(&provDataSIP.gSubject, &bogusGuid, sizeof(bogusGuid)),
+ "unexpected subject GUID\n");
+ }
+ /* Specifying a bogus GUID pointer crashes */
+ if (0)
+ {
+ fileInfo.pgKnownSubject = (GUID *)0xdeadbeef;
+ ret = funcs->pfnObjectTrust(&data);
+ }