I_IrmProtector.HrProtect メソッド
最終更新日: 2009年10月7日
適用対象: SharePoint Foundation 2010
指定された保護されていないファイルの、権限が管理されたバージョンを生成します。
HRESULT HrProtect(
ILockBytes *pilbInput,
ILockBytes *pilbOutput,
I_IrmPolicyInfo *piid,
DWORD *pdwStatus
) PURE;
パラメーター
pilbInput
[in] 保護されていないファイル。
pilbOutput
[out] 指定された保護されていないファイルから Information Rights Management (IRM) プロテクタによって生成された、権限が管理されたストリーム。
piid
[in] 保護するファイルおよび要求したユーザーについてのデータへのリンク。
pdwStatus
[in] メソッド呼び出しの状態。以下のいずれかの値を使用できます。
MSOIPI_STATUS_UNKNOWN
メソッドの結果を特定できません。
MSOIPI_STATUS_PROTECT_SUCCESS
プロテクタは、保護されたファイル ストリームの生成に成功しました。
MSOIPI_STATUS_ALREADY_PROTECTED
ファイルは既に IRM で保護されています。
MSOIPI_STATUS_CANT_PROTECT
プロテクタに何らかのエラーが発生しました。
MSOIPI_STATUS_NOT_MY_FILE
指定されたファイルは、この IRM プロテクタに関連付けられているファイルの種類ではありません。
MSOIPI_STATUS_FILE_CORRUPT
指定されたファイルは壊れています。
MSOIPI_STATUS_WSS_IRM_FAILED
プロテクタが、アクセス権管理プラットフォームにアクセスできません。
MSOIPI_STATUS_BAD_INSTALL
プロテクタが正しくインストールされていません。
戻り値
プロテクタのメソッドは、一般的な HRESULT 値を返します。通常、プロテクタは、成功した場合は正の OK 値を返し、失敗した場合は負の FAIL 値を返す必要があります。
コメント
I_IrmProtector インターフェイスI_IrmProtector インターフェイスカスタム IRM プロテクタカスタム IRM プロテクタ
統合 IRM プロテクタの場合 :
統合プロテクタは、このメソッドを実装する必要はありません。このメソッドが呼び出された場合、統合プロテクタは HRESULT E_NOTIMPL を返す必要があります。
自律 IRM プロテクタの場合 :
このメソッドは、IRM プロテクタが認識できる種類の保護されていないファイルを表すデータのストリームを受け取り、そのファイルの保護されたバージョンを表す対応するデータ ストリームを生成します。自律プロテクタの場合は、権限管理プロセス全体を構成して実行できるように I_IrmProtector.HrProtect メソッド メソッドを実装する必要があります。
SharePoint Foundation によって piid 引数で渡される I_IrmPolicyInfo クラス オブジェクトを使用すると、以下の情報にアクセスできます。
要求されたファイルが置かれているドキュメント ライブラリの GUID および URL。
ファイルを要求したユーザーの電子メール アドレス、およびユーザーのファイルに対する権限を指定した権限マスク。
ドキュメント ライブラリの IRM ポリシーのタイトルと説明。
ファイルにユーザーがアクセスできる日数。
このデータを IRM 対応クライアント アプリケーションが利用できる形に変換するのは自律プロテクタの責任です。
通常、以下のタスクを実行できるように、自律プロテクタの I_IrmProtector.HrProtect メソッド メソッドを実装する必要があります。
要求されたファイルの重要な部分を暗号化する。
権限が管理されたファイルに対する正しい権限を、ファイルを要求したユーザーに付与する。
権限が管理されたファイルに対するフル コントロール権限を、SharePoint Foundation サーバー、またはこの自律プロテクタの I_IrmProtector.HrUnprotect メソッド メソッドがアクセスできる別のユーザーに与える。
ドキュメント ライブラリの GUID をファイルの権限に関するメタデータに追加する。
必要に応じて、ポリシーのタイトルや説明などのその他の権限に関するメタデータをファイルに追加する。
pwdStatus 引数で適切な状態の値を返す。
ファイル形式の開発者は、これらのデータ コンポーネントを、ファイル内のどこに、どのようにして格納するかを決定する必要があります。ただし、IRM プロテクタは、この種類のファイルの表示および編集に使用されるクライアント アプリケーションを考慮する必要があります。
保護されたストリームには、プロテクタのファイルの種類を表示するクライアント側のビューアの以前のバージョンと下位互換性のある警告メッセージを含めることもできます。