2076 lines
66 KiB
C++
2076 lines
66 KiB
C++
|
//+--------------------------------------------------------------------------
|
||
|
//
|
||
|
// Microsoft Windows
|
||
|
// Copyright (C) Microsoft Corporation, 1996 - 1999
|
||
|
//
|
||
|
// File: dbtable.cpp
|
||
|
//
|
||
|
// Contents: Cert Server Database interface implementation
|
||
|
//
|
||
|
//---------------------------------------------------------------------------
|
||
|
|
||
|
#include <pch.cpp>
|
||
|
|
||
|
#pragma hdrstop
|
||
|
|
||
|
#include "csprop.h"
|
||
|
|
||
|
|
||
|
// To Add a column to one of these tables:
|
||
|
// 1) Add a wszPROP<COLNAME> #define to ..\include\csprop.h and run mkcsinc.bat
|
||
|
// 2) Add a IDS_COLUMN_<COLNAME> #define to ..\certcli\resource.h and add the
|
||
|
// display name to ..\certcli\certcli.rc. Add an entry to g_aColTable in
|
||
|
// ..\certcli\column.cpp that maps wszPROP<COLNAME> to IDS_COLUMN_<COLNAME>.
|
||
|
// 3) Add a DT?_<COLNAME> to the appropriate list of #defines in dbtable.h.
|
||
|
// Renumber subsequent #defines if inserting into the table.
|
||
|
// Change DT?_MAX.
|
||
|
// Add a #define sz<COLNAME> "$ColName" ansi internal column name.
|
||
|
// If the column is to be indexed, add a #define sz<TABLE>_<COLNAME>
|
||
|
// "$<Table><ColName>Index"
|
||
|
// The internal names of text columns and their indexes must begin with '$'.
|
||
|
// 4) Find a similar column type in the same table array (g_adt<Table>) in
|
||
|
// dbtable.cpp, and copy the entry. If inserting, fix subsequent
|
||
|
// #if (DT?_<xxx> != CONSTANT) expressions to match the dbtable.h changes.
|
||
|
// Fix the #if (DT?_MAX != CONSTANT) expression.
|
||
|
// For the new g_adt<Table> entry, use NULL for pszIndexName if unindexed.
|
||
|
//
|
||
|
// Running the new certdb.dll on a machine will automatically create the new
|
||
|
// column(s) and indexes, and leave them empty.
|
||
|
//
|
||
|
// If DBTF_COLUMNRENAMED is set, the old column name is appended to
|
||
|
// pszFieldName. When starting the database, if the old column exists, the
|
||
|
// old column data is copied to the new column FOR EVERY ROW. Upon successful
|
||
|
// completion, the old column is deleted.
|
||
|
//
|
||
|
// Special case processing exists to convert ansi text column data to Unicode.
|
||
|
// Special case processing exists for a few missing columns: Key Length is
|
||
|
// computed, for example.
|
||
|
//
|
||
|
// If DBTF_INDEXRENAMED is set, the old index name is appended to pszIndexName.
|
||
|
// When starting the database, if the old index exists, it is deleted.
|
||
|
|
||
|
|
||
|
//---------------------------------------------------------------------------
|
||
|
//
|
||
|
// Requests Table:
|
||
|
//
|
||
|
//---------------------------------------------------------------------------
|
||
|
|
||
|
DBTABLE g_adtRequests[] =
|
||
|
{
|
||
|
#if (DTR_REQUESTID != 0)
|
||
|
#error -- bad DTR_REQUESTID index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPREQUESTREQUESTID, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_INDEXPRIMARY, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szREQUESTID, // pszFieldName
|
||
|
szREQUEST_REQUESTIDINDEX, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed | JET_bitColumnAutoincrement, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_REQUESTRAWREQUEST != 1)
|
||
|
#error -- bad DTR_REQUESTRAWREQUEST index
|
||
|
#endif
|
||
|
{ // ColumnType: BLOB
|
||
|
wszPROPREQUESTRAWREQUEST, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXRAWREQUEST, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szRAWREQUEST, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXRAWREQUEST, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongBinary, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_REQUESTRAWARCHIVEDKEY != 2)
|
||
|
#error -- bad DTR_REQUESTRAWARCHIVEDKEY index
|
||
|
#endif
|
||
|
{ // ColumnType: BLOB
|
||
|
wszPROPREQUESTRAWARCHIVEDKEY, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXRAWREQUEST, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szRAWARCHIVEDKEY, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXRAWREQUEST, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongBinary, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_REQUESTKEYRECOVERYHASHES != 3)
|
||
|
#error -- bad DTR_REQUESTKEYRECOVERYHASHES index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPREQUESTKEYRECOVERYHASHES, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXTEXT_MEDIUM, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szKEYRECOVERYHASHES, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_MEDIUM, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_REQUESTRAWOLDCERTIFICATE != 4)
|
||
|
#error -- bad DTR_REQUESTRAWOLDCERTIFICATE index
|
||
|
#endif
|
||
|
{ // ColumnType: BLOB
|
||
|
wszPROPREQUESTRAWOLDCERTIFICATE, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXRAWCERTIFICATE, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szRAWOLDCERTIFICATE, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXRAWCERTIFICATE, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongBinary, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_REQUESTATTRIBUTES != 5)
|
||
|
#error -- bad DTR_REQUESTATTRIBUTES index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPREQUESTATTRIBUTES, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXTEXT_ATTRSTRING, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szREQUESTATTRIBUTES, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_ATTRSTRING, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_REQUESTTYPE != 6)
|
||
|
#error -- bad DTR_REQUESTTYPE index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPREQUESTTYPE, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szREQUESTTYPE, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_REQUESTFLAGS != 7)
|
||
|
#error -- bad DTR_REQUESTFLAGS index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPREQUESTFLAGS, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szREQUESTFLAGS, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_REQUESTSTATUSCODE != 8)
|
||
|
#error -- bad DTR_REQUESTSTATUSCODE index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPREQUESTSTATUSCODE, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szSTATUSCODE, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_REQUESTDISPOSITION != 9)
|
||
|
#error -- bad DTR_REQUESTDISPOSITION index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPREQUESTDISPOSITION, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szDISPOSITION, // pszFieldName
|
||
|
szREQUEST_DISPOSITIONINDEX, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_REQUESTDISPOSITIONMESSAGE != 10)
|
||
|
#error -- bad DTR_REQUESTDISPOSITIONMESSAGE index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPREQUESTDISPOSITIONMESSAGE, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXTEXT_DISPSTRING, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szDISPOSITIONMESSAGE, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_DISPSTRING, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_REQUESTSUBMITTEDWHEN != 11)
|
||
|
#error -- bad DTR_REQUESTSUBMITTEDWHEN index
|
||
|
#endif
|
||
|
{ // ColumnType: FILETIME
|
||
|
wszPROPREQUESTSUBMITTEDWHEN, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(DATE), // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szSUBMITTEDWHEN, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypDateTime, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_REQUESTRESOLVEDWHEN != 12)
|
||
|
#error -- bad DTR_REQUESTRESOLVEDWHEN index
|
||
|
#endif
|
||
|
{ // ColumnType: FILETIME
|
||
|
wszPROPREQUESTRESOLVEDWHEN, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_INDEXIGNORENULL | DBTF_INDEXRENAMED, // dwFlags
|
||
|
sizeof(DATE), // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szRESOLVEDWHEN, // pszFieldName
|
||
|
szREQUEST_RESOLVEDWHENINDEX "\0" szREQUEST_RESOLVEDWHENINDEX_OLD, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypDateTime, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_REQUESTREVOKEDWHEN != 13)
|
||
|
#error -- bad DTR_REQUESTREVOKEDWHEN index
|
||
|
#endif
|
||
|
{ // ColumnType: FILETIME
|
||
|
wszPROPREQUESTREVOKEDWHEN, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(DATE), // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szREVOKEDWHEN, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypDateTime, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_REQUESTREVOKEDEFFECTIVEWHEN != 14)
|
||
|
#error -- bad DTR_REQUESTREVOKEDEFFECTIVEWHEN index
|
||
|
#endif
|
||
|
{ // ColumnType: FILETIME
|
||
|
wszPROPREQUESTREVOKEDEFFECTIVEWHEN, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_INDEXIGNORENULL | DBTF_INDEXRENAMED, // dwFlags
|
||
|
sizeof(DATE), // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szREVOKEDEFFECTIVEWHEN, // pszFieldName
|
||
|
szREQUEST_REVOKEDEFFECTIVEWHENINDEX "\0" szREQUEST_REVOKEDEFFECTIVEWHENINDEX_OLD, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypDateTime, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_REQUESTREVOKEDREASON != 15)
|
||
|
#error -- bad DTR_REQUESTREVOKEDREASON index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPREQUESTREVOKEDREASON, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szREVOKEDREASON, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_REQUESTERNAME != 16)
|
||
|
#error -- bad DTR_REQUESTERNAME index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPREQUESTERNAME, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXTEXT_REQUESTNAME, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szREQUESTERNAME, // pszFieldName
|
||
|
szREQUEST_REQUESTERNAMEINDEX, // pszIndexName
|
||
|
CB_DBMAXTEXT_REQUESTNAME, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_CALLERNAME != 17)
|
||
|
#error -- bad DTR_CALLERNAME index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPCALLERNAME, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXTEXT_REQUESTNAME, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szCALLERNAME, // pszFieldName
|
||
|
szREQUEST_CALLERNAMEINDEX, // pszIndexName
|
||
|
CB_DBMAXTEXT_REQUESTNAME, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_SIGNERPOLICIES != 18)
|
||
|
#error -- bad DTR_SIGNERPOLICIES index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPSIGNERPOLICIES, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXTEXT_MEDIUM, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szSIGNERPOLICIES, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_MEDIUM, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_SIGNERAPPLICATIONPOLICIES != 19)
|
||
|
#error -- bad DTR_SIGNERAPPLICATIONPOLICIES index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPSIGNERAPPLICATIONPOLICIES, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXTEXT_MEDIUM, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szSIGNERAPPLICATIONPOLICIES, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_MEDIUM, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_DISTINGUISHEDNAME != 20)
|
||
|
#error -- bad DTR_DISTINGUISHEDNAME index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPDISTINGUISHEDNAME, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_DN, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szDISTINGUISHEDNAME, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_DN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_RAWNAME != 21)
|
||
|
#error -- bad DTR_RAWNAME index
|
||
|
#endif
|
||
|
{ // ColumnType: BLOB
|
||
|
wszPROPRAWNAME, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXBINARY, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szRAWNAME, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXBINARY, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongBinary, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_COUNTRY != 22)
|
||
|
#error -- bad DTR_COUNTRY index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPCOUNTRY, // pwszPropName
|
||
|
TEXT(szOID_COUNTRY_NAME), // pwszPropNameObjId
|
||
|
DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szCOUNTRY, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_ORGANIZATION != 23)
|
||
|
#error -- bad DTR_ORGANIZATION index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPORGANIZATION, // pwszPropName
|
||
|
TEXT(szOID_ORGANIZATION_NAME), // pwszPropNameObjId
|
||
|
DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szORGANIZATION, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_ORGUNIT != 24)
|
||
|
#error -- bad DTR_ORGUNIT index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPORGUNIT, // pwszPropName
|
||
|
TEXT(szOID_ORGANIZATIONAL_UNIT_NAME), // pwszPropNameObjId
|
||
|
DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szORGANIZATIONALUNIT, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_COMMONNAME != 25)
|
||
|
#error -- bad DTR_COMMONNAME index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPCOMMONNAME, // pwszPropName
|
||
|
TEXT(szOID_COMMON_NAME), // pwszPropNameObjId
|
||
|
DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szCOMMONNAME, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_LOCALITY != 26)
|
||
|
#error -- bad DTR_LOCALITY index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPLOCALITY, // pwszPropName
|
||
|
TEXT(szOID_LOCALITY_NAME), // pwszPropNameObjId
|
||
|
DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szLOCALITY, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_STATE != 27)
|
||
|
#error -- bad DTR_STATE index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPSTATE, // pwszPropName
|
||
|
TEXT(szOID_STATE_OR_PROVINCE_NAME), // pwszPropNameObjId
|
||
|
DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szSTATEORPROVINCE, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_TITLE != 28)
|
||
|
#error -- bad DTR_TITLE index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPTITLE, // pwszPropName
|
||
|
TEXT(szOID_TITLE), // pwszPropNameObjId
|
||
|
DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szTITLE, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_GIVENNAME != 29)
|
||
|
#error -- bad DTR_GIVENNAME index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPGIVENNAME, // pwszPropName
|
||
|
TEXT(szOID_GIVEN_NAME), // pwszPropNameObjId
|
||
|
DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szGIVENNAME, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_INITIALS != 30)
|
||
|
#error -- bad DTR_INITIALS index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPINITIALS, // pwszPropName
|
||
|
TEXT(szOID_INITIALS), // pwszPropNameObjId
|
||
|
DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szINITIALS, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_SURNAME != 31)
|
||
|
#error -- bad DTR_SURNAME index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPSURNAME, // pwszPropName
|
||
|
TEXT(szOID_SUR_NAME), // pwszPropNameObjId
|
||
|
DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szSURNAME, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_DOMAINCOMPONENT != 32)
|
||
|
#error -- bad DTR_DOMAINCOMPONENT index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPDOMAINCOMPONENT, // pwszPropName
|
||
|
TEXT(szOID_DOMAIN_COMPONENT), // pwszPropNameObjId
|
||
|
DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szDOMAINCOMPONENT, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_EMAIL != 33)
|
||
|
#error -- bad DTR_EMAIL index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPEMAIL, // pwszPropName
|
||
|
TEXT(szOID_RSA_emailAddr), // pwszPropNameObjId
|
||
|
DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szEMAIL, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_STREETADDRESS != 34)
|
||
|
#error -- bad DTR_STREETADDRESS index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPSTREETADDRESS, // pwszPropName
|
||
|
TEXT(szOID_STREET_ADDRESS), // pwszPropNameObjId
|
||
|
DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szSTREETADDRESS, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_UNSTRUCTUREDNAME != 35)
|
||
|
#error -- bad DTR_UNSTRUCTUREDNAME index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPUNSTRUCTUREDNAME, // pwszPropName
|
||
|
TEXT(szOID_RSA_unstructName), // pwszPropNameObjId
|
||
|
DBTF_SUBJECT | DBTF_SOFTFAIL, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szUNSTRUCTUREDNAME, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_UNSTRUCTUREDADDRESS != 36)
|
||
|
#error -- bad DTR_UNSTRUCTUREDADDRESS index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPUNSTRUCTUREDADDRESS, // pwszPropName
|
||
|
TEXT(szOID_RSA_unstructAddr), // pwszPropNameObjId
|
||
|
DBTF_SUBJECT | DBTF_SOFTFAIL, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szUNSTRUCTUREDADDRESS, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_DEVICESERIALNUMBER != 37)
|
||
|
#error -- bad DTR_DEVICESERIALNUMBER index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPDEVICESERIALNUMBER, // pwszPropName
|
||
|
TEXT(szOID_DEVICE_SERIAL_NUMBER), // pwszPropNameObjId
|
||
|
DBTF_SUBJECT | DBTF_SOFTFAIL, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_REQUESTS, // dwTable
|
||
|
szDEVICESERIALNUMBER, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTR_MAX != 38)
|
||
|
#error -- bad DTR_MAX index
|
||
|
#endif
|
||
|
DBTABLE_NULL // Termination marker
|
||
|
};
|
||
|
|
||
|
|
||
|
//---------------------------------------------------------------------------
|
||
|
//
|
||
|
// Certificates Table:
|
||
|
//
|
||
|
//---------------------------------------------------------------------------
|
||
|
|
||
|
DBTABLE g_adtCertificates[] =
|
||
|
{
|
||
|
#if (DTC_REQUESTID != 0)
|
||
|
#error -- bad DTC_REQUESTID index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPCERTIFICATEREQUESTID, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_INDEXPRIMARY, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szREQUESTID, // pszFieldName
|
||
|
szCERTIFICATE_REQUESTIDINDEX, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_RAWCERTIFICATE != 1)
|
||
|
#error -- bad DTC_RAWCERTIFICATE index
|
||
|
#endif
|
||
|
{ // ColumnType: BLOB
|
||
|
wszPROPRAWCERTIFICATE, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXRAWCERTIFICATE, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szRAWCERTIFICATE, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXRAWCERTIFICATE, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongBinary, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_CERTIFICATEHASH != 2)
|
||
|
#error -- bad DTC_CERTIFICATEHASH index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPCERTIFICATEHASH, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_INDEXIGNORENULL, // dwFlags
|
||
|
cchHASHMAX * sizeof(WCHAR), // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szCERTIFICATEHASH, // pszFieldName
|
||
|
szCERTIFICATE_HASHINDEX, // pszIndexName
|
||
|
cchHASHMAX * sizeof(WCHAR), // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_CERTIFICATETEMPLATE != 3)
|
||
|
#error -- bad DTC_CERTIFICATETEMPLATE index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPCERTIFICATETEMPLATE, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SOFTFAIL, // dwFlags
|
||
|
CB_DBMAXTEXT_OID, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szCERTIFICATETEMPLATE, // pszFieldName
|
||
|
szCERTIFICATE_TEMPLATEINDEX, // pszIndexName
|
||
|
CB_DBMAXTEXT_OID, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_CERTIFICATEENROLLMENTFLAGS != 4)
|
||
|
#error -- bad DTC_CERTIFICATEENROLLMENTFLAGS index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPCERTIFICATEENROLLMENTFLAGS, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SOFTFAIL, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szCERTIFICATEENROLLMENTFLAGS, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_CERTIFICATEGENERALFLAGS != 5)
|
||
|
#error -- bad DTC_CERTIFICATEGENERALFLAGS index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPCERTIFICATEGENERALFLAGS, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SOFTFAIL, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szCERTIFICATEGENERALFLAGS, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_CERTIFICATESERIALNUMBER != 6)
|
||
|
#error -- bad DTC_CERTIFICATESERIALNUMBER index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPCERTIFICATESERIALNUMBER, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_INDEXIGNORENULL | DBTF_INDEXRENAMED, // dwFlags
|
||
|
cchSERIALNUMBERMAX * sizeof(WCHAR), // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szSERIALNUMBER, // pszFieldName
|
||
|
szCERTIFICATE_SERIALNUMBERINDEX "\0" szCERTIFICATE_SERIALNUMBERINDEX_OLD, // pszIndexName
|
||
|
cchSERIALNUMBERMAX * sizeof(WCHAR), // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_CERTIFICATEISSUERNAMEID != 7)
|
||
|
#error -- bad DTC_CERTIFICATEISSUERNAMEID index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPCERTIFICATEISSUERNAMEID, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szISSUERNAMEID, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_CERTIFICATENOTBEFOREDATE != 8)
|
||
|
#error -- bad DTC_CERTIFICATENOTBEFOREDATE index
|
||
|
#endif
|
||
|
{ // ColumnType: FILETIME
|
||
|
wszPROPCERTIFICATENOTBEFOREDATE, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE, // dwFlags
|
||
|
sizeof(DATE), // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szNOTBEFORE, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypDateTime, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_CERTIFICATENOTAFTERDATE != 9)
|
||
|
#error -- bad DTC_CERTIFICATENOTAFTERDATE index
|
||
|
#endif
|
||
|
{ // ColumnType: FILETIME
|
||
|
wszPROPCERTIFICATENOTAFTERDATE, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_INDEXIGNORENULL | DBTF_INDEXRENAMED, // dwFlags
|
||
|
sizeof(DATE), // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szNOTAFTER, // pszFieldName
|
||
|
szCERTIFICATE_NOTAFTERINDEX "\0" szCERTIFICATE_NOTAFTERINDEX_OLD, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypDateTime, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_CERTIFICATESUBJECTKEYIDENTIFIER != 10)
|
||
|
#error -- bad DTC_CERTIFICATESUBJECTKEYIDENTIFIER index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPCERTIFICATESUBJECTKEYIDENTIFIER, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_COLUMNRENAMED, // dwFlags
|
||
|
cchHASHMAX * sizeof(WCHAR), // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szSUBJECTKEYIDENTIFIER "\0" szSUBJECTKEYIDENTIFIER_OLD, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
cchHASHMAX * sizeof(WCHAR), // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_CERTIFICATERAWPUBLICKEY != 11)
|
||
|
#error -- bad DTC_CERTIFICATERAWPUBLICKEY index
|
||
|
#endif
|
||
|
{ // ColumnType: BLOB
|
||
|
wszPROPCERTIFICATERAWPUBLICKEY, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXBINARY, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szPUBLICKEY, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXBINARY, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongBinary, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_CERTIFICATEPUBLICKEYLENGTH != 12)
|
||
|
#error -- bad DTC_CERTIFICATEPUBLICKEYLENGTH index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPCERTIFICATEPUBLICKEYLENGTH, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szPUBLICKEYLENGTH, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_CERTIFICATEPUBLICKEYALGORITHM != 13)
|
||
|
#error -- bad DTC_CERTIFICATEPUBLICKEYALGORITHM index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPCERTIFICATEPUBLICKEYALGORITHM, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXTEXT_OID, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szPUBLICKEYALGORITHM, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_OID, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_CERTIFICATERAWPUBLICKEYALGORITHMPARAMETERS != 14)
|
||
|
#error -- bad DTC_CERTIFICATERAWPUBLICKEYALGORITHMPARAMETERS index
|
||
|
#endif
|
||
|
{ // ColumnType: BLOB
|
||
|
wszPROPCERTIFICATERAWPUBLICKEYALGORITHMPARAMETERS, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXBINARY, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szPUBLICKEYPARAMS, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXBINARY, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongBinary, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_CERTIFICATEUPN != 15)
|
||
|
#error -- bad DTC_CERTIFICATEUPN index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPCERTIFICATEUPN, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_INDEXIGNORENULL,// dwFlags
|
||
|
CB_DBMAXTEXT_REQUESTNAME, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szUPN, // pszFieldName
|
||
|
szCERTIFICATE_UPNINDEX, // pszIndexName
|
||
|
CB_DBMAXTEXT_REQUESTNAME, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_DISTINGUISHEDNAME != 16)
|
||
|
#error -- bad DTC_DISTINGUISHEDNAME index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPDISTINGUISHEDNAME, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szDISTINGUISHEDNAME, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_DN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_RAWNAME != 17)
|
||
|
#error -- bad DTC_RAWNAME index
|
||
|
#endif
|
||
|
{ // ColumnType: BLOB
|
||
|
wszPROPRAWNAME, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXBINARY, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szRAWNAME, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXBINARY, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongBinary, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_COUNTRY != 18)
|
||
|
#error -- bad DTC_COUNTRY index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPCOUNTRY, // pwszPropName
|
||
|
TEXT(szOID_COUNTRY_NAME), // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szCOUNTRY, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_ORGANIZATION != 19)
|
||
|
#error -- bad DTC_ORGANIZATION index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPORGANIZATION, // pwszPropName
|
||
|
TEXT(szOID_ORGANIZATION_NAME), // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szORGANIZATION, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_ORGUNIT != 20)
|
||
|
#error -- bad DTC_ORGUNIT index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPORGUNIT, // pwszPropName
|
||
|
TEXT(szOID_ORGANIZATIONAL_UNIT_NAME), // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szORGANIZATIONALUNIT, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_COMMONNAME != 21)
|
||
|
#error -- bad DTC_COMMONNAME index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPCOMMONNAME, // pwszPropName
|
||
|
TEXT(szOID_COMMON_NAME), // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szCOMMONNAME, // pszFieldName
|
||
|
szCERTIFICATE_COMMONNAMEINDEX, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_LOCALITY != 22)
|
||
|
#error -- bad DTC_LOCALITY index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPLOCALITY, // pwszPropName
|
||
|
TEXT(szOID_LOCALITY_NAME), // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szLOCALITY, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_STATE != 23)
|
||
|
#error -- bad DTC_STATE index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPSTATE, // pwszPropName
|
||
|
TEXT(szOID_STATE_OR_PROVINCE_NAME), // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szSTATEORPROVINCE, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_TITLE != 24)
|
||
|
#error -- bad DTC_TITLE index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPTITLE, // pwszPropName
|
||
|
TEXT(szOID_TITLE), // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szTITLE, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_GIVENNAME != 25)
|
||
|
#error -- bad DTC_GIVENNAME index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPGIVENNAME, // pwszPropName
|
||
|
TEXT(szOID_GIVEN_NAME), // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szGIVENNAME, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_INITIALS != 26)
|
||
|
#error -- bad DTC_INITIALS index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPINITIALS, // pwszPropName
|
||
|
TEXT(szOID_INITIALS), // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szINITIALS, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_SURNAME != 27)
|
||
|
#error -- bad DTC_SURNAME index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPSURNAME, // pwszPropName
|
||
|
TEXT(szOID_SUR_NAME), // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szSURNAME, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_DOMAINCOMPONENT != 28)
|
||
|
#error -- bad DTC_DOMAINCOMPONENT index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPDOMAINCOMPONENT, // pwszPropName
|
||
|
TEXT(szOID_DOMAIN_COMPONENT), // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szDOMAINCOMPONENT, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_EMAIL != 29)
|
||
|
#error -- bad DTC_EMAIL index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPEMAIL, // pwszPropName
|
||
|
TEXT(szOID_RSA_emailAddr), // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szEMAIL, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_STREETADDRESS != 30)
|
||
|
#error -- bad DTC_STREETADDRESS index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPSTREETADDRESS, // pwszPropName
|
||
|
TEXT(szOID_STREET_ADDRESS), // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SUBJECT, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szSTREETADDRESS, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_UNSTRUCTUREDNAME != 31)
|
||
|
#error -- bad DTC_UNSTRUCTUREDNAME index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPUNSTRUCTUREDNAME, // pwszPropName
|
||
|
TEXT(szOID_RSA_unstructName), // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SUBJECT | DBTF_SOFTFAIL, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szUNSTRUCTUREDNAME, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_UNSTRUCTUREDADDRESS != 32)
|
||
|
#error -- bad DTC_UNSTRUCTUREDADDRESS index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPUNSTRUCTUREDADDRESS, // pwszPropName
|
||
|
TEXT(szOID_RSA_unstructAddr), // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SUBJECT | DBTF_SOFTFAIL, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szUNSTRUCTUREDADDRESS, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_DEVICESERIALNUMBER != 33)
|
||
|
#error -- bad DTC_DEVICESERIALNUMBER index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPDEVICESERIALNUMBER, // pwszPropName
|
||
|
TEXT(szOID_DEVICE_SERIAL_NUMBER), // pwszPropNameObjId
|
||
|
DBTF_POLICYWRITEABLE | DBTF_SUBJECT | DBTF_SOFTFAIL, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_CERTIFICATES, // dwTable
|
||
|
szDEVICESERIALNUMBER, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTC_MAX != 34)
|
||
|
#error -- bad DTC_MAX index
|
||
|
#endif
|
||
|
DBTABLE_NULL // Termination marker
|
||
|
};
|
||
|
|
||
|
|
||
|
//---------------------------------------------------------------------------
|
||
|
//
|
||
|
// Request Attributes Table:
|
||
|
//
|
||
|
//---------------------------------------------------------------------------
|
||
|
|
||
|
DBTABLE g_adtRequestAttributes[] =
|
||
|
{
|
||
|
#if (DTA_REQUESTID != 0)
|
||
|
#error -- bad DTA_REQUESTID index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPATTRIBREQUESTID, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_ATTRIBUTES, // dwTable
|
||
|
szREQUESTID, // pszFieldName
|
||
|
szATTRIBUTE_REQUESTIDINDEX, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0, // dbcolumnid
|
||
|
},
|
||
|
#if (DTA_ATTRIBUTENAME != 1)
|
||
|
#error -- bad DTA_ATTRIBUTENAME index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPATTRIBNAME, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_INDEXREQUESTID, // dwFlags
|
||
|
CB_DBMAXTEXT_ATTRNAME, // dwcbMax
|
||
|
TABLE_ATTRIBUTES, // dwTable
|
||
|
szATTRIBUTENAME, // pszFieldName
|
||
|
szATTRIBUTE_REQUESTIDNAMEINDEX, // pszIndexName
|
||
|
CB_DBMAXTEXT_ATTRNAME, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypText, // dbcoltyp
|
||
|
0, // dbcolumnid
|
||
|
},
|
||
|
#if (DTA_ATTRIBUTEVALUE != 2)
|
||
|
#error -- bad DTA_ATTRIBUTEVALUE index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPATTRIBVALUE, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXTEXT_ATTRVALUE, // dwcbMax
|
||
|
TABLE_ATTRIBUTES, // dwTable
|
||
|
szATTRIBUTEVALUE, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_ATTRVALUE, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0, // dbcolumnid
|
||
|
},
|
||
|
#if (DTA_MAX != 3)
|
||
|
#error -- bad DTA_MAX index
|
||
|
#endif
|
||
|
DBTABLE_NULL // Termination marker
|
||
|
};
|
||
|
|
||
|
|
||
|
//---------------------------------------------------------------------------
|
||
|
//
|
||
|
// Name Extensions Table:
|
||
|
//
|
||
|
//---------------------------------------------------------------------------
|
||
|
|
||
|
#if 0
|
||
|
WCHAR const wszDummy[] = L"Dummy Prop Name";
|
||
|
|
||
|
DBTABLE g_adtNameExtensions[] =
|
||
|
{
|
||
|
{ // ColumnType: DWORD
|
||
|
wszDummy, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_NAMES, // dwTable
|
||
|
szNAMEID, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0, // dbcolumnid
|
||
|
},
|
||
|
{ // ColumnType: STRING
|
||
|
wszDummy, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXTEXT_OID, // dwcbMax
|
||
|
TABLE_NAMES, // dwTable
|
||
|
szEXTENSIONNAME, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_OID, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypText, // dbcoltyp
|
||
|
0, // dbcolumnid
|
||
|
},
|
||
|
{ // ColumnType: STRING
|
||
|
wszDummy, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXTEXT_RDN, // dwcbMax
|
||
|
TABLE_NAMES, // dwTable
|
||
|
szEXTENSIONVALUE, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_RDN, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0, // dbcolumnid
|
||
|
},
|
||
|
DBTABLE_NULL // Termination marker
|
||
|
};
|
||
|
#endif
|
||
|
|
||
|
|
||
|
//---------------------------------------------------------------------------
|
||
|
//
|
||
|
// Certificate Extensions Table:
|
||
|
//
|
||
|
//---------------------------------------------------------------------------
|
||
|
|
||
|
DBTABLE g_adtCertExtensions[] =
|
||
|
{
|
||
|
#if (DTE_REQUESTID != 0)
|
||
|
#error -- bad DTE_REQUESTID index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPEXTREQUESTID, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_EXTENSIONS, // dwTable
|
||
|
szREQUESTID, // pszFieldName
|
||
|
szEXTENSION_REQUESTIDINDEX, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0, // dbcolumnid
|
||
|
},
|
||
|
#if (DTE_EXTENSIONNAME != 1)
|
||
|
#error -- bad DTE_EXTENSIONNAME index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPEXTNAME, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_INDEXREQUESTID, // dwFlags
|
||
|
CB_DBMAXTEXT_OID, // dwcbMax
|
||
|
TABLE_EXTENSIONS, // dwTable
|
||
|
szEXTENSIONNAME, // pszFieldName
|
||
|
szEXTENSION_REQUESTIDNAMEINDEX, // pszIndexName
|
||
|
CB_DBMAXTEXT_OID, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypText, // dbcoltyp
|
||
|
0, // dbcolumnid
|
||
|
},
|
||
|
#if (DTE_EXTENSIONFLAGS != 2)
|
||
|
#error -- bad DTE_EXTENSIONFLAGS index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPEXTFLAGS, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_EXTENSIONS, // dwTable
|
||
|
szEXTENSIONFLAGS, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0, // dbcolumnid
|
||
|
},
|
||
|
#if (DTE_EXTENSIONRAWVALUE != 3)
|
||
|
#error -- bad DTE_EXTENSIONRAWVALUE index
|
||
|
#endif
|
||
|
{ // ColumnType: BLOB
|
||
|
wszPROPEXTRAWVALUE, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXBINARY, // dwcbMax
|
||
|
TABLE_EXTENSIONS, // dwTable
|
||
|
szEXTENSIONRAWVALUE, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXBINARY, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongBinary, // dbcoltyp
|
||
|
0, // dbcolumnid
|
||
|
},
|
||
|
#if (DTE_MAX != 4)
|
||
|
#error -- bad DTE_MAX index
|
||
|
#endif
|
||
|
DBTABLE_NULL // Termination marker
|
||
|
};
|
||
|
|
||
|
|
||
|
//---------------------------------------------------------------------------
|
||
|
//
|
||
|
// CRL Table:
|
||
|
//
|
||
|
//---------------------------------------------------------------------------
|
||
|
|
||
|
DBTABLE g_adtCRLs[] =
|
||
|
{
|
||
|
#if (DTL_ROWID != 0)
|
||
|
#error -- bad DTL_ROWID index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPCRLROWID, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_INDEXPRIMARY, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_CRLS, // dwTable
|
||
|
szCRLROWID, // pszFieldName
|
||
|
szCRL_ROWIDINDEX, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed | JET_bitColumnAutoincrement, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTL_NUMBER != 1)
|
||
|
#error -- bad DTL_NUMBER index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPCRLNUMBER, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_CRLS, // dwTable
|
||
|
szCRLNUMBER, // pszFieldName
|
||
|
szCRL_CRLNUMBERINDEX, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTL_MINBASE != 2)
|
||
|
#error -- bad DTL_MINBASE index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPCRLMINBASE, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_CRLS, // dwTable
|
||
|
szCRLMINBASE, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTL_NAMEID != 3)
|
||
|
#error -- bad DTL_NAMEID index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPCRLNAMEID, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_CRLS, // dwTable
|
||
|
szCRLNAMEID, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTL_COUNT != 4)
|
||
|
#error -- bad DTL_COUNT index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPCRLCOUNT, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_CRLS, // dwTable
|
||
|
szCRLCOUNT, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTL_THISUPDATEDATE != 5)
|
||
|
#error -- bad DTL_THISUPDATEDATE index
|
||
|
#endif
|
||
|
{ // ColumnType: FILETIME
|
||
|
wszPROPCRLTHISUPDATE, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(DATE), // dwcbMax
|
||
|
TABLE_CRLS, // dwTable
|
||
|
szCRLTHISUPDATE, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypDateTime, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTL_NEXTUPDATEDATE != 6)
|
||
|
#error -- bad DTL_NEXTUPDATEDATE index
|
||
|
#endif
|
||
|
{ // ColumnType: FILETIME
|
||
|
wszPROPCRLNEXTUPDATE, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(DATE), // dwcbMax
|
||
|
TABLE_CRLS, // dwTable
|
||
|
szCRLNEXTUPDATE, // pszFieldName
|
||
|
szCRL_CRLNEXTUPDATEINDEX, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypDateTime, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTL_THISPUBLISHDATE != 7)
|
||
|
#error -- bad DTL_THISPUBLISHDATE index
|
||
|
#endif
|
||
|
{ // ColumnType: FILETIME
|
||
|
wszPROPCRLTHISPUBLISH, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(DATE), // dwcbMax
|
||
|
TABLE_CRLS, // dwTable
|
||
|
szCRLTHISPUBLISH, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypDateTime, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTL_NEXTPUBLISHDATE != 8)
|
||
|
#error -- bad DTL_NEXTPUBLISHDATE index
|
||
|
#endif
|
||
|
{ // ColumnType: FILETIME
|
||
|
wszPROPCRLNEXTPUBLISH, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(DATE), // dwcbMax
|
||
|
TABLE_CRLS, // dwTable
|
||
|
szCRLNEXTPUBLISH, // pszFieldName
|
||
|
szCRL_CRLNEXTPUBLISHINDEX, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypDateTime, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTL_EFFECTIVEDATE != 9)
|
||
|
#error -- bad DTL_EFFECTIVEDATE index
|
||
|
#endif
|
||
|
{ // ColumnType: FILETIME
|
||
|
wszPROPCRLEFFECTIVE, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(DATE), // dwcbMax
|
||
|
TABLE_CRLS, // dwTable
|
||
|
szCRLEFFECTIVE, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypDateTime, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTL_PROPAGATIONCOMPLETEDATE != 10)
|
||
|
#error -- bad DTL_PROPAGATIONCOMPLETEDATE index
|
||
|
#endif
|
||
|
{ // ColumnType: FILETIME
|
||
|
wszPROPCRLPROPAGATIONCOMPLETE, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(DATE), // dwcbMax
|
||
|
TABLE_CRLS, // dwTable
|
||
|
szCRLPROPAGATIONCOMPLETE, // pszFieldName
|
||
|
szCRL_CRLPROPAGATIONCOMPLETEINDEX, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypDateTime, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTL_LASTPUBLISHEDDATE != 11)
|
||
|
#error -- bad DTL_LASTPUBLISHEDDATE index
|
||
|
#endif
|
||
|
{ // ColumnType: FILETIME
|
||
|
wszPROPCRLLASTPUBLISHED, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(DATE), // dwcbMax
|
||
|
TABLE_CRLS, // dwTable
|
||
|
szCRLLASTPUBLISHED, // pszFieldName
|
||
|
szCRL_CRLLASTPUBLISHEDINDEX, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypDateTime, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTL_PUBLISHATTEMPTS != 12)
|
||
|
#error -- bad DTL_PUBLISHATTEMPTS index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPCRLPUBLISHATTEMPTS, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_CRLS, // dwTable
|
||
|
szCRLPUBLISHATTEMPTS, // pszFieldName
|
||
|
szCRL_CRLPUBLISHATTEMPTSINDEX, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTL_PUBLISHFLAGS != 13)
|
||
|
#error -- bad DTL_PUBLISHFLAGS index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPCRLPUBLISHFLAGS, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_CRLS, // dwTable
|
||
|
szCRLPUBLISHFLAGS, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTL_PUBLISHSTATUSCODE != 14)
|
||
|
#error -- bad DTL_PUBLISHSTATUSCODE index
|
||
|
#endif
|
||
|
{ // ColumnType: DWORD
|
||
|
wszPROPCRLPUBLISHSTATUSCODE, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
sizeof(LONG), // dwcbMax
|
||
|
TABLE_CRLS, // dwTable
|
||
|
szCRLPUBLISHSTATUSCODE, // pszFieldName
|
||
|
szCRL_CRLPUBLSTATUSCODEISHINDEX, // pszIndexName
|
||
|
0, // dbcolumnMax
|
||
|
JET_bitColumnFixed, // dbgrbit
|
||
|
JET_coltypLong, // dbcoltyp
|
||
|
0 // dbcolumnid
|
||
|
},
|
||
|
#if (DTL_PUBLISHERROR != 15)
|
||
|
#error -- bad DTL_PUBLISHERROR index
|
||
|
#endif
|
||
|
{ // ColumnType: STRING
|
||
|
wszPROPCRLPUBLISHERROR, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
DBTF_COLUMNRENAMED, // dwFlags
|
||
|
CB_DBMAXTEXT_DISPSTRING, // dwcbMax
|
||
|
TABLE_CRLS, // dwTable
|
||
|
szCRLPUBLISHERROR "\0" szCRLPUBLISHERROR_OLD, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXTEXT_DISPSTRING, // dwcbMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongText, // dbcoltyp
|
||
|
0, // dbcolumnid
|
||
|
},
|
||
|
#if (DTL_RAWCRL != 16)
|
||
|
#error -- bad DTL_RAWCRL index
|
||
|
#endif
|
||
|
{ // ColumnType: BLOB
|
||
|
wszPROPCRLRAWCRL, // pwszPropName
|
||
|
NULL, // pwszPropNameObjId
|
||
|
0, // dwFlags
|
||
|
CB_DBMAXRAWCRL, // dwcbMax
|
||
|
TABLE_CRLS, // dwTable
|
||
|
szRAWCRL, // pszFieldName
|
||
|
NULL, // pszIndexName
|
||
|
CB_DBMAXRAWCRL, // dbcolumnMax
|
||
|
0, // dbgrbit
|
||
|
JET_coltypLongBinary, // dbcoltyp
|
||
|
0, // dbcolumnid
|
||
|
},
|
||
|
#if (DTL_MAX != 17)
|
||
|
#error -- bad DTL_MAX index
|
||
|
#endif
|
||
|
DBTABLE_NULL // Termination marker
|
||
|
};
|
||
|
|
||
|
|
||
|
DBAUXDATA g_dbauxRequests = {
|
||
|
szREQUESTTABLE, // pszTable
|
||
|
szREQUEST_REQUESTIDINDEX, // pszRowIdIndex
|
||
|
NULL, // pszRowIdNameIndex
|
||
|
NULL, // pszNameIndex
|
||
|
&g_adtRequests[DTR_REQUESTID], // pdtRowId
|
||
|
NULL, // pdtName
|
||
|
NULL, // pdtFlags
|
||
|
NULL, // pdtValue
|
||
|
NULL, // pdtIssuerNameId
|
||
|
};
|
||
|
|
||
|
|
||
|
DBAUXDATA g_dbauxCertificates = {
|
||
|
szCERTIFICATETABLE, // pszTable
|
||
|
szCERTIFICATE_REQUESTIDINDEX, // pszRowIdIndex
|
||
|
NULL, // pszRowIdNameIndex
|
||
|
szCERTIFICATE_SERIALNUMBERINDEX, // pszNameIndex
|
||
|
&g_adtCertificates[DTC_REQUESTID], // pdtRowId
|
||
|
&g_adtCertificates[DTC_CERTIFICATESERIALNUMBER],// pdtName
|
||
|
NULL, // pdtFlags
|
||
|
NULL, // pdtValue
|
||
|
&g_adtCertificates[DTC_CERTIFICATEISSUERNAMEID],// pdtIssuerNameId
|
||
|
};
|
||
|
|
||
|
|
||
|
DBAUXDATA g_dbauxAttributes = {
|
||
|
szREQUESTATTRIBUTETABLE, // pszTable
|
||
|
szATTRIBUTE_REQUESTIDINDEX, // pszRowIdIndex
|
||
|
szATTRIBUTE_REQUESTIDNAMEINDEX, // pszRowIdNameIndex
|
||
|
NULL, // pszNameIndex
|
||
|
&g_adtRequestAttributes[DTA_REQUESTID], // pdtRowId
|
||
|
&g_adtRequestAttributes[DTA_ATTRIBUTENAME], // pdtName
|
||
|
NULL, // pdtFlags
|
||
|
&g_adtRequestAttributes[DTA_ATTRIBUTEVALUE],// pdtValue
|
||
|
NULL, // pdtIssuerNameId
|
||
|
};
|
||
|
|
||
|
|
||
|
DBAUXDATA g_dbauxExtensions = {
|
||
|
szCERTIFICATEEXTENSIONTABLE, // pszTable
|
||
|
szEXTENSION_REQUESTIDINDEX, // pszRowIdIndex
|
||
|
szEXTENSION_REQUESTIDNAMEINDEX, // pszRowIdNameIndex
|
||
|
NULL, // pszNameIndex
|
||
|
&g_adtCertExtensions[DTE_REQUESTID], // pdtRowId
|
||
|
&g_adtCertExtensions[DTE_EXTENSIONNAME], // pdtName
|
||
|
&g_adtCertExtensions[DTE_EXTENSIONFLAGS], // pdtFlags
|
||
|
&g_adtCertExtensions[DTE_EXTENSIONRAWVALUE],// pdtValue
|
||
|
NULL, // pdtIssuerNameId
|
||
|
};
|
||
|
|
||
|
|
||
|
DBAUXDATA g_dbauxCRLs = {
|
||
|
szCRLTABLE, // pszTable
|
||
|
szCRL_ROWIDINDEX, // pszRowIdIndex
|
||
|
NULL, // pszRowIdNameIndex
|
||
|
NULL, // pszNameIndex
|
||
|
&g_adtCRLs[DTL_ROWID], // pdtRowId
|
||
|
NULL, // pdtName
|
||
|
NULL, // pdtFlags
|
||
|
NULL, // pdtValue
|
||
|
&g_adtCRLs[DTL_NAMEID], // pdtIssuerNameId
|
||
|
};
|
||
|
|
||
|
|
||
|
DBCREATETABLE const g_actDataBase[] = {
|
||
|
{ szCERTIFICATETABLE, &g_dbauxCertificates, g_adtCertificates },
|
||
|
{ szREQUESTTABLE, &g_dbauxRequests, g_adtRequests },
|
||
|
{ szREQUESTATTRIBUTETABLE, &g_dbauxAttributes, g_adtRequestAttributes },
|
||
|
//{ szNAMEEXTENSIONTABLE, &g_dbauxNameExtensions, g_adtNameExtensions },
|
||
|
{ szCERTIFICATEEXTENSIONTABLE, &g_dbauxExtensions, g_adtCertExtensions },
|
||
|
{ szCRLTABLE, &g_dbauxCRLs, g_adtCRLs },
|
||
|
{ NULL, NULL, NULL },
|
||
|
};
|
||
|
|
||
|
|
||
|
// Note: Ordered DUPTABLE must include all Names Table columns.
|
||
|
|
||
|
DUPTABLE const g_dntr[] =
|
||
|
{
|
||
|
{ "Country", wszPROPSUBJECTCOUNTRY, },
|
||
|
{ "Organization", wszPROPSUBJECTORGANIZATION, },
|
||
|
{ "OrganizationalUnit", wszPROPSUBJECTORGUNIT, },
|
||
|
{ "CommonName", wszPROPSUBJECTCOMMONNAME, },
|
||
|
{ "Locality", wszPROPSUBJECTLOCALITY, },
|
||
|
{ "StateOrProvince", wszPROPSUBJECTSTATE, },
|
||
|
{ "Title", wszPROPSUBJECTTITLE, },
|
||
|
{ "GivenName", wszPROPSUBJECTGIVENNAME, },
|
||
|
{ "Initials", wszPROPSUBJECTINITIALS, },
|
||
|
{ "SurName", wszPROPSUBJECTSURNAME, },
|
||
|
{ "DomainComponent", wszPROPSUBJECTDOMAINCOMPONENT, },
|
||
|
{ "EMailAddress", wszPROPSUBJECTEMAIL, },
|
||
|
{ "StreetAddress", wszPROPSUBJECTSTREETADDRESS, },
|
||
|
{ "UnstructuredName", wszPROPSUBJECTUNSTRUCTUREDNAME, },
|
||
|
{ "UnstructuredAddress", wszPROPSUBJECTUNSTRUCTUREDADDRESS, },
|
||
|
{ "DeviceSerialNumber", wszPROPSUBJECTDEVICESERIALNUMBER, },
|
||
|
{ NULL, NULL },
|
||
|
};
|
||
|
|
||
|
|
||
|
DWORD g_aColumnViewQueue[] =
|
||
|
{
|
||
|
DTI_REQUESTTABLE | DTR_REQUESTID,
|
||
|
DTI_REQUESTTABLE | DTR_REQUESTERNAME,
|
||
|
DTI_REQUESTTABLE | DTR_REQUESTSUBMITTEDWHEN,
|
||
|
DTI_REQUESTTABLE | DTR_REQUESTDISPOSITIONMESSAGE,
|
||
|
DTI_REQUESTTABLE | DTR_COMMONNAME,
|
||
|
DTI_REQUESTTABLE | DTR_EMAIL,
|
||
|
DTI_REQUESTTABLE | DTR_ORGUNIT,
|
||
|
DTI_REQUESTTABLE | DTR_ORGANIZATION,
|
||
|
DTI_REQUESTTABLE | DTR_LOCALITY,
|
||
|
DTI_REQUESTTABLE | DTR_STATE,
|
||
|
DTI_REQUESTTABLE | DTR_COUNTRY,
|
||
|
DTI_REQUESTTABLE | DTR_REQUESTRAWREQUEST,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTRAWARCHIVEDKEY,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTKEYRECOVERYHASHES,
|
||
|
//DTI_REQUESTTABLE | DTR_STREETADDRESS,
|
||
|
//DTI_REQUESTTABLE | DTR_TITLE,
|
||
|
//DTI_REQUESTTABLE | DTR_GIVENNAME,
|
||
|
//DTI_REQUESTTABLE | DTR_INITIALS,
|
||
|
//DTI_REQUESTTABLE | DTR_SURNAME,
|
||
|
//DTI_REQUESTTABLE | DTR_DOMAINCOMPONENT,
|
||
|
//DTI_REQUESTTABLE | DTR_UNSTRUCTUREDNAME,
|
||
|
//DTI_REQUESTTABLE | DTR_UNSTRUCTUREDADDRESS,
|
||
|
//DTI_REQUESTTABLE | DTR_DEVICESERIALNUMBER,
|
||
|
//DTI_REQUESTTABLE | DTR_RAWNAME,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTDISPOSITION,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTATTRIBUTES,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTTYPE,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTFLAGS,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTSTATUS,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTSTATUSCODE,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTRESOLVEDWHEN,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTREVOKEDWHEN,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTREVOKEDEFFECTIVEWHEN,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTREVOKEDREASON,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTERADDRESS,
|
||
|
//DTI_REQUESTTABLE | DTR_SIGNERPOLICIES,
|
||
|
//DTI_REQUESTTABLE | DTR_SIGNERAPPLICATIONPOLICIES,
|
||
|
//DTI_REQUESTTABLE | DTR_DISTINGUISHEDNAME,
|
||
|
//DTI_CERTIFICATETABLE | DTC_REQUESTID,
|
||
|
//DTI_CERTIFICATETABLE | DTC_RAWCERTIFICATE,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATEHASH,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATETYPE,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATESERIALNUMBER,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATEISSUERNAMEID,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATENOTBEFOREDATE,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATENOTAFTERDATE,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATERAWPUBLICKEY,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATEPUBLICKEYALGORITHM,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATERAWPUBLICKEYALGORITHMPARAMETERS,
|
||
|
//DTI_CERTIFICATETABLE | DTC_DISTINGUISHEDNAME,
|
||
|
//DTI_CERTIFICATETABLE | DTC_RAWNAME,
|
||
|
//DTI_CERTIFICATETABLE | DTC_COUNTRY,
|
||
|
//DTI_CERTIFICATETABLE | DTC_ORGANIZATION,
|
||
|
//DTI_CERTIFICATETABLE | DTC_ORGUNIT,
|
||
|
//DTI_CERTIFICATETABLE | DTC_COMMONNAME,
|
||
|
//DTI_CERTIFICATETABLE | DTC_LOCALITY,
|
||
|
//DTI_CERTIFICATETABLE | DTC_STATE,
|
||
|
//DTI_CERTIFICATETABLE | DTC_TITLE,
|
||
|
//DTI_CERTIFICATETABLE | DTC_GIVENNAME,
|
||
|
//DTI_CERTIFICATETABLE | DTC_INITIALS,
|
||
|
//DTI_CERTIFICATETABLE | DTC_SURNAME,
|
||
|
//DTI_CERTIFICATETABLE | DTC_DOMAINCOMPONENT,
|
||
|
//DTI_CERTIFICATETABLE | DTC_EMAIL,
|
||
|
//DTI_CERTIFICATETABLE | DTC_STREETADDRESS,
|
||
|
//DTI_CERTIFICATETABLE | DTC_UNSTRUCTUREDNAME,
|
||
|
//DTI_CERTIFICATETABLE | DTC_UNSTRUCTUREDADDRESS,
|
||
|
//DTI_CERTIFICATETABLE | DTC_DEVICESERIALNUMBER,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATERAWSMIMECAPABILITIES,
|
||
|
};
|
||
|
DWORD g_cColumnViewQueue = ARRAYSIZE(g_aColumnViewQueue);
|
||
|
|
||
|
|
||
|
DWORD g_aColumnViewLog[] =
|
||
|
{
|
||
|
DTI_REQUESTTABLE | DTR_REQUESTID,
|
||
|
DTI_REQUESTTABLE | DTR_REQUESTERNAME,
|
||
|
DTI_CERTIFICATETABLE | DTC_CERTIFICATESERIALNUMBER,
|
||
|
DTI_CERTIFICATETABLE | DTC_CERTIFICATENOTBEFOREDATE,
|
||
|
DTI_CERTIFICATETABLE | DTC_CERTIFICATENOTAFTERDATE,
|
||
|
DTI_CERTIFICATETABLE | DTC_COMMONNAME,
|
||
|
DTI_CERTIFICATETABLE | DTC_EMAIL,
|
||
|
DTI_CERTIFICATETABLE | DTC_ORGUNIT,
|
||
|
DTI_CERTIFICATETABLE | DTC_ORGANIZATION,
|
||
|
DTI_CERTIFICATETABLE | DTC_LOCALITY,
|
||
|
DTI_CERTIFICATETABLE | DTC_STATE,
|
||
|
DTI_CERTIFICATETABLE | DTC_COUNTRY,
|
||
|
DTI_CERTIFICATETABLE | DTC_RAWCERTIFICATE,
|
||
|
//DTI_CERTIFICATETABLE | DTC_TITLE,
|
||
|
//DTI_CERTIFICATETABLE | DTC_GIVENNAME,
|
||
|
//DTI_CERTIFICATETABLE | DTC_INITIALS,
|
||
|
//DTI_CERTIFICATETABLE | DTC_SURNAME,
|
||
|
//DTI_CERTIFICATETABLE | DTC_DOMAINCOMPONENT,
|
||
|
//DTI_CERTIFICATETABLE | DTC_UNSTRUCTUREDNAME,
|
||
|
//DTI_CERTIFICATETABLE | DTC_UNSTRUCTUREDADDRESS,
|
||
|
//DTI_CERTIFICATETABLE | DTC_DEVICESERIALNUMBER,
|
||
|
//DTI_CERTIFICATETABLE | DTC_DISTINGUISHEDNAME,
|
||
|
//DTI_CERTIFICATETABLE | DTC_STREETADDRESS,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTRAWREQUEST,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTRAWARCHIVEDKEY,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTKEYRECOVERYHASHES,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTATTRIBUTES,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTTYPE,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTFLAGS,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTSTATUS,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTSTATUSCODE,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTDISPOSITION,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTDISPOSITIONMESSAGE,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTSUBMITTEDWHEN,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTRESOLVEDWHEN,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTREVOKEDWHEN,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTREVOKEDEFFECTIVEWHEN,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTREVOKEDREASON,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTERADDRESS,
|
||
|
//DTI_REQUESTTABLE | DTR_SIGNERPOLICIES,
|
||
|
//DTI_REQUESTTABLE | DTR_SIGNERAPPLICATIONPOLICIES,
|
||
|
//DTI_REQUESTTABLE | DTR_DISTINGUISHEDNAME,
|
||
|
//DTI_REQUESTTABLE | DTR_RAWNAME,
|
||
|
//DTI_REQUESTTABLE | DTR_COUNTRY,
|
||
|
//DTI_REQUESTTABLE | DTR_ORGANIZATION,
|
||
|
//DTI_REQUESTTABLE | DTR_ORGUNIT,
|
||
|
//DTI_REQUESTTABLE | DTR_COMMONNAME,
|
||
|
//DTI_REQUESTTABLE | DTR_LOCALITY,
|
||
|
//DTI_REQUESTTABLE | DTR_STATE,
|
||
|
//DTI_REQUESTTABLE | DTR_TITLE,
|
||
|
//DTI_REQUESTTABLE | DTR_GIVENNAME,
|
||
|
//DTI_REQUESTTABLE | DTR_INITIALS,
|
||
|
//DTI_REQUESTTABLE | DTR_SURNAME,
|
||
|
//DTI_REQUESTTABLE | DTR_DOMAINCOMPONENT,
|
||
|
//DTI_REQUESTTABLE | DTR_EMAIL,
|
||
|
//DTI_REQUESTTABLE | DTR_STREETADDRESS,
|
||
|
//DTI_REQUESTTABLE | DTR_UNSTRUCTUREDNAME,
|
||
|
//DTI_REQUESTTABLE | DTR_UNSTRUCTUREDADDRESS,
|
||
|
//DTI_REQUESTTABLE | DTR_DEVICESERIALNUMBER,
|
||
|
//DTI_CERTIFICATETABLE | DTC_REQUESTID,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATEHASH,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATETYPE,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATEISSUERNAMEID,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATERAWPUBLICKEY,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATEPUBLICKEYALGORITHM,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATERAWPUBLICKEYALGORITHMPARAMETERS,
|
||
|
//DTI_CERTIFICATETABLE | DTC_RAWNAME,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATERAWSMIMECAPABILITIES,
|
||
|
};
|
||
|
DWORD g_cColumnViewLog = ARRAYSIZE(g_aColumnViewLog);
|
||
|
|
||
|
|
||
|
DWORD g_aColumnViewRevoked[] =
|
||
|
{
|
||
|
DTI_REQUESTTABLE | DTR_REQUESTID,
|
||
|
DTI_REQUESTTABLE | DTR_REQUESTERNAME,
|
||
|
DTI_CERTIFICATETABLE | DTC_CERTIFICATESERIALNUMBER,
|
||
|
DTI_CERTIFICATETABLE | DTC_CERTIFICATENOTBEFOREDATE,
|
||
|
DTI_CERTIFICATETABLE | DTC_CERTIFICATENOTAFTERDATE,
|
||
|
DTI_CERTIFICATETABLE | DTC_COMMONNAME,
|
||
|
DTI_CERTIFICATETABLE | DTC_EMAIL,
|
||
|
DTI_CERTIFICATETABLE | DTC_ORGUNIT,
|
||
|
DTI_CERTIFICATETABLE | DTC_ORGANIZATION,
|
||
|
DTI_CERTIFICATETABLE | DTC_LOCALITY,
|
||
|
DTI_CERTIFICATETABLE | DTC_STATE,
|
||
|
DTI_CERTIFICATETABLE | DTC_COUNTRY,
|
||
|
DTI_CERTIFICATETABLE | DTC_RAWCERTIFICATE,
|
||
|
//DTI_CERTIFICATETABLE | DTC_TITLE,
|
||
|
//DTI_CERTIFICATETABLE | DTC_GIVENNAME,
|
||
|
//DTI_CERTIFICATETABLE | DTC_INITIALS,
|
||
|
//DTI_CERTIFICATETABLE | DTC_SURNAME,
|
||
|
//DTI_CERTIFICATETABLE | DTC_DOMAINCOMPONENT,
|
||
|
//DTI_CERTIFICATETABLE | DTC_UNSTRUCTUREDNAME,
|
||
|
//DTI_CERTIFICATETABLE | DTC_UNSTRUCTUREDADDRESS,
|
||
|
//DTI_CERTIFICATETABLE | DTC_DEVICESERIALNUMBER,
|
||
|
//DTI_CERTIFICATETABLE | DTC_DISTINGUISHEDNAME,
|
||
|
//DTI_CERTIFICATETABLE | DTC_STREETADDRESS,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTRAWREQUEST,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTRAWARCHIVEDKEY,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTKEYRECOVERYHASHES,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTATTRIBUTES,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTTYPE,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTFLAGS,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTSTATUS,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTSTATUSCODE,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTDISPOSITION,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTDISPOSITIONMESSAGE,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTSUBMITTEDWHEN,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTRESOLVEDWHEN,
|
||
|
DTI_REQUESTTABLE | DTR_REQUESTREVOKEDWHEN,
|
||
|
DTI_REQUESTTABLE | DTR_REQUESTREVOKEDEFFECTIVEWHEN,
|
||
|
DTI_REQUESTTABLE | DTR_REQUESTREVOKEDREASON,
|
||
|
//DTI_REQUESTTABLE | DTR_REQUESTERADDRESS,
|
||
|
//DTI_REQUESTTABLE | DTR_SIGNERPOLICIES,
|
||
|
//DTI_REQUESTTABLE | DTR_SIGNERAPPLICATIONPOLICIES,
|
||
|
//DTI_REQUESTTABLE | DTR_DISTINGUISHEDNAME,
|
||
|
//DTI_REQUESTTABLE | DTR_RAWNAME,
|
||
|
//DTI_REQUESTTABLE | DTR_COUNTRY,
|
||
|
//DTI_REQUESTTABLE | DTR_ORGANIZATION,
|
||
|
//DTI_REQUESTTABLE | DTR_ORGUNIT,
|
||
|
//DTI_REQUESTTABLE | DTR_COMMONNAME,
|
||
|
//DTI_REQUESTTABLE | DTR_LOCALITY,
|
||
|
//DTI_REQUESTTABLE | DTR_STATE,
|
||
|
//DTI_REQUESTTABLE | DTR_TITLE,
|
||
|
//DTI_REQUESTTABLE | DTR_GIVENNAME,
|
||
|
//DTI_REQUESTTABLE | DTR_INITIALS,
|
||
|
//DTI_REQUESTTABLE | DTR_SURNAME,
|
||
|
//DTI_REQUESTTABLE | DTR_DOMAINCOMPONENT,
|
||
|
//DTI_REQUESTTABLE | DTR_EMAIL,
|
||
|
//DTI_REQUESTTABLE | DTR_STREETADDRESS,
|
||
|
//DTI_REQUESTTABLE | DTR_UNSTRUCTUREDNAME,
|
||
|
//DTI_REQUESTTABLE | DTR_UNSTRUCTUREDADDRESS,
|
||
|
//DTI_REQUESTTABLE | DTR_DEVICESERIALNUMBER,
|
||
|
//DTI_CERTIFICATETABLE | DTC_REQUESTID,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATEHASH,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATETYPE,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATEISSUERNAMEID,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATERAWPUBLICKEY,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATEPUBLICKEYALGORITHM,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATERAWPUBLICKEYALGORITHMPARAMETERS,
|
||
|
//DTI_CERTIFICATETABLE | DTC_RAWNAME,
|
||
|
//DTI_CERTIFICATETABLE | DTC_CERTIFICATERAWSMIMECAPABILITIES,
|
||
|
};
|
||
|
DWORD g_cColumnViewRevoked = ARRAYSIZE(g_aColumnViewRevoked);
|
||
|
|
||
|
|
||
|
DWORD g_aColumnViewExtension[] =
|
||
|
{
|
||
|
DTI_EXTENSIONTABLE | DTE_REQUESTID,
|
||
|
DTI_EXTENSIONTABLE | DTE_EXTENSIONNAME,
|
||
|
DTI_EXTENSIONTABLE | DTE_EXTENSIONFLAGS,
|
||
|
DTI_EXTENSIONTABLE | DTE_EXTENSIONRAWVALUE,
|
||
|
};
|
||
|
DWORD g_cColumnViewExtension = ARRAYSIZE(g_aColumnViewExtension);
|
||
|
|
||
|
|
||
|
DWORD g_aColumnViewAttribute[] =
|
||
|
{
|
||
|
DTI_ATTRIBUTETABLE | DTA_REQUESTID,
|
||
|
DTI_ATTRIBUTETABLE | DTA_ATTRIBUTENAME,
|
||
|
DTI_ATTRIBUTETABLE | DTA_ATTRIBUTEVALUE,
|
||
|
};
|
||
|
DWORD g_cColumnViewAttribute = ARRAYSIZE(g_aColumnViewAttribute);
|
||
|
|
||
|
|
||
|
DWORD g_aColumnViewCRL[] =
|
||
|
{
|
||
|
DTI_CRLTABLE | DTL_ROWID,
|
||
|
DTI_CRLTABLE | DTL_NUMBER,
|
||
|
DTI_CRLTABLE | DTL_MINBASE,
|
||
|
DTI_CRLTABLE | DTL_NAMEID,
|
||
|
DTI_CRLTABLE | DTL_COUNT,
|
||
|
DTI_CRLTABLE | DTL_THISUPDATEDATE,
|
||
|
DTI_CRLTABLE | DTL_NEXTUPDATEDATE,
|
||
|
DTI_CRLTABLE | DTL_THISPUBLISHDATE,
|
||
|
DTI_CRLTABLE | DTL_NEXTPUBLISHDATE,
|
||
|
DTI_CRLTABLE | DTL_EFFECTIVEDATE,
|
||
|
DTI_CRLTABLE | DTL_PROPAGATIONCOMPLETEDATE,
|
||
|
DTI_CRLTABLE | DTL_RAWCRL,
|
||
|
};
|
||
|
DWORD g_cColumnViewCRL = ARRAYSIZE(g_aColumnViewCRL);
|