IPersistFileCheckSum.CalculateCheckSum 方法

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

命名空间:  Microsoft.VisualStudio.TextManager.Interop
程序集:  Microsoft.VisualStudio.TextManager.Interop.8.0(在 Microsoft.VisualStudio.TextManager.Interop.8.0.dll 中)

语法

声明
Function CalculateCheckSum ( _
    ByRef guidCheckSumAlgorithm As Guid, _
    cbBufferSize As UInteger, _
    <OutAttribute> pbHash As Byte(), _
    <OutAttribute> ByRef pcbActualSize As UInteger _
) As Integer
int CalculateCheckSum(
    ref Guid guidCheckSumAlgorithm,
    uint cbBufferSize,
    byte[] pbHash,
    out uint pcbActualSize
)
int CalculateCheckSum(
    [InAttribute] Guid% guidCheckSumAlgorithm, 
    [InAttribute] unsigned int cbBufferSize, 
    [OutAttribute] array<unsigned char>^ pbHash, 
    [OutAttribute] unsigned int% pcbActualSize
)
abstract CalculateCheckSum : 
        guidCheckSumAlgorithm:Guid byref * 
        cbBufferSize:uint32 * 
        pbHash:byte[] byref * 
        pcbActualSize:uint32 byref -> int
function CalculateCheckSum(
    guidCheckSumAlgorithm : Guid, 
    cbBufferSize : uint, 
    pbHash : byte[], 
    pcbActualSize : uint
) : int

参数

  • guidCheckSumAlgorithm
    类型:Guid%

    [in] 表示算法的 GUID 使用

  • cbBufferSize
    类型:UInt32

    [in] 传递的缓冲区大小

  • pbHash
    类型:array<Byte[]

    [out] 检查和编写的缓冲区

  • pcbActualSize
    类型:UInt32%

    [out] 需要的缓冲区大小

返回值

类型:Int32
如果方法成功,则返回 S_OK。如果失败,它会返回一个错误代码。

备注

COM 签名

从 textmgr2.idl:

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

即如果通过缓冲区大小。 cbBufferSize 不为零,则此函数返回 E_INVALIDARG。 ,但是,如果缓冲区大小传递的是零,则返回成功。 在这两种情况下,所需的缓冲区大小是通过 pcbActualSize返回。 对于 MD5 算法,需要的最大需的缓冲区大小为 16 字节。 对于 SHA1 算法,最大需的缓冲区大小为 20 字节

.NET Framework 安全性

请参阅

参考

IPersistFileCheckSum 接口

Microsoft.VisualStudio.TextManager.Interop 命名空间