DAOpenFileWithEncryptionKeyA
ドキュメント管理、ダイレクトアクセス機能、セキュリティ
説明
末尾のAはANSI(char)DLLエントリポイントを示します。ActiveX/COMサーフェスはUnicode形式のみを公開します。動作はDAOpenFileWithEncryptionKeyと同一で、文字列引数は現在のSetAnsiModeコードページで解釈されますパスワードから導出する代わりに16進ファイル暗号化キーを直接受け付けることで、認可された復旧や調査のために暗号化PDFを開きますファイルはソース読み取り専用のハンドルを通じて開かれ、インプレースでの追記はできません
構文
Delphi
Function DLDAOpenFileWithEncryptionKeyA(InstanceID: Integer; InputFileName, EncryptionKeyHex: PAnsiChar; Options: Integer): Integer; Stdcall;DLL
int DLDAOpenFileWithEncryptionKeyA(int InstanceID, const char * InputFileName, const char * EncryptionKeyHex, int Options);パラメータ
| InputFileName | 暗号化PDFのパスとファイル名 |
|---|---|
| EncryptionKeyHex | 接頭辞や空白を含まない偶数長のASCII 16進キー。リビジョン2から4では暗号化ディクショナリが宣言する正確なキー長が必要で、リビジョン5から7では32バイトが必要です |
| Options | 0は使用可能なベリファイアを要求します。PDF_RAW_KEY_ALLOW_UNVERIFIEDは、ドキュメントに使用可能なベリファイアが存在しない場合に限り、それ以外は有効なキーを許可します |
戻り値
| 非0 | Direct Accessファイルハンドル |
|---|---|
| 0 | 入力を開けませんでした。LastErrorCodeを確認してください。構文、長さ、オプション、検証のいずれかが無効な場合はPDFLIB_ERROR_RAW_ENCRYPTION_KEY_INVALIDが含まれます |
備考
利用可能なリビジョン2から4の/U値とリビジョン5から7の/Perms値は常に検査されます。PDF_RAW_KEY_ALLOW_UNVERIFIEDが不一致を受け入れることはありませんオープン後に
DAGetEncryptionKeyValidationを呼び出すと、検証済みと明示的に未検証のハンドルを区別できますANSI文字列は、要求が処理される前に現在の
SetAnsiModeコードページでワイド文字に変換されますキーは機密性の高いクレデンシャル素材であり、ドキュメントのパスワードと同じ管理の下で取得、移送、保管する必要があります