IVsTextStream.CanReplaceStream(Int32, Int32, Int32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
测试给定的编辑操作是否可以成功 (例如,复制或剪切) 。
public:
int CanReplaceStream(int iPos, int iOldLen, int iNewLen);
public:
int CanReplaceStream(int iPos, int iOldLen, int iNewLen);
int CanReplaceStream(int iPos, int iOldLen, int iNewLen);
public int CanReplaceStream (int iPos, int iOldLen, int iNewLen);
abstract member CanReplaceStream : int * int * int -> int
Public Function CanReplaceStream (iPos As Integer, iOldLen As Integer, iNewLen As Integer) As Integer
参数
- iPos
- Int32
中文本缓冲区中的位置。
- iOldLen
- Int32
中要替换的文本的长度(如果有)。 在插入操作中,此值为零 (0) 。
- iNewLen
- Int32
中新插入文本的长度。
返回
如果该方法成功,则它会返回 S_OK。 如果该方法失败,则会返回错误代码。
注解
COM 签名
从 textmgr:
HRESULT IVsTextStream::CanReplaceStream(
[in] long iPos,
[in] long iOldLen,
[in] long iNewLen
);
在文本缓冲区中,每个更改都将建模为替换操作,而不管是否在行中插入、替换或删除文本。 因此,此方法包含文本缓冲区中的起始位置 (iPos) 和要替换 () 的文本长度 iOldLen 。 若要测试插入操作,请将设置 iOldLen 为零 (0) 。 若要测试是否可以删除文本,请将设置 iNewLen 为零 (0) ,然后将 iOldLen 大于零 (0) 。
CanReplaceStream 用于测试给定的编辑操作 (例如,剪切或复制) 是否可以成功。 失败的可能原因包括:尝试替换只读缓冲区中的文本 (文件处于源代码管理) 或尝试替换缓冲区内只读区域中的文本。