3.1.4.16.1 CreateConfiguration (Opnum 3)

This method is called by a client to create an alternate launch configuration, as specified in section 3.1.1.4, for a conglomeration.

 HRESULT CreateConfiguration(
   [in] GUID ConglomerationIdentifier,
   [in] BSTR bstrConfigurationName,
   [in] DWORD dwStartType,
   [in] DWORD dwErrorControl,
   [in] BSTR bstrDependencies,
   [in] BSTR bstrRunAs,
   [in] BSTR bstrPassword,
   [in] VARIANT_BOOL bDesktopOk
 );

ConglomerationIdentifier: The conglomeration identifier of a conglomeration on the server.

bstrConfigurationName: A value to be used as the AlternateLaunchName property of the alternate launch configuration.

dwStartType: A value to be used as the StartType property of the alternate launch configuration.

dwErrorControl: A value to be used as the ErrorControl property of the alternate launch configuration.

bstrDependencies: A value to be used as the Dependencies property of the alternate launch configuration.

bstrRunAs: A value to be used as the AlternateLaunchRunAs property of the alternate launch configuration.

bstrPassword: A value to be used as the AlternateLaunchPassword property of the alternate launch configuration.

bDesktopOk: A value to be used as the DesktopOk property of the alternate launch configuration.

Return Values: This method MUST return S_OK (0x00000000) on success, and a failure result, as specified in [MS-ERREF], section 2.1, on failure. All failure results MUST be treated identically.

Return value/code

Description

0x00000000

S_OK

The call was successful.

Upon receiving a call to this method, the server MUST verify that catalog version negotiation has been performed by checking the negotiated catalog version, as specified in section 3.1.1.5, and fail the call if not.

The server then MUST verify that there exists in the Conglomerations Table a conglomeration identified by ConglomerationIdentifier, that this conglomeration allows updates, and that this conglomeration does not have an alternate launch configuration, failing the call if not.

The server then MUST attempt to create an alternate launch configuration for the conglomeration, using the values specified for the properties, and fail the call if it cannot.