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 для запрошенного редактора.

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

Int32

Если метод завершается успешно, возвращает значение 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 параметр), и среда определит соответствующий стандартный редактор на основе расширения файла.

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