IVsProject2.AddItem Yöntem

Tanım

Bir projede yeni öğeler oluşturur, var olan dosyaları bir projeye ekler veya öğe ekleme sihirbazlarının çalışmasına neden olur.

public:
 int AddItem(System::UInt32 itemidLoc, Microsoft::VisualStudio::Shell::Interop::VSADDITEMOPERATION dwAddItemOperation, System::String ^ pszItemName, System::UInt32 cFilesToOpen, cli::array <System::String ^> ^ rgpszFilesToOpen, IntPtr hwndDlgOwner, cli::array <Microsoft::VisualStudio::Shell::Interop::VSADDRESULT> ^ pResult);
public int AddItem (uint itemidLoc, Microsoft.VisualStudio.Shell.Interop.VSADDITEMOPERATION dwAddItemOperation, string pszItemName, uint cFilesToOpen, string[] rgpszFilesToOpen, IntPtr hwndDlgOwner, Microsoft.VisualStudio.Shell.Interop.VSADDRESULT[] pResult);
abstract member AddItem : uint32 * Microsoft.VisualStudio.Shell.Interop.VSADDITEMOPERATION * string * uint32 * string[] * nativeint * Microsoft.VisualStudio.Shell.Interop.VSADDRESULT[] -> int
Public Function AddItem (itemidLoc As UInteger, dwAddItemOperation As VSADDITEMOPERATION, pszItemName As String, cFilesToOpen As UInteger, rgpszFilesToOpen As String(), hwndDlgOwner As IntPtr, pResult As VSADDRESULT()) As Integer

Parametreler

itemidLoc
UInt32

'ndaki Eklenmekte olan öğenin kapsayıcı klasörünün tanımlayıcısı. VSITEMID_ROOTYa da geçerli öğe tanımlayıcısı olmalıdır. Bkz. sabit listesi VSITEMID . Yalnızca proje düğümünün alt öğeleri olarak öğe eklemek desteklendiğinden bu parametrenin yok sayıldığını unutmayın. Klasörlerin kavram biçimini destekleyen projeler, öğesine göre öğeleri eklemek ister itemidLoc .

dwAddItemOperation
VSADDITEMOPERATION

'ndaki İşlem yeni oluşturulan öğeye uygulandı. Yalnızca VSADDITEM_ShowAddFolderButton yöntemine geçirilirse VSADDITEMOP_OPENDIRECTORY olabilir AddProjectItemDlg(UInt32, Guid, IVsProject, UInt32, String, String, String, String, Int32) . Bkz. sabit listesi VSADDITEMOPERATION .

pszItemName
String

'ndaki Eklenecek öğenin adı.

cFilesToOpen
UInt32

'ndaki İçindeki öğe sayısı rgpszFilesToOpen . Sıfır olabilir. Bu dwAddItemOperation , veya VSADDITEMOP_OPENDIRECTORY ise 1 olmalıdır VSADDITEMOP_CLONEFILE . Varsa VSADDITEMOP_RUNWIZARD , 1 veya 2 olmalıdır.

rgpszFilesToOpen
String[]

[in, size_is (cFilesToOpen)] Dosya adlarına işaretçiler dizisi OLESTR . dwAddItemOperation VSADDITEMOP_CLONEFILE Veya VSADDITEMOP_OPENDIRECTORY ise dizideki ilk öğe ( rgpszFilesToOpen[0] ) kopyalanacak dosyanın adı ya da açılacak dizin. Eğer ise VSADDITEMOP_RUNWIZARD , ilk öğe ( rgpszFilesToOpen[0] ) çalıştırılacak sihirbazın adı ve ikinci öğe ( rgpszFilesToOpen[1] ) kullanıcının sağladığı dosya adıdır (ile aynı pszItemName ).

hwndDlgOwner
IntPtr

nativeint

'ndaki Öğe Ekle iletişim kutusuna yönelik tanıtıcı.

pResult
VSADDRESULT[]

[Out, retval] VSADDRESULT Öğenin projeye başarıyla eklenip eklenmediğini gösteren numaralandırma işaretçisi.

Döndürülenler

Int32

Yöntem başarılı olursa, döndürür S_OK . Başarısız olursa, bir hata kodu döndürür.

Uygulamalar

Açıklamalar

COM Imzası

Vsshell. IDL dosyasından:

HRESULT IVsProject2::AddItem(  
   [in] VSITEMID itemidLoc,   
   [in] VSADDITEMOPERATION dwAddItemOperation,  
   [in] LPCOLESTR pszItemName,  
   [in] ULONG cFilesToOpen,  
   [in, size_is(cFilesToOpen)] LPCOLESTR rgpszFilesToOpen[],  
   [in] HWND hwndDlgOwner,  
   [out, retval] VSADDRESULT * pResult  
);  

Bu yöntem, öğe Ekle iletişim kutusu tarafından kullanılır. Yöntemi yeni öğeler oluşturabilir, var olan dosyaları ekleyebilir veya öğe ekleme sihirbazları çalıştırmaya neden olabilir.

Bu yöntem yalnızca kullanıcı arabirimi iş parçacığı içinden çağrılmalıdır, aksi takdirde bir oluşturur COMException .

Şunlara uygulanır