Metodo IOpcSignatureRelationshipReferenceSet::Create (msopc.h)
Crea un puntatore all'interfaccia IOpcSignatureRelationshipReference che rappresenta un riferimento a una parte Relazioni e aggiunge il nuovo puntatore di interfaccia al set. Per la firma vengono selezionati tutti o un subset delle relazioni archiviate nella parte Relazioni a cui fare riferimento.
Sintassi
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
);
Parametri
[in] sourceUri
Puntatore all'interfaccia IOpcUri che rappresenta l'URI di origine delle relazioni da selezionare per la firma.
[in] digestMethod
Metodo digest da utilizzare per la selezione delle relazioni. Per usare il metodo digest predefinito, passare NULL in questo parametro.
[in] relationshipSigningOption
Valore che indica se le relazioni selezionate per la firma includono tutti o un subset delle relazioni nella parte Relazioni a cui fare riferimento.
Per informazioni sull'effetto dei valori relationshipSigningOption su altri parametri, vedere Osservazioni.
[in] selectorSet
Puntatore all'interfaccia IOpcRelationshipSelectorSet che può essere utilizzato per identificare un subset di relazioni nella parte Relazioni da selezionare per la firma.
Se relationshipSigningOption è impostato su OPC_RELATIONSHIP_SIGN_PART, selectorSet è NULL.
Per informazioni sui valori selectorSet , vedere Osservazioni.
[in] transformMethod
Valore che descrive il metodo di canonizzazione da applicare al markup della relazione delle relazioni selezionate.
Se relationshipSigningOption è impostato OPC_RELATIONSHIP_SIGN_USING_SELECTORS, il valore di transformMethod viene ignorato .
Per altre informazioni sui metodi di trasformazione da applicare quando relationshipSigningOption è impostato su OPC_RELATIONSHIP_SIGN_USING_SELECTORS, vedere Osservazioni.
[out, retval] relationshipReference
Nuovo puntatore all'interfaccia IOpcSignatureRelationshipReference che rappresenta la parte Relazioni a cui si fa riferimento.
Valore restituito
Il metodo restituisce un valore HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.
Codice restituito | Descrizione |
---|---|
|
Il metodo è riuscito. |
|
Il valore passato nel parametro relationshipSigningOption non è un valore di enumerazione OPC_RELATIONSHIPS_SIGNING_OPTION valido. |
|
Il valore passato nel parametro transformMethod non è un valore di enumerazione valido OPC_CANONICALIZATION_METHOD . |
|
Il parametro sourceUri è NULL. |
|
Il parametro selectorSet non viene passato NULL mentre il parametro relationshipSigningOption viene passato un valore di OPC_RELATIONSHIP_SIGN_PART. |
Commenti
Questo metodo crea un riferimento a una parte Relazioni. È possibile firmare tutti o un subset delle relazioni archiviate in una parte Relazioni a cui si fa riferimento quando viene generata la firma.
Per firmare tutte le relazioni in una parte Relazioni, chiamare questo metodo con il valore del parametro relationshipSigningOption impostato su OPC_RELATIONSHIP_SIGN_PART e il valore del parametro selectorSet impostato su NULL.
Per firmare un subset delle relazioni in una parte Relazioni, chiamare questo metodo con il valore del parametro relationshipSigningOption impostato su OPC_RELATIONSHIP_SIGN_USING_SELECTORS e il valore del parametro selectorSet impostato su un puntatore all'interfaccia IOpcRelationshipSelectorSet . Per creare un puntatore all'interfaccia IOpcRelationshipSelectorSet , chiamare il metodo CreateRelationshipSelectorSet .
Nella tabella seguente vengono riepilogati i valori dei parametri richiesti da questo metodo per creare un riferimento che indica se tutte le relazioni o un subset delle relazioni (archiviate nella parte Relazioni a cui fare riferimento) devono essere firmate.
Descrizione | relationshipSigningOption Valore | SelectorSet Valore |
---|---|---|
Firmare tutte le relazioni nella parte Relazioni | OPC_RELATIONSHIP_SIGN_PART | NULL |
Firmare un subset delle relazioni nella parte Relazioni | OPC_RELATIONSHIP_SIGN_USING_SELECTORS | Puntatore all'interfaccia IOpcRelationshipSelectorSet |
Se un subset di relazioni deve essere firmato, il metodo di trasformazione specificato viene ignorato. Al contrario, quando viene generata la firma, la prima trasformazione applicata è La trasformazione Relazioni e la seconda è il OPC_CANONICALIZATION_C14N metodo di canonizzazione.
Quando viene creato un puntatore all'interfaccia IOpcSignatureRelationshipReference e aggiunto al set, il riferimento rappresentato viene salvato quando il pacchetto viene salvato.
Le relazioni che non verranno firmate possono essere rimosse, modificate o aggiunte al pacchetto senza invalidare la firma. Se è stato selezionato un subset di relazioni per la firma e il subset viene modificato, la firma verrà invalidata.
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
IOpcSignatureRelationshipReferenceSet
OPC_RELATIONSHIPS_SIGNING_OPTION
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