3.1.4.2.5 ICertAdminD2::EnumViewColumnTable (Opnum 35)

The EnumViewColumnTable method retrieves information about one or more columns from the specified CA database table.

 HRESULT EnumViewColumnTable(
   [in, string, unique] wchar_t const* pwszAuthority,
   [in] DWORD iTable,
   [in] DWORD iColumn,
   [in] DWORD cColumn,
   [out] DWORD* pcColumn,
   [out, ref] CERTTRANSBLOB* pctbColumnInfo
 );

pwszAuthority: See the definition of the pwszAuthority parameter in section 3.1.4.1.1.

iTable: An unsigned integer that specifies the database table to be used for the enumeration. This MUST be set from the following values.

Value

Meaning

0x00000000

Request table

0x00003000

Extension table

0x00004000

Attribute table

0x00005000

CRL table

iColumn: An unsigned integer that specifies the column number with which to begin the enumeration. Valid values are from 0 to one less than the maximum number of columns for the table.

cColumn: An unsigned integer that specifies the requested number of columns to return.

pcColumn: A pointer to an unsigned integer that receives the actual number of CERTTRANSDBCOLUMN structures returned.

pctbColumnInfo: A pointer to a CERTTRANSBLOB structure. Upon return, the pb member of this structure points to an array of the marshaled CERTTRANSDBCOLUMN structures. The format and marshaling for the value of pctbColumnInfo MUST be as specified in section 2.2.1.7.

The EnumViewColumnTable method returns information to the client about columns that are associated with a specific table. The CA server MUST enforce the following processing rules:

  • The CA server MUST enforce that the iTable parameter has a value as specified in the previous table; otherwise, it MUST fail with the error ERROR_INVALID_PARAMETER.

  • The CA server MUST enforce that iColumn is less than the number of columns associated with the table; otherwise, it MUST fail with the error ERROR_ARITHMETIC_OVERFLOW.

  • The CA server MUST enforce that cColumn is greater than 0; otherwise, it MUST fail with the error ERROR_INVALID_PARAMETER.<71>

  • The CA server MUST use the value of iColumn to identify the column identifier that is associated with the table (identified by the value of the iTable parameter).

  • The number of column information returned MUST be a minimum of the cColumn value and the remaining number of columns in the table (starting from iColumn). The value of *pcColumn MUST be set to the number of the column information returned.