Método IOpcSignatureRelationshipReferenceSet::Create (msopc.h)
Cria um ponteiro de interface IOpcSignatureRelationshipReference que representa uma referência a uma parte Relações e adiciona o novo ponteiro de interface ao conjunto. Todos ou um subconjunto das relações armazenadas na parte Relações a serem referenciadas são selecionados para assinatura.
Sintaxe
HRESULT Create(
[in] IOpcUri *sourceUri,
[in] LPCWSTR digestMethod,
[in] OPC_RELATIONSHIPS_SIGNING_OPTION relationshipSigningOption,
[in] IOpcRelationshipSelectorSet *selectorSet,
[in] OPC_CANONICALIZATION_METHOD transformMethod,
[out, retval] IOpcSignatureRelationshipReference **relationshipReference
);
Parâmetros
[in] sourceUri
Um ponteiro de interface IOpcUri que representa o URI de origem das relações a serem selecionadas para assinatura.
[in] digestMethod
O método digest a ser usado para as relações a serem selecionadas. Para usar o método de resumo padrão, passe NULL nesse parâmetro.
[in] relationshipSigningOption
Um valor que indica se as relações selecionadas para assinatura incluem todos ou um subconjunto das relações na parte Relações a ser referenciada.
Para obter informações sobre o efeito dos valores relationshipSigningOption em outros parâmetros, consulte Comentários.
[in] selectorSet
Um ponteiro de interface IOpcRelationshipSelectorSet que pode ser usado para identificar um subconjunto de relações na parte Relações a ser selecionada para assinatura.
Se relationshipSigningOption estiver definido como OPC_RELATIONSHIP_SIGN_PART, selectorSet será NULL.
Para obter informações sobre os valores de selectorSet , consulte Comentários.
[in] transformMethod
Um valor que descreve o método de canonicalização a ser aplicado à marcação de relação das relações selecionadas.
Se relationshipSigningOption for definido OPC_RELATIONSHIP_SIGN_USING_SELECTORS, o valor de transformMethod será ignorado.
Para obter mais informações sobre os métodos de transformação a serem aplicados quando relationshipSigningOption estiver definido como OPC_RELATIONSHIP_SIGN_USING_SELECTORS, consulte Comentários.
[out, retval] relationshipReference
Um novo ponteiro de interface IOpcSignatureRelationshipReference que representa a parte Relações referenciadas.
Retornar valor
O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.
Código de retorno | Descrição |
---|---|
|
O método foi bem-sucedido. |
|
O valor passado no parâmetro relationshipSigningOption não é um valor de enumeração OPC_RELATIONSHIPS_SIGNING_OPTION válido. |
|
O valor passado no parâmetro transformMethod não é um valor de enumeração OPC_CANONICALIZATION_METHOD válido. |
|
O parâmetro sourceUri é NULL. |
|
O parâmetro selectorSet não está sendo passado NULL enquanto o parâmetro relationshipSigningOption é passado um valor de OPC_RELATIONSHIP_SIGN_PART. |
Comentários
Esse método cria uma referência a uma parte Relações. Todo ou um subconjunto das relações armazenadas em uma parte relações referenciada pode ser assinado quando a assinatura é gerada.
Para assinar todas as relações em uma parte Relações, chame esse método com o valor do parâmetro relationshipSigningOption definido como OPC_RELATIONSHIP_SIGN_PART e o valor do parâmetro selectorSet definido como NULL.
Para assinar um subconjunto das relações em uma parte Relações, chame esse método com o valor do parâmetro relationshipSigningOption definido como OPC_RELATIONSHIP_SIGN_USING_SELECTORS e o valor do parâmetro selectorSet definido como um ponteiro de interface IOpcRelationshipSelectorSet . Para criar um ponteiro de interface IOpcRelationshipSelectorSet , chame o método CreateRelationshipSelectorSet .
A tabela a seguir resume os valores de parâmetro exigidos por esse método para criar uma referência que indica se todas as relações ou um subconjunto das relações (que são armazenadas na parte Relações a serem referenciadas) devem ser assinadas.
Descrição | relationshipSigningOption Valor | selectorSet Valor |
---|---|---|
Assinar todas as relações na parte Relações | OPC_RELATIONSHIP_SIGN_PART | NULL |
Assinar um subconjunto das relações na parte Relações | OPC_RELATIONSHIP_SIGN_USING_SELECTORS | Um ponteiro de interface IOpcRelationshipSelectorSet |
Se um subconjunto de relações for assinado, o método de transformação especificado será ignorado. Em vez disso, quando a assinatura é gerada, a primeira transformação aplicada é a Transformação relações e a segunda é a OPC_CANONICALIZATION_C14N método de canonicalização.
Quando um ponteiro de interface IOpcSignatureRelationshipReference é criado e adicionado ao conjunto, a referência que ele representa é salva quando o pacote é salvo.
As relações que não serão assinadas podem ser removidas, modificadas ou adicionadas ao pacote sem invalidar a assinatura. Se um subconjunto de relações tiver sido selecionado para assinatura e o subconjunto for alterado, a assinatura será invalidada.
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
Principais interfaces de empacotamento
Introdução com a API de Empacotamento
IOpcSignatureRelationshipReferenceSet
OPC_RELATIONSHIPS_SIGNING_OPTION
Visões gerais
Guia de Programação da API de Empacotamento
Referência da API de Empacotamento
Exemplos de API de empacotamento
Empacotando interfaces de assinatura digital
Referência