Share via


IVsQueryEditQuerySave2.DeclareReloadableFile Method

Definition

States that a file will be reloaded if it changes on disk.

public:
 int DeclareReloadableFile(System::String ^ pszMkDocument, System::UInt32 rgf, cli::array <Microsoft::VisualStudio::Shell::Interop::VSQEQS_FILE_ATTRIBUTE_DATA> ^ pFileInfo);
int DeclareReloadableFile(std::wstring const & pszMkDocument, unsigned int rgf, std::Array <Microsoft::VisualStudio::Shell::Interop::VSQEQS_FILE_ATTRIBUTE_DATA> const & pFileInfo);
public int DeclareReloadableFile (string pszMkDocument, uint rgf, Microsoft.VisualStudio.Shell.Interop.VSQEQS_FILE_ATTRIBUTE_DATA[] pFileInfo);
abstract member DeclareReloadableFile : string * uint32 * Microsoft.VisualStudio.Shell.Interop.VSQEQS_FILE_ATTRIBUTE_DATA[] -> int
Public Function DeclareReloadableFile (pszMkDocument As String, rgf As UInteger, pFileInfo As VSQEQS_FILE_ATTRIBUTE_DATA()) As Integer

Parameters

pszMkDocument
String

[in] Path to the file on the disk.

rgf
UInt32

[in] Flags whose values for valid file attributes are taken from the tagVSQEQSFlags enumeration. The default value is zero.

pFileInfo
VSQEQS_FILE_ATTRIBUTE_DATA[]

[in] Can be null. This parameter is ignored if rgf is 0. Values are taken from the VSQEQS_FILE_ATTRIBUTE_DATA structure.

Returns

If the method succeeds, it returns S_OK. If it fails, it returns an error code.

Remarks

Used only in special cases.

COM Signature

From ivsqueryeditquerysave2.idl

HRESULT DeclareReloadableFile(  
   [in] LPCOLESTR pszMkDocument,  
   [in] VSQEQSFlags rgf,  
   [in] const VSQEQS_FILE_ATTRIBUTE_DATA* pFileInfo  
);  

The environment automatically calls this service method on behalf of a project for its root node, and for solution .sln files. It is also called in the following circumstances:

  • So the project or editor can ensure that the service knows the file is reloadable.

    -or-

  • When IsDocDataReloadable specifies it by returning true. (This is the recommended case.)

If no other information is available, then items that are passed to QueryEditFiles, QuerySaveFile, QuerySaveFiles, or OnAfterAttributeChange (RDTA_DocDataIsDirty) are considered to be reloadable only if declared so. An item is also reloadable if the doc object supports IVsPersistDocData or if the parent hierarchy supports IVsPersistHierarchyItem2. It is possible for files to transition from being reloadable to unreloadable during the lifetime of an editor.

Note

By default, a file is assumed to be not reloadable in the absence of IVsPersistDocData or IVsPersistHierarchyItem2.

Applies to