IVsTrackProjectDocumentsEvents2.OnQueryAddDirectories Method (IVsProject, Int32, String[], VSQUERYADDDIRECTORYFLAGS[], VSQUERYADDDIRECTORYRESULTS[], VSQUERYADDDIRECTORYRESULTS[])

 

This method notifies the client when a project has requested to add directories.

Namespace:   Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop (in Microsoft.VisualStudio.Shell.Interop.dll)

int OnQueryAddDirectories(
	IVsProject pProject,
	int cDirectories,
	string[] rgpszMkDocuments,
	VSQUERYADDDIRECTORYFLAGS[] rgFlags,
	VSQUERYADDDIRECTORYRESULTS[] pSummaryResult,
	VSQUERYADDDIRECTORYRESULTS[] rgResults
)

Parameters

pProject
Type: Microsoft.VisualStudio.Shell.Interop.IVsProject

[in] Project to which the directories will be added.

cDirectories
Type: System.Int32

[in] Number of directories to add.

rgpszMkDocuments
Type: System.String[]

[in] Array of paths for the directories to add.

rgFlags
Type: Microsoft.VisualStudio.Shell.Interop.VSQUERYADDDIRECTORYFLAGS[]

[in] Flags identifying information about each directory. For a list of rgFlags values, see VSQUERYADDDIRECTORYFLAGS.

pSummaryResult
Type: Microsoft.VisualStudio.Shell.Interop.VSQUERYADDDIRECTORYRESULTS[]

[out] Summary result object. This object is a summation of the yes and no results for the array of directories passed in rgpszMkDocuments. If the result for a single directory is no, then pSummaryResult is equal to VSQUERYADDDIRECTORYRESULTS_AddNotOK; if the results for all directories are yes, then pSummaryResult is equal to VSQUERYADDDIRECTORYRESULTS_AddOK. For a list of pSummaryResult values, see VSQUERYADDDIRECTORYRESULTS.

rgResults
Type: Microsoft.VisualStudio.Shell.Interop.VSQUERYADDDIRECTORYRESULTS[]

[out] Array of results. For a list of rgResults values, see VSQUERYADDDIRECTORYRESULTS.

Return Value

Type: System.Int32

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

From IVsTrackProjectDocumentsEvents2.idl

HRESULT IVsTrackProjectDocumentsEvents2::OnQueryAddDirectories(
   [in] IVsProject *pProject,
   [in] int cDirectories,
   [in, size_is(cDirectories)] const LPCOLESTR rgpszMkDocuments[],
   [in, size_is(cDirectories)] const VSQUERYADDDIRECTORYFLAGS rgFlags[],
   [out] VSQUERYADDDIRECTORYRESULTS *pSummaryResult,
   [out, size_is(cDirectories)] VSQUERYADDDIRECTORYRESULTS rgResults[]
);

Use IVsTrackProjectDocumentsEvents2.OnQueryAddDirectories to indicate whether specified directories can be added to the project. Deny a query only if allowing the operation would compromise your stable state. For example, source control denies add queries if a file being added conflicts with an existing file already under source control.

Return to top
Show: