Compartilhar via


Método IOpcRelationshipSet::CreateRelationship (msopc.h)

Cria um objeto de relação que representa uma relação especificada e adiciona ao conjunto um ponteiro para a interface IOpcRelationship do objeto.

Sintaxe

HRESULT CreateRelationship(
  [in]          LPCWSTR             relationshipIdentifier,
  [in]          LPCWSTR             relationshipType,
  [in]          IUri                *targetUri,
  [in]          OPC_URI_TARGET_MODE targetMode,
  [out, retval] IOpcRelationship    **relationship
);

Parâmetros

[in] relationshipIdentifier

Um identificador exclusivo da relação a ser representada como o objeto de relação. Para usar um identificador gerado aleatoriamente, passe NULL para esse parâmetro.

Identificadores válidos estão em conformidade com as restrições para xsd:ID, documentadas na seção 3.3.8 ID da Recomendação W3C, Esquema XML Parte 2: Datatypes Second Edition (http://www.w3.org/TR/xmlschema-2/#ID).

[in] relationshipType

O tipo de relação que define a função da relação a ser representada como o objeto de relação.

[in] targetUri

Um URI para o destino da relação a ser representada como o objeto de relação.

Se o valor em targetMode for OPC_URI_TARGET_MODE_INTERNAL, target será uma parte e o URI deverá ser relativo à origem da relação.

Se o valor em targetMode for OPC_URI_TARGET_MODE_EXTERNAL, target será um recurso fora do pacote e o URI poderá ser absoluto ou relativo ao local do pacote.

Para obter mais informações sobre o URI do destino de uma relação, consulte o OPC.

[in] targetMode

Um valor que indica se o destino da relação a ser representada como objeto de relação é interno ou externo ao pacote.

[out, retval] relationship

Um ponteiro para a interface IOpcRelationship do objeto de relação que representa a relação.

Esse parâmetro poderá ser NULL se um ponteiro para o novo objeto não for necessário.

Retornar valor

O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.

Valor/código retornado Descrição
S_OK
O método foi bem-sucedido.
E_INVALIDARG
O valor passado no parâmetro targetMode não é um valor de enumeração OPC_URI_TARGET_MODE válido.
E_POINTER
Pelo menos um dos parâmetros relationshipType e targetUri é NULL.
OPC_E_DUPLICATE_RELATIONSHIP
0x80510013
Já existe uma relação com o mesmo identificador no pacote atual.
OPC_E_INVALID_RELATIONSHIP_ID
0x80510010
O atributo ID de uma relação não está em conformidade com as regras especificadas no OPC.
OPC_E_INVALID_RELATIONSHIP_TARGET
0x80510012
O URI em targetUri é absoluto e o valor em targetMode é OPC_URI_TARGET_MODE_INTERNAL. O URI do destino deve ser relativo quando esse modo de destino é especificado.
OPC_E_INVALID_RELATIONSHIP_TARGET
0x80510012
O atributo Target de uma relação não está em conformidade com as regras especificadas no OPC.
OPC_E_INVALID_RELATIONSHIP_TYPE
0x80510011
O atributo Type de uma relação não está em conformidade com as regras especificadas no OPC.
Erro de consumo de pacote
Um código de erro HRESULT do Grupo de Erros de Consumo de Pacote.
Erro de URI de parte
Um código de erro HRESULT do Grupo de Erros do URI de Parte.

Comentários

Quando um objeto de relação é criado e um ponteiro para ele é adicionado ao conjunto, a relação que ele representa é salva quando o pacote é salvo.

A interface IOpcRelationship fornece acesso às propriedades de relação. Para obter detalhes sobre essas propriedades, consulte Visão geral de relações e IOpcRelationship.

Acesso thread-safe

Os objetos de empacotamento não são thread-safe.

Para obter mais informações, consulte o Introdução com a API de Empacotamento.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho msopc.h

Confira também

ECMA-376 OpenXML

Recursos externos

Introdução com a API de Empacotamento

IOpcRelationshipSet

OPC_URI_TARGET_MODE

Conceitos básicos de convenções de empacotamento aberto

Visões gerais

Referência da API de Empacotamento

Exemplos de API de empacotamento

Erros de empacotamento

Referência

Visão geral de relações

Recomendação W3C, Esquema XML Parte 2: Tipos de dados Segunda Edição