I_IrmProtector.HrUnprotect Method
This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
Generates an unprotected version of the specified rights-managed file.
HRESULT HrUnprotect(
ILockBytes *pilbInput,
ILockBytes *pilbOutput,
I_IrmPolicyInfo *piid,
DWORD *pdwStatus
) PURE;
Parameters
pilbInput
[in] The rights-managed file.
pilbOutput
[out] The unprotected stream that the Information Rights Management (IRM) protector generates from the rights-managed file.
piid
[in] A link to data about the file to protect, and the user requesting it.
pdwStatus
[in] The status of the method call. Possible values are:
MSOIPI_STATUS_UNKNOWN
The result of the method cannot be determined.
MSOIPI_STATUS_UNPROTECT_SUCCESS
The protector has successfully generated the unprotected file stream.
MSOIPI_STATUS_ALREADY_UNPROTECTED
The specified file is not protected.
MSOIPI_STATUS_CANT_UNPROTECT
A general failure of the protector.
MSOIPI_STATUS_NOT_MY_FILE
The specified file is not of a file type associated with this IRM protector.
MSOIPI_STATUS_FILE_CORRUPT
The specified file is corrupt.
MSOIPI_STATUS_WSS_IRM_FAILED
The protector is unable to access its rights management platform.
MSOIPI_STATUS_BAD_INSTALL
The protector is not installed properly.
Return Value
The protector methods return typical HRESULT values. In general, the protector should return a positive OK value for success or a negative FAIL value when unsuccessful.
Remarks
The I_IrmProtector Interface is implemented by both integrated and autonomous IRM protectors. For more information about integrated and autonomous protectors, see Custom IRM Protectors.
For integrated IRM protectors:
Integrated protectors do not need to implement this method. An integrated protector should return the HRESULT E_NOTIMPL if this method is called.
For autonomous IRM protectors:
Windows SharePoint Services calls this method to unprotect rights-managed files of the file types associated with this protector. For autonomous protectors, you must implement the I_IrmProtector.HrProtect Method method so that it configures and executes the entire rights management process.
In general, you should implement the HrUnprotect5 method of an autonomous protector so that it accomplishes the following tasks:
Use the piid parameter of the I_IrmPolicyInfo.HrSetListGuid Method method to provide Windows SharePoint Services with the document library GUID that is stored in the rights metadata of the file. Windows SharePoint Services uses this GUID to guarantee that the file is uploaded to the document library from which it was downloaded.
Use the pilbOutput argument to provide Windows SharePoint Services with an unencrypted version of the file.
Return the appropriate status value in the pwdStatus argument.
See Also
Reference
Concepts
Information Rights Management in Windows SharePoint Services Overview