Поделиться через


Интерфейс IXpsSignatureManager (xpsdigitalsignature.h)

Управляет цифровыми подписями и запросами цифровой подписи документа XPS.

Наследование

Интерфейс IXpsSignatureManager наследуется от интерфейса IUnknown . IXpsSignatureManager также имеет следующие типы элементов:

Методы

Интерфейс IXpsSignatureManager содержит следующие методы.

 
IXpsSignatureManager::AddSignatureBlock

Создает интерфейс IXpsSignatureBlock и добавляет его в коллекцию блоков подписи.
IXpsSignatureManager::CreateSigningOptions

Создает интерфейс IXpsSigningOptions.
IXpsSignatureManager::GetSignatureBlocks

Возвращает указатель на интерфейс IXpsSignatureBlockCollection, содержащий коллекцию блоков подписи.
IXpsSignatureManager::GetSignatureOriginPartName

Возвращает имя части исходной части сигнатуры.
IXpsSignatureManager::GetSignatures

Возвращает указатель на интерфейс IXpsSignatureCollection, содержащий коллекцию цифровых подписей XPS.
IXpsSignatureManager::LoadPackageFile

Загружает существующий пакет XPS из файла в диспетчер цифровых подписей.
IXpsSignatureManager::LoadPackageStream

Загружает пакет XPS из потока в диспетчер цифровых подписей.
IXpsSignatureManager::SavePackageToFile

Сохраняет пакет XPS в файл.
IXpsSignatureManager::SavePackageToStream

Сохраняет пакет XPS, записывая его в поток.
IXpsSignatureManager::SetSignatureOriginPartName

Задает имя части исходной части сигнатуры.
IXpsSignatureManager::Sign

Подписывает содержимое пакета XPS в соответствии с параметрами подписывания и возвращает полученную цифровую подпись.

Комментарии

Чтобы инициализировать диспетчер подписей для использования с документом XPS, создайте экземпляр интерфейса IXpsSignatureManager , вызвав CoCreateInstance , как показано в следующем примере.


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();
}

Интерфейс, созданный CoCreateInstance , может использоваться только одним документом XPS, который необходимо загрузить путем вызова LoadPackageFile или LoadPackageStream перед вызовом любого другого метода.

После создания экземпляра интерфейса IXpsSignatureManager и загрузки документа XPS диспетчер подписей готов к использованию.

Требования

   
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Целевая платформа Windows
Header xpsdigitalsignature.h

См. также раздел

CoCreateInstance

Интерфейсы

XPS