Foxit PDF SDK

Public 成员函数 | 所有成员列表
foxit.pdf.CustomSecurityCallback类 参考
类 foxit.pdf.CustomSecurityCallback 继承关系图:

## Public 成员函数
virtual global::System.IntPtr | CreateContext (string filter, string sub_filter, string encrypt_info)
| 用于创建加密和解密上下文的回调函数。 更多...
virtual System.IntPtr | DecryptData (global::System.IntPtr decryptor, global::System.IntPtr encrypted_data, int encrypted_data_len)
| 用于解密加密数据的回调函数。 更多...
virtual bool | EncryptData (global::System.IntPtr context, int obj_num, int gen_num, global::System.IntPtr src_data, int src_data_len, global::System.IntPtr out_dst_buffer, out int out_dst_buffer_len)
| 用于获取加密数据的回调函数。 更多...
virtual string | FinishDecryptor (global::System.IntPtr decryptor)
| 用于完成解密的回调函数。 更多...
virtual SecurityHandler.CipherType | GetCipher (global::System.IntPtr context)
| 用于获取密码类型的回调函数。 更多...
virtual int | GetDecryptedSize (global::System.IntPtr context, int src_data_size)
| 用于获取估计的解密数据大小的回调函数。 更多...
virtual int | GetEncryptedSize (global::System.IntPtr context, int obj_num, int gen_num, global::System.IntPtr src_data, int src_data_len)
| 用于获取估计的加密大小的回调函数。 更多...
virtual string | GetEncryptKey (global::System.IntPtr context)
| 用于获取加密密钥的回调函数。 更多...
override PDFDoc.EncryptType | GetSecurityType ()
| 获取安全回调的加密类型。 更多...
virtual int | GetUserPermissions (global::System.IntPtr context, int user_permission)
| 用于获取用户权限的回调函数。 更多...
virtual bool | IsOwner (global::System.IntPtr context)
| 用于检查当前用户是否是PDF文档所有者的回调函数。 更多...
virtual bool | ReleaseContext (global::System.IntPtr context)
| 用于释放加密和解密上下文的回调函数。 更多...
virtual global::System.IntPtr | StartDecryptor (global::System.IntPtr context, int obj_num, int gen_num)
| 用于开始解密的回调函数。 更多...
virtual bool | UseStandardCryptoMethod (global::System.IntPtr context)
| 用于检查是否使用标准加密方法或自定义加密方法的回调函数。 更多...
Public 成员函数 继承自 foxit.pdf.SecurityCallback
virtual void | Release ()
| 用于释放当前回调对象自身的回调函数。 更多...

## 详细描述

此类表示自定义解密和加密的回调对象。如果用户想要使用 自定义安全回调，用户应该继承此回调类并实现纯虚函数 （作为回调函数），然后通过函数 common.Library.RegisterSecurityCallback 并使用任何自定义过滤器名称（遵循PDF名称约定）向 Foxit PDF SDK 注册自定义安全回调对象。 函数 common.Library.UnregisterSecurityCallback 可以用来注销具有 注册过滤器名称的安全回调对象。

## 成员函数说明

## ◆ CreateContext()

global.System.IntPtr foxit.pdf.CustomSecurityCallback.CreateContext | ( | string | filter,
|  | string | sub_filter,
|  | string | encrypt_info
| ) |  |
| inline virtual

用于创建加密和解密上下文的回调函数。

参数

  [in] | filter | 自定义安全回调对象的过滤器名称。
  [in] | sub_filter | 指定加密字典内容语法的子过滤器名称。
  [in] | encrypt_info | PDF文档的加密信息。

注解
  用户应该实现此回调函数。

返回
  加密上下文。

## ◆ DecryptData()

System.IntPtr foxit.pdf.CustomSecurityCallback.DecryptData | ( | global::System.IntPtr | decryptor,
|  | global::System.IntPtr | encrypted_data,
|  | int | encrypted_data_len
| ) |  |
| inline virtual

用于解密加密数据的回调函数。

参数

  [in] | decryptor | 用户实现和创建的解密器，由回调函数 CustomSecurityCallback.StartDecryptor 返回。
  [in] | encrypted_data | 存储加密数据的缓冲区。
  [in] | encrypted_data_len | 加密数据的长度，以字节为单位。

注解
  用户应该实现此回调函数。

返回
  解密的数据内容。

## ◆ EncryptData()

bool foxit.pdf.CustomSecurityCallback.EncryptData | ( | global::System.IntPtr | context,
|  | int | obj_num,
|  | int | gen_num,
|  | global::System.IntPtr | src_data,
|  | int | src_data_len,
|  | global::System.IntPtr | out_dst_buffer,
|  | out int | out_dst_buffer_len
| ) |  |
| inline virtual

用于获取加密数据的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 CustomSecurityCallback.CreateContext 返回。
  [in] | obj_num | PDF对象的对象编号。
  [in] | gen_num | PDF对象的生成编号。
  [in] | src_data | 存储要加密的纯文本的缓冲区。
  [in] | src_data_len | 缓冲区的长度。
  [out] | out_dst_buffer | 接收加密内容的输出参数。
  [out] | out_dst_buffer_len | 接收加密数据长度的输出参数。

注解
  用户应该实现此回调函数。

返回
  true 表示成功，false 表示失败。

## ◆ FinishDecryptor()

string foxit.pdf.CustomSecurityCallback.FinishDecryptor | ( | global::System.IntPtr | decryptor | ) |
| inline virtual

用于完成解密的回调函数。

参数

  [in] | decryptor | 用户实现和创建的解密器，由回调函数 CustomSecurityCallback.StartDecryptor 返回。

注解
  用户应该实现此回调函数。

返回
  解密的数据内容。

## ◆ GetCipher()

SecurityHandler.CipherType foxit.pdf.CustomSecurityCallback.GetCipher | ( | global::System.IntPtr | context | ) |
| inline virtual

用于获取密码类型的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 CustomSecurityCallback.CreateContext 返回。

注解
  用户应该实现此回调函数。

返回
  密码类型。请参考从 foxit.pdf.SecurityHandler.CipherType.e_CipherNone 开始的值， 应该是这些值中的一个。

## ◆ GetDecryptedSize()

int foxit.pdf.CustomSecurityCallback.GetDecryptedSize | ( | global::System.IntPtr | context,
|  | int | src_data_size
| ) |  |
| inline virtual

用于获取估计的解密数据大小的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 CustomSecurityCallback.CreateContext 返回。
  [in] | src_data_size | 要解密的源数据大小。

注解
  用户应该实现此回调函数。

返回
  估计的解密数据大小。

## ◆ GetEncryptedSize()

int foxit.pdf.CustomSecurityCallback.GetEncryptedSize | ( | global::System.IntPtr | context,
|  | int | obj_num,
|  | int | gen_num,
|  | global::System.IntPtr | src_data,
|  | int | src_data_len
| ) |  |
| inline virtual

用于获取估计的加密大小的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 CustomSecurityCallback.CreateContext 返回。
  [in] | obj_num | PDF对象的对象编号。
  [in] | gen_num | PDF对象的生成编号。
  [in] | src_data | 存储要加密的纯文本的缓冲区。
  [in] | src_data_len | 缓冲区的长度。

注解
  用户应该实现此回调函数。

返回
  估计的加密大小。

## ◆ GetEncryptKey()

string foxit.pdf.CustomSecurityCallback.GetEncryptKey | ( | global::System.IntPtr | context | ) |
| inline virtual

用于获取加密密钥的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 CustomSecurityCallback.CreateContext 返回。

注解
  用户应该实现此回调函数。

返回
  加密密钥。

## ◆ GetSecurityType()

override PDFDoc.EncryptType foxit.pdf.CustomSecurityCallback.GetSecurityType | ( |  | ) |
| inline virtual

获取安全回调的加密类型。

注解
  用户不应覆盖此函数，否则会有意外行为。

返回
  加密类型。它总是返回 foxit.pdf.PDFDoc.EncryptType.e_EncryptCustom 。

重载 foxit.pdf.SecurityCallback .

被 foxit.pdf.RMSSecurityCallback 重载.

## ◆ GetUserPermissions()

int foxit.pdf.CustomSecurityCallback.GetUserPermissions | ( | global::System.IntPtr | context,
|  | int | user_permission
| ) |  |
| inline virtual

用于获取用户权限的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 CustomSecurityCallback.CreateContext 返回。
  [in] | user_permission | 文档的原始权限设置。请参考从 foxit.pdf.PDFDoc.UserPermissions.e_PermPrint 开始的值，可以是这些值中的一个或多个的组合。

注解
  用户应该实现此回调函数。

返回
  新的用户权限。请参考从 foxit.pdf.PDFDoc.UserPermissions.e_PermPrint 开始的值， 应该是这些值中的一个或多个的组合。

## ◆ IsOwner()

bool foxit.pdf.CustomSecurityCallback.IsOwner | ( | global::System.IntPtr | context | ) |
| inline virtual

用于检查当前用户是否是PDF文档所有者的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 CustomSecurityCallback.CreateContext 返回。

注解
  用户应该实现此回调函数。

返回
  true 表示当前用户是所有者，false 表示当前用户不是所有者。

## ◆ ReleaseContext()

bool foxit.pdf.CustomSecurityCallback.ReleaseContext | ( | global::System.IntPtr | context | ) |
| inline virtual

用于释放加密和解密上下文的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 CustomSecurityCallback.CreateContext 返回。

注解
  用户应该实现此回调函数。

返回
  true 表示成功，false 表示失败。

## ◆ StartDecryptor()

global.System.IntPtr foxit.pdf.CustomSecurityCallback.StartDecryptor | ( | global::System.IntPtr | context,
|  | int | obj_num,
|  | int | gen_num
| ) |  |
| inline virtual

用于开始解密的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 CustomSecurityCallback.CreateContext 返回。
  [in] | obj_num | PDF对象的对象编号。
  [in] | gen_num | PDF对象的生成编号。

注解
  用户应该实现此回调函数。

返回
  用户实现和创建的解密器。

## ◆ UseStandardCryptoMethod()

bool foxit.pdf.CustomSecurityCallback.UseStandardCryptoMethod | ( | global::System.IntPtr | context | ) |
| inline virtual

用于检查是否使用标准加密方法或自定义加密方法的回调函数。

参数

  [in] | context | 加密和解密的上下文，由回调函数 CustomSecurityCallback.CreateContext 返回。

返回

      <ul>
      <li>
      <b>true</b> 表示使用标准加密方法。在这种情况下，回调函数 @link CustomSecurityCallback::GetDecryptedSize CustomSecurityCallback.GetDecryptedSize @endlink、@link
      CustomSecurityCallback::StartDecryptor CustomSecurityCallback.StartDecryptor @endlink、 @link CustomSecurityCallback::DecryptData
      CustomSecurityCallback.DecryptData @endlink、@link CustomSecurityCallback::FinishDecryptor CustomSecurityCallback.FinishDecryptor @endlink、 @link
      CustomSecurityCallback::GetEncryptedSize CustomSecurityCallback.GetEncryptedSize @endlink 和 @link CustomSecurityCallback::EncryptData
      CustomSecurityCallback.EncryptData @endlink 将无用， 用户可以为它们使用空实现。
      </li>
      <li>
      <b>false</b> 表示使用自定义加密方法。在这种情况下，请确保上述提到的回调函数都已实现。
      </li>
      </ul>