IVsProject.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.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. В противном случае функция возвращает код ошибки.
Комментарии
Подпись COM
Из всшелл. IDL:
HRESULT IVsProject::OpenItem(
[in] VSITEMID itemid,
[in] REFGUID rguidLogicalView,
[in] IUnknown *punkDocDataExisting,
[out] IVsWindowFrame **ppWindowFrame
);
Реализуя IVsProjectSpecificEditorMap2 интерфейс для объекта Project, можно выполнять обработку файлов в конкретном проекте. Это означает, что можно либо открыть файл в редакторе конкретного проекта, либо позволить глобальному редактору открыть этот элемент. Открытие элемента требует запуска редактора с помощью OpenStandardEditor или OpenSpecificEditor , в зависимости от того, какую обработку требуется реализовать. Для получения дополнительной информации см. GetSpecificEditorProperty.
Примечание
В реализации метод не следует OpenItem вызывать Show в рамке окна, которую вы возвращаете ppWindowFrame .
Сравнить с ReopenItem методом.