IPersistFileCheckSum.CalculateCheckSum(Guid, UInt32, Byte[], UInt32) 方法

定义

使用指定的算法计算关联文本缓冲区的文件表示形式的检查总和。

public:
 int CalculateCheckSum(Guid % guidCheckSumAlgorithm, System::UInt32 cbBufferSize, cli::array <System::Byte> ^ pbHash, [Runtime::InteropServices::Out] System::UInt32 % pcbActualSize);
public int CalculateCheckSum (ref Guid guidCheckSumAlgorithm, uint cbBufferSize, byte[] pbHash, out uint pcbActualSize);
abstract member CalculateCheckSum : Guid * uint32 * byte[] * uint32 -> int
Public Function CalculateCheckSum (ByRef guidCheckSumAlgorithm As Guid, cbBufferSize As UInteger, pbHash As Byte(), ByRef pcbActualSize As UInteger) As Integer

参数

guidCheckSumAlgorithm
Guid

中表示要使用的算法的 GUID

cbBufferSize
UInt32

中传入的缓冲区大小

pbHash
Byte[]

弄校验和写入到的缓冲区

pcbActualSize
UInt32

弄需要缓冲区大小

返回

Int32

如果该方法成功,则它会返回 S_OK。 如果该方法失败,则会返回错误代码。

注解

COM 签名

从 textmgr2:

HRESULT IPersistFileCheckSum::CalculateCheckSum(  
   [in] REFGUID guidCheckSumAlgorithm,  
   [in] DWORD cbBufferSize,  
   [out, size_is(cbBufferSize)] BYTE *pbHash,  
   [out] DWORD *pcbActualSize  
);  

如果传入的缓冲区大小 cbBufferSize 为非零,则此函数返回 E_INVALIDARG 。 但如果传入的缓冲区大小为零,则它将返回 success。 在这两种情况下,所需的缓冲区大小都通过返回 pcbActualSize 。 对于 MD5 算法,所需的最大缓冲区大小为16字节。 对于 SHA1 算法,所需的最大缓冲区大小为20个字节

适用于