Partager via


IVsTrackProjectDocuments2.OnQueryAddDirectories Method

Definition

This method is called by a project to determine whether directories can be added to the project.

public:
 int OnQueryAddDirectories(Microsoft::VisualStudio::Shell::Interop::IVsProject ^ pProject, int cDirectories, cli::array <System::String ^> ^ rgpszMkDocuments, cli::array <Microsoft::VisualStudio::Shell::Interop::VSQUERYADDDIRECTORYFLAGS> ^ rgFlags, cli::array <Microsoft::VisualStudio::Shell::Interop::VSQUERYADDDIRECTORYRESULTS> ^ pSummaryResult, cli::array <Microsoft::VisualStudio::Shell::Interop::VSQUERYADDDIRECTORYRESULTS> ^ rgResults);
public:
 int OnQueryAddDirectories(Microsoft::VisualStudio::Shell::Interop::IVsProject ^ pProject, int cDirectories, Platform::Array <Platform::String ^> ^ rgpszMkDocuments, Platform::Array <Microsoft::VisualStudio::Shell::Interop::VSQUERYADDDIRECTORYFLAGS> ^ rgFlags, Platform::Array <Microsoft::VisualStudio::Shell::Interop::VSQUERYADDDIRECTORYRESULTS> ^ pSummaryResult, Platform::Array <Microsoft::VisualStudio::Shell::Interop::VSQUERYADDDIRECTORYRESULTS> ^ rgResults);
int OnQueryAddDirectories(Microsoft::VisualStudio::Shell::Interop::IVsProject const & pProject, int cDirectories, std::Array <std::wstring const &> const & rgpszMkDocuments, std::Array <Microsoft::VisualStudio::Shell::Interop::VSQUERYADDDIRECTORYFLAGS> const & rgFlags, std::Array <Microsoft::VisualStudio::Shell::Interop::VSQUERYADDDIRECTORYRESULTS> const & pSummaryResult, std::Array <Microsoft::VisualStudio::Shell::Interop::VSQUERYADDDIRECTORYRESULTS> const & rgResults);
public int OnQueryAddDirectories (Microsoft.VisualStudio.Shell.Interop.IVsProject pProject, int cDirectories, string[] rgpszMkDocuments, Microsoft.VisualStudio.Shell.Interop.VSQUERYADDDIRECTORYFLAGS[] rgFlags, Microsoft.VisualStudio.Shell.Interop.VSQUERYADDDIRECTORYRESULTS[] pSummaryResult, Microsoft.VisualStudio.Shell.Interop.VSQUERYADDDIRECTORYRESULTS[] rgResults);
abstract member OnQueryAddDirectories : Microsoft.VisualStudio.Shell.Interop.IVsProject * int * string[] * Microsoft.VisualStudio.Shell.Interop.VSQUERYADDDIRECTORYFLAGS[] * Microsoft.VisualStudio.Shell.Interop.VSQUERYADDDIRECTORYRESULTS[] * Microsoft.VisualStudio.Shell.Interop.VSQUERYADDDIRECTORYRESULTS[] -> int
Public Function OnQueryAddDirectories (pProject As IVsProject, cDirectories As Integer, rgpszMkDocuments As String(), rgFlags As VSQUERYADDDIRECTORYFLAGS(), pSummaryResult As VSQUERYADDDIRECTORYRESULTS(), rgResults As VSQUERYADDDIRECTORYRESULTS()) As Integer

Parameters

pProject
IVsProject

[in] Project containing the renamed directories.

cDirectories
Int32

[in] Number of directories to be added.

rgpszMkDocuments
String[]

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

rgFlags
VSQUERYADDDIRECTORYFLAGS[]

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

pSummaryResult
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
VSQUERYADDDIRECTORYRESULTS[]

[out] Array of results[].For a list of rgResults values, see VSQUERYADDDIRECTORYRESULTS. Note   If you pass in null for this parameter, then only the summary result will be returned (pSummaryResult).

Returns

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

Remarks

COM Signature

From IVsTrackProjectDocuments2.idl

HRESULT IVsTrackProjectDocuments2::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[]  
);  

Call this method when you want to add directories to the project. This method must be called before the directories are added. The environment will return a flag indicating which directories can be added. After you have received authorization to add the directories and you have added them, call OnAfterAddDirectories to confirm that the directories have been added.

Note

All directory calls are optional. However, if you call one of the OnQuery* directory methods, then you are required to call the corresponding OnAfter* directory method if the OnQuery* call was successful.

Applies to