Partager via


Initialiser le gestionnaire de signatures

Cette rubrique explique comment initialiser le gestionnaire de signatures à utiliser avec un document XPS.

Avant d’utiliser les exemples de code suivants dans votre programme, lisez l’exclusion de responsabilité dans les Tâches courantes de programmation de signature numérique.

Pour utiliser les fonctionnalités Windows 7 de l’API Crypto, définissez le symbole CRYPT_OID_INFO_HAS_EXTRA_FIELDS comme suit :

#define CRYPT_OID_INFO_HAS_EXTRA_FIELDS

Ensuite, instanciez une interface IXpsSignatureManager en appelant CoCreateInstance, comme illustré dans l’exemple de code suivant.

IXpsSignatureManager    *newInterface;

// Note the implicit requirement that CoInitializeEx 
//  has previously been called from this thread.

hr = CoCreateInstance(
    __uuidof(XpsSignatureManager),
    NULL, 
    CLSCTX_INPROC_SERVER,
    __uuidof(IXpsSignatureManager),
    reinterpret_cast<LPVOID*>(&newInterface));

// make sure that you got a pointer 
// to the interface
if (SUCCEEDED(hr)) {
    // Load document into signature manager from file.
    //  xpsDocument is initialized with the file name
    //  of the document to load outside of this example.
    hr = newInterface->LoadPackageFile (xpsDocument);

    // Use newInterface

    // Release interface pointers when finished with them 
    newInterface->Release();
}    

L’interface instanciée par CoCreateInstance peut être utilisée par un seul document XPS qui doit être chargé en appelant LoadPackageFile ou LoadPackageStream avant d’appeler n’importe quelle autre méthode.

Une fois que l’interface IXpsSignatureManager a été instanciée et qu’un document XPS a été chargé, le gestionnaire de signatures est prêt à être utilisé.

Étapes suivantes

Signer un document

Ajouter une demande de signature à un document XPS

Vérifier les signatures du document

Utilisé dans cette section

CoCreateInstance

IXpsSignatureManager

Pour plus d'informations

Erreurs de l’API Signature numérique XPS

Erreurs de document XPS

XML Paper Specification