IVsUIShellOpenDocument.GetStandardEditorFactory(UInt32, Guid, String, Guid, String, IVsEditorFactory) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает фабрику редактора, связанную с конкретным документом (например, типом файла).
public:
int GetStandardEditorFactory(System::UInt32 dwReserved, [Runtime::InteropServices::Out] Guid % pguidEditorType, System::String ^ pszMkDocument, Guid % rguidLogicalView, [Runtime::InteropServices::Out] System::String ^ % pbstrPhysicalView, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsEditorFactory ^ % ppEF);
public int GetStandardEditorFactory (uint dwReserved, out Guid pguidEditorType, string pszMkDocument, ref Guid rguidLogicalView, out string pbstrPhysicalView, out Microsoft.VisualStudio.Shell.Interop.IVsEditorFactory ppEF);
abstract member GetStandardEditorFactory : uint32 * Guid * string * Guid * string * IVsEditorFactory -> int
Public Function GetStandardEditorFactory (dwReserved As UInteger, ByRef pguidEditorType As Guid, pszMkDocument As String, ByRef rguidLogicalView As Guid, ByRef pbstrPhysicalView As String, ByRef ppEF As IVsEditorFactory) As Integer
Параметры
- dwReserved
- UInt32
[in] Зарезервирован для будущего использования.
- pguidEditorType
- Guid
[in, out] Идентификатор GUID фабрики редактора, который необходимо вернуть. Чтобы указать, какая Фабрика редактора должна быть возвращена, укажите значение для pguidEditorType или pszMkDocument . Не предоставляйте значения для обоих параметров.
- pszMkDocument
- String
[in] Строковый формат идентификатора моникера документа в системе проектов, например полный путь к файлу. Чтобы указать, какая Фабрика редактора должна быть возвращена, укажите значение для pszMkDocument или pguidEditorType . Не предоставляйте значения для обоих параметров.
- rguidLogicalView
- Guid
[in] Идентификатор GUID, определяющий логическое представление. Список идентификаторов GUID логических представлений см. в разделе с описанием логических и физических представлений.
- pbstrPhysicalView
- String
заполняет Строка физического представления, соответствующая представлению, связанному с идентификатором GUID логического представления, переданным в rguidLogicalView .
- ppEF
- IVsEditorFactory
[out, retval] Указатель на реализацию IVsEditorFactory для запрошенного редактора.
Возвращаемое значение
Если метод завершается успешно, возвращает значение S_OK. В противном случае функция возвращает код ошибки.
Комментарии
Подпись COM
Из всшелл. IDL:
HRESULT IVsUIShellOpenDocument::GetStandardEditorFactory(
[in] DWORD dwReserved,
[in, out] GUID *pguidEditorType,
[in] LPCOLESTR pszMkDocument,
[in] REFGUID rguidLogicalView,
[out] BSTR *pbstrPhysicalView,
[out, retval] IVsEditorFactory **ppEF
);
Вызовите IVsUIShellOpenDocument.GetStandardEditor , если требуется программный доступ к базовым данным документа редактора, но не требуется полное окно редактора. Для этого сначала необходимо вызвать метод, IVsUIShellOpenDocument.GetStandardEditor чтобы получить указатель на фабрику редактора ( IVsEditorFactory ). После этого можно вызвать метод CreateEditorInstance .
Если вы не владеете фабрикой редактора и, таким образом, не узнаете GUID редактора ( pguidEditorType параметр), идентификатор GUID редактора можно получить одним из следующих способов:
Если вы создали экземпляр редактора ранее, можно использовать значение GUID редактора, присоединенное к фрейму окна, который мог быть кэширован после его определения путем вызова метода GetProperty и указания значения VSFPROPID_guidEditorType для
propidпараметра.Если у вас есть указатель на объект данных документа, можно вызвать GetGuidEditorType для доступа к GUID редактора.
Если вы не можете указать GUID редактора, укажите путь к документу ( pszMkDocument параметр), и среда определит соответствующий стандартный редактор на основе расширения файла.