Condividi tramite


Metodo IOpcSignatureReferenceSet::Create (msopc.h)

Crea un puntatore all'interfaccia IOpcSignatureReference che rappresenta un riferimento a un elemento XML da firmare.

Sintassi

HRESULT Create(
  [in]          IUri                        *referenceUri,
  [in]          LPCWSTR                     referenceId,
  [in]          LPCWSTR                     type,
  [in]          LPCWSTR                     digestMethod,
  [in]          OPC_CANONICALIZATION_METHOD transformMethod,
  [out, retval] IOpcSignatureReference      **reference
);

Parametri

[in] referenceUri

URI dell'elemento XML a cui si fa riferimento.

Impostare il valore di questo parametro su un URI che rappresenta "#" seguito dal valore dell'attributo Id dell'elemento a cui si fa riferimento: "#<elementIdValue>".

Per esempi, vedere la sezione Osservazioni.

[in] referenceId

Attributo Id dell'elemento Reference che rappresenta il riferimento nel markup della firma. Per omettere l'attributo Id , impostare questo valore del parametro su NULL.

[in] type

Attributo Type dell'elemento Reference che rappresenta il riferimento nel markup della firma. Per omettere l'attributo Type , impostare questo valore del parametro su NULL.

[in] digestMethod

Metodo digest da utilizzare per fare riferimento al markup XML. Per usare il metodo digest predefinito, impostare questo valore del parametro su NULL.

Importante Il metodo digest predefinito deve essere impostato chiamando il metodo IOpcSigningOptions::SetDefaultDigestMethod prima che venga chiamato IOpcDigitalSignatureManager::Sign .
 

[in] transformMethod

Metodo di canonizzazione a cui fare riferimento per il markup XML.

[out, retval] reference

Nuovo puntatore all'interfaccia IOpcSignatureReference che rappresenta il riferimento all'elemento XML da firmare.

Valore restituito

Il metodo restituisce un valore HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice/valore restituito Descrizione
S_OK
Il metodo è riuscito.
E_INVALIDARG
Il valore passato nel parametro transformMethod non è un valore di enumerazione valido OPC_CANONICALIZATION_METHOD .
E_POINTER
Il parametro referenceUri è NULL.
OPC_E_DS_PACKAGE_REFERENCE_URI_RESERVED
0x80510025
Il valore dell'attributo URI riservato dell'elemento Reference della firma per l'oggetto del pacchetto viene utilizzato come valore dell'attributo URI di un elemento Reference a un elemento Object personalizzato.

Commenti

Questo metodo crea un riferimento a un elemento XML firmato quando viene generata la firma. L'elemento a cui si fa riferimento può essere un elemento Object specifico dell'applicazione o un elemento figlio di un oggetto specifico dell'applicazione.

Per fare riferimento a un elemento XML per la firma, impostare il valore del parametro referenceUri su un URI che rappresenta "#" seguito dal valore dell'attributo Id dell'elemento a cui si fa riferimento, come illustrato nella tabella seguente.

referenceUri Valore come stringa Elemento referenced Descrizione elemento
"#idMyCustomObject" "<Object Id="idMyCustomObject">...</Object>" Elemento Object specifico dell'applicazione.
"#idMyElement" "<Object><MyElement Id="idMyElement">...</MyElement>...</Object>" Elemento figlio di un oggetto specifico dell'applicazione.
 

Questo metodo non crea il riferimento all'elemento Object specifico del pacchetto da firmare; tale riferimento viene creato automaticamente quando viene generata la firma.

Quando viene creato un puntatore all'interfaccia IOpcSignatureReference e aggiunto al set, il riferimento che rappresenta viene salvato quando il pacchetto viene salvato.

Thread safety

I pacchetti degli oggetti non sono thread-safe.

Per altre informazioni, vedere l'Introduzione con l'API per la creazione di pacchetti.

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione msopc.h

Vedi anche

Interfacce di creazione di pacchetti principali

Introduzione con l'API per la creazione di pacchetti

IOpcDigitalSignatureManager

IOpcSignatureReferenceSet

IOpcSigningOptions

OPC_CANONICALIZATION_METHOD

Cenni preliminari

Guida alla programmazione dell'API per la creazione di pacchetti

Informazioni di riferimento sulle API per la creazione di pacchetti

Esempi di API per la creazione di pacchetti

Creazione di pacchetti di interfacce di firma digitale

Interfacce di creazione di pacchetti

Riferimento