2.2.2.3 CATRANSPROP

The CATRANSPROP structure encapsulates information about a CA property. For a list of CA properties, see section 3.2.1.4.3.2. An array of these structures is carried in a CERTTRANSBLOB (section 2.2.2.2) structure, and is returned by GetCAPropertyInfo, as specified in section 3.2.1.4.3.3. Note that this structure does not contain property values themselves; rather, CATRANSPROP contains information about properties.

 typedef struct _CATRANSPROP {
   LONG lPropID;
   BYTE propType;
   BYTE Reserved;
   USHORT propFlags;
   ULONG obwszDisplayName;
 } CATRANSPROP;

lPropID: Integer value that MUST contain the property identifier. For the list of supported properties, see section 3.2.1.4.3.2.

propType: Byte value that MUST contain the data type for the property. Must be one of the following values.

Value

Meaning

PROPTYPE_LONG

0x1

Property type is a signed long integer.

PROPTYPE_DATE

0x2

Property type is a date-time value.

PROPTYPE_BINARY

0x3

Property type is binary data.

PROPTYPE_STRING

0x4

Property type is a string.

Reserved: MUST be set to 0 and ignored upon receipt.

propFlags: 16-bit flag field.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

I

Where the bits are defined as:

Value

Description

I

                

This bit provides indication that the property is indexed and has multiple values. If this bit is set to 1, then a property is indexed. If the bit is set to 0, then the property is not indexed.

obwszDisplayName: Integer that MUST contain the offset to the string that contains the display name of this property, where the offset begins at the beginning of the byte array referenced by the pb field of the containing CERTTRANSBLOB (section 2.2.2.2) structure. The string format MUST be null-terminated [UNICODE]. The offset MUST be DWORD-aligned. For marshaling information about this property, see Marshaling CATRANSPROP in a CERTTRANSBLOB (section 2.2.2.3.1).