ICategory::AddRelationshipToProduct

Ee811023.c++_off(en-US,CS.10).gifEe811023.vb_on(en-US,CS.10).gif

Use this method to add a relationship between the specified product and this category. This relationship must be given a name and may optionally be given a description. The description can include information that describes the nature of the relationship between the categories (for example, an "accessory" or "add-on").

Definition

HRESULT ICategory::AddRelationshipToProduct(VARIANTvarRelatedProductID,BSTRstrRelationshipName,VARIANTstrRelationshipDescription);

Parameters

varRelatedProductID

[in] A VARIANT that contains the ID of the related product.

strRelationshipName

[in] A BSTR that contains a name for the relationship.

strRelationshipDescription

[in, optional] A VARIANT that contains an optional description for the relationship.

Return Values

This method returns an HRESULT indicating whether it completed successfully. See the Error Values section for more details.

Error Values

This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.

The following table shows the custom COM errors that this method can return.

Constant Value Description
E_CAT_INVALID_RELATION 0x88980039 The relationship was invalid. A category or product cannot be related to itself
E_CAT_INVALID_RELATION_DESC 0x88980055 The relationship description exceeded 256 characters
E_CAT_INVALID_RELATION_NAME 0x88980054 The relationship name exceeded 128 characters
E_CAT_PRODUCT_DOESNT_EXIST 0x8898001E The specified product did not exist.
E_CAT_RELATIONSHIP_EXISTS 0x88980033 There was already a relationship with the specified product.

Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.

Remarks

In order for this method to complete successfully, the product identified must already exist.

When multiple relationships are created between a category and product, each relationship must have a unique name.

For more information about memory ownership issues related to COM property and method parameters, see Managing COM Parameter Memory.

See Also

Category Object

ICategory::RemoveRelationshipToProduct


All rights reserved.