781{
785
786 if (!cbEncoded)
787 {
790 }
793 {
794 static const WCHAR numFmt[] = {
'%',
'd',0 };
795 DWORD charsNeeded = 1;
797 DWORD headingSepLen, sepLen;
798 WCHAR policyNum[11], policyQualifierNum[11];
799 LPWSTR certPolicy, policyId, policyQualifierInfo, policyQualifierId;
801 DWORD certPolicyLen, policyIdLen, policyQualifierInfoLen;
802 DWORD policyQualifierIdLen, cpsLen, userNoticeLen, qualifierLen;
805
809 0);
813 (
LPWSTR)&policyQualifierId, 0);
820 {
823 }
824 else
825 {
828 }
830 headingSepLen =
lstrlenW(headingSep);
831
833 {
837
838 charsNeeded += 1;
839 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
843 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
844 {
847 }
848 charsNeeded += 1;
849 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
851 charsNeeded += certPolicyLen;
852 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
853 {
855 str += certPolicyLen;
856 }
857 charsNeeded += headingSepLen;
858 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
859 {
861 str += headingSepLen;
862 }
864 {
866 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
867 {
870 }
871 }
872 charsNeeded += policyIdLen;
873 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
874 {
877 }
879 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
880 {
884 }
885 charsNeeded += sepLen;
886 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
887 {
890 }
891 for (
j = 0;
j <
policy->cPolicyQualifier;
j++)
892 {
896
898 {
900 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
901 {
904 }
905 }
906 charsNeeded += 1;
907 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
910 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
911 {
914 }
915 charsNeeded += 1;
916 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
918 swprintf(policyQualifierNum, numFmt,
j + 1);
919 charsNeeded +=
lstrlenW(policyQualifierNum);
920 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
921 {
924 }
925 charsNeeded += 1;
926 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
928 charsNeeded += policyQualifierInfoLen;
929 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
930 {
932 policyQualifierInfoLen *
sizeof(
WCHAR));
933 str += policyQualifierInfoLen;
934 }
935 charsNeeded += headingSepLen;
936 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
937 {
939 str += headingSepLen;
940 }
942 {
944 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
945 {
950 }
951 }
952 charsNeeded += policyQualifierIdLen;
953 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
954 {
956 policyQualifierIdLen *
sizeof(
WCHAR));
957 str += policyQualifierIdLen;
958 }
961 {
962 charsNeeded += cpsLen;
963 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
964 {
967 }
968 }
971 {
972 charsNeeded += userNoticeLen;
973 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
974 {
976 str += userNoticeLen;
977 }
978 }
979 else
980 {
982 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
983 {
987 }
988 }
989 charsNeeded += sepLen;
990 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
991 {
994 }
996 {
998 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
999 {
1004 }
1005 }
1006 charsNeeded += qualifierLen;
1007 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
1008 {
1010 str += qualifierLen;
1011 }
1012 charsNeeded += headingSepLen;
1013 if (
str && *pcbFormat >= charsNeeded *
sizeof(
WCHAR))
1014 {
1016 str += headingSepLen;
1017 }
1018
1019
1020
1021
1024 {
1025 if (!
str || *pcbFormat < charsNeeded *
sizeof(
WCHAR))
1026 {
1027
1032 charsNeeded +=
size - 1;
1033 }
1034 else
1035 {
1036 sizeRemaining = *pcbFormat /
sizeof(
WCHAR);
1037 sizeRemaining -=
str - (
LPWSTR)pbFormat;
1042 {
1043 charsNeeded += sizeRemaining - 1;
1044 str += sizeRemaining - 1;
1045 }
1046 }
1047 }
1050 {
1051 if (!
str || *pcbFormat < charsNeeded *
sizeof(
WCHAR))
1052 {
1053
1058 charsNeeded +=
size - 1;
1059 }
1060 else
1061 {
1062 sizeRemaining = *pcbFormat /
sizeof(
WCHAR);
1063 sizeRemaining -=
str - (
LPWSTR)pbFormat;
1068 {
1069 charsNeeded += sizeRemaining - 1;
1070 str += sizeRemaining - 1;
1071 }
1072 }
1073 }
1074 else
1075 {
1076 if (!
str || *pcbFormat < charsNeeded *
sizeof(
WCHAR))
1077 {
1078
1083 charsNeeded +=
size - 1;
1084 }
1085 else
1086 {
1087 sizeRemaining = *pcbFormat /
sizeof(
WCHAR);
1088 sizeRemaining -=
str - (
LPWSTR)pbFormat;
1093 {
1094 charsNeeded += sizeRemaining - 1;
1095 str += sizeRemaining - 1;
1096 }
1097 }
1098 }
1099 }
1100 }
1103 {
1104 if (!pbFormat)
1105 *pcbFormat = charsNeeded *
sizeof(
WCHAR);
1106 else if (*pcbFormat < charsNeeded *
sizeof(
WCHAR))
1107 {
1108 *pcbFormat = charsNeeded *
sizeof(
WCHAR);
1111 }
1112 else
1113 *pcbFormat = charsNeeded *
sizeof(
WCHAR);
1114 }
1115 }
1117}
int strcmp(const char *String1, const char *String2)
#define IDS_POLICY_QUALIFIER_INFO
#define IDS_POLICY_QUALIFIER_ID
static BOOL CRYPT_FormatCPS(DWORD dwCertEncodingType, DWORD dwFormatStrType, const BYTE *pbEncoded, DWORD cbEncoded, WCHAR *str, DWORD *pcchStr)
static BOOL CRYPT_FormatUserNotice(DWORD dwCertEncodingType, DWORD dwFormatStrType, const BYTE *pbEncoded, DWORD cbEncoded, WCHAR *str, DWORD *pcchStr)
static BOOL CRYPT_FormatHexString(const BYTE *pbEncoded, DWORD cbEncoded, WCHAR *str, DWORD *pcchStr)
WDF_INTERRUPT_POLICY policy
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
static APTTYPEQUALIFIER * qualifier
CERT_POLICY_INFO * rgPolicyInfo
CRYPT_OBJID_BLOB Qualifier
LPSTR pszPolicyQualifierId
#define szOID_PKIX_POLICY_QUALIFIER_CPS
#define X509_CERT_POLICIES
#define szOID_PKIX_POLICY_QUALIFIER_USERNOTICE