3.2.4.1.4 SetCAConfigInformation (Opnum 6)

This method sets all the properties for a particular revocation configuration.

 HRESULT SetCAConfigInformation(
   [in, ref] const BSTR bstrCAId,
   [in, ref] const VARIANT* pEntryValue
 );

bstrCAId: This is a BSTR that specifies the RevocationConfigurationId for the revocation configuration whose properties are to be set.

pEntryValue: This is a pointer to a VARIANT data type that contains the names and values of the properties to set.

The following processing rules apply:

  1. If bstrCAId is NULL or empty, the server SHOULD return the error E_INVALIDARG (0x80000003L).

  2. The type of the variant as identified by pEntryValue MUST be either VT_EMPTY or VT_ARRAY|VT_VARIANT. If pEntryValue is a variant of type VT_ARRAY|VT_VARIANT, each element in this variant array SHOULD be a property identified in section 3.2.1.1, with the exception of the KeySpec property as noted in the table in that section. If the variant is of any other type, the responder SHOULD fail the request with an error code of 0x8000FFFF.

  3. If there is a revocation configuration in the RevocationConfigurationList with the same RevocationConfigurationId as the value of bstrCAId, then:

    1. If pEntryValue is of type VT_EMPTY, the responder MUST delete the revocation configuration identified by bstrCAId from the RevocationConfigurationList, delete all its associated properties, and return success.

    2. If pEntryValue is of type VT_ARRAY|VT_VARIANT, the responder MUST delete the original revocation configuration from RevocationConfigurationList, add a new entry with the same RevocationConfigurationId, store the properties and values in the VARIANT reference by pEntryValue parameter, and return success.

  4. If there is not a revocation configuration in the RevocationConfigurationList with the same RevocationConfigurationId as the value of bstrCAId, then:

    1. If pEntryValue is of type VT_ARRAY|VT_VARIANT, the responder MUST create a new revocation configuration in the RevocationConfigurationList, and the responder MUST store all the properties present in the pEntryValue parameter for the new revocation configuration. The responder MUST successfully process the request.

    2. If pEntryValue is of type VT_EMPTY, the responder MUST fail the request. The error code SHOULD be 0x800710d8.