IVsProject3.OpenItem(UInt32, Guid, IntPtr, IVsWindowFrame) Метод

Определение

Открывает элемент в проекте.

public:
 int OpenItem(System::UInt32 itemid, Guid % rguidLogicalView, IntPtr punkDocDataExisting, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsWindowFrame ^ % ppWindowFrame);
public int OpenItem (uint itemid, ref Guid rguidLogicalView, IntPtr punkDocDataExisting, out Microsoft.VisualStudio.Shell.Interop.IVsWindowFrame ppWindowFrame);
abstract member OpenItem : uint32 * Guid * nativeint * IVsWindowFrame -> int
Public Function OpenItem (itemid As UInteger, ByRef rguidLogicalView As Guid, punkDocDataExisting As IntPtr, ByRef ppWindowFrame As IVsWindowFrame) As Integer

Параметры

itemid
UInt32

[in] Идентификатор открываемого элемента. Должен быть VSITEMID_ROOT или другой допустимый идентификатор элемента. См. перечисление VSITEMID.

rguidLogicalView
Guid

[in] Уникальный идентификатор логического представления. Если не GUID_NULL, указывает на определенный тип представления, которое требуется создать. Более подробную информацию см. в разделе LOGVIEWID.

punkDocDataExisting
IntPtr

[in] Указатель на объект данных документа элемента, который следует открыть. Если вызывающая сторона OpenItem имела указатель на объект данных документа, она передавала его в punkDocDataExisting параметре. Если бы вызывающий объект знал, что объект данных документа не был открыт, он бы передал null. Если вызывающий объект не знал, открыт ли объект данных документа, или не хотел искать его в таблице открытых документов (RDT), чтобы узнать это, он мог передать DOCDATAEXISTING_UNKNOWN. Если передается такое значение, OpenStandardEditor(UInt32, String, Guid, String, IVsUIHierarchy, UInt32, IntPtr, IServiceProvider, IVsWindowFrame) будет искать значения в RDT путем вызова FindAndLockDocument(UInt32, String, IVsHierarchy, UInt32, IntPtr, UInt32) (RDT_EditLock), чтобы определить, открыт ли уже файл (объект данных документа).

ppWindowFrame
IVsWindowFrame

[out] Указатель на интерфейс IVsWindowFrame.

Возвращаемое значение

Int32

Если метод завершается успешно, возвращает значение S_OK. В противном случае функция возвращает код ошибки.

Реализации

Комментарии

Подпись COM

Из всшелл. IDL:

HRESULT IVsProject3::OpenItem(  
   [in] VSITEMID itemid,  
   [in] REFGUID rguidLogicalView,  
   [in] IUnknown *punkDocDataExisting,  
   [out] IVsWindowFrame **ppWindowFrame  
);  

Реализуя IVsProjectSpecificEditorMap2 интерфейс для объекта Project, можно выполнять обработку файлов в конкретном проекте. Это означает, что можно либо открыть файл в редакторе конкретного проекта, либо позволить глобальному редактору открыть этот элемент. Открытие элемента требует запуска редактора с помощью OpenStandardEditor или OpenSpecificEditor , в зависимости от того, какую обработку требуется реализовать. Для получения дополнительной информации см. GetSpecificEditorProperty.

Примечание

В реализации метод не следует OpenItem вызывать Show в рамке окна, которую вы возвращаете ppWindowFrame .

Сравнить с ReopenItem методом.

Применяется к