IVsQueryEditQuerySave2.QuerySaveFiles 方法

通知该环境多文件将被保存。

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

语法

声明
Function QuerySaveFiles ( _
    rgfQuerySave As UInteger, _
    cFiles As Integer, _
    rgpszMkDocuments As String(), _
    rgrgf As UInteger(), _
    rgFileInfo As VSQEQS_FILE_ATTRIBUTE_DATA(), _
    <OutAttribute> ByRef pdwQSResult As UInteger _
) As Integer
int QuerySaveFiles(
    uint rgfQuerySave,
    int cFiles,
    string[] rgpszMkDocuments,
    uint[] rgrgf,
    VSQEQS_FILE_ATTRIBUTE_DATA[] rgFileInfo,
    out uint pdwQSResult
)

参数

  • rgfQuerySave
    类型:System.UInt32
    [in] 标志当前不使用。调用方在默认空标记应始终通过,为零。
  • rgpszMkDocuments
    类型:array<System.String[]
    [in] 文件的路径在磁盘上。

返回值

类型:System.Int32

如果方法失败,则返回错误代码。
如果搜索成功,则返回:

说明说明

如果编辑器尝试保存多个文件,必须知道批处理的状态和不同之处。未和移除之间。调用每个文件的 QuerySaveFile 方法。如果环境返回 QSR_NoSave_UserCanceledQSR_NoSave_Cancel,则保存被取消。如果环境返回在批处理的文件不会保存的 QSR_NoSave_Continue,则,但是,您可以继续保存其他文件。

*pdwQSResult 的结果是:

备注

COM 签名

从 ivsqueryeditquerysave2.idl

HRESULT QuerySaveFiles(
   [in] VSQuerySaveFlags rgfQuerySave,
   [in] int cFiles,
   [in, size_is(cFiles)] const LPCOLESTR rgpszMkDocuments[],
   [in, size_is(cFiles)] const VSQEQSFlags rgrgf[],
   [in, size_is(cFiles)] const VSQEQS_FILE_ATTRIBUTE_DATA rgFileInfo[],
   [out, retval] VSQuerySaveResult *pdwQSResult
);

在项目或编辑之前保存文件,它必须调用此方法或 QuerySaveFile 方法。对于项目文件,这些调用解决方案将自动完成,知道何时保存项目文件。,除非 IVsPersistDocData2 的编辑器实现使用 helper 函数 SaveDocDataToFile 方法,编辑器对进行这些负责调用。如果编辑器上述实现 IVsPersistDocData2 ,则为 QuerySaveFile 方法或 QuerySaveFiles 的电话为您调用。

在保存任何内容之前调用此方法以磁盘。只在统一的处理只读和注册的文件,共享方式。

此方法可能需要发出签出命令确保该文件是可写 (例如,文件,则在内存中编辑)。对于提供 “签出本地版本”选项的源代码管理提供程序,这是安全操作。对于不的源代码管理提供程序,则签出操作无法完成不丢失数据。在这种情况下, 保存 就成为唯一的选择。

.NET Framework 安全性

请参见

参考

IVsQueryEditQuerySave2 接口

Microsoft.VisualStudio.Shell.Interop 命名空间