IVsUIShellOpenDocument.GetStandardEditorFactory Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Returns the editor factory associated with a specific document (for example, a file type).
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
Parameters
- dwReserved
- UInt32
[in] Reserved for future use.
- pguidEditorType
- Guid
[in, out] GUID of the editor factory you want returned. To indicate which editor factory should be returned, specify a value for pguidEditorType
or pszMkDocument
. Do not provide values for both parameters.
- pszMkDocument
- String
[in] String form of the moniker identifier of the document in the project system, for example, the full path to the file. To indicate which editor factory should be returned, specify a value for pszMkDocument
or pguidEditorType
. Do not provide values for both parameters.
- rguidLogicalView
- Guid
[in] GUID identifying the logical view. For a list of logical view GUIDS, see Logical View and Physical View.
- pbstrPhysicalView
- String
[out] Physical view string corresponding to the view that is associated with the logical view GUID passed in rguidLogicalView
.
- ppEF
- IVsEditorFactory
[out, retval] Pointer to the IVsEditorFactory implementation for the requested editor.
Returns
If the method succeeds, it returns S_OK. If it fails, it returns an error code.
Remarks
COM Signature
From vsshell.idl:
HRESULT IVsUIShellOpenDocument::GetStandardEditorFactory(
[in] DWORD dwReserved,
[in, out] GUID *pguidEditorType,
[in] LPCOLESTR pszMkDocument,
[in] REFGUID rguidLogicalView,
[out] BSTR *pbstrPhysicalView,
[out, retval] IVsEditorFactory **ppEF
);
Call IVsUIShellOpenDocument.GetStandardEditor
if you need to programmatically access the underlying document data of an editor, but you do not need the full editor window instantiated. To do this, you first need to call IVsUIShellOpenDocument.GetStandardEditor
to get a pointer to the editor factory (IVsEditorFactory). Once you have this, you can call CreateEditorInstance.
If you do not own the editor factory and thus do not know the editor GUID (pguidEditorType
parameter), you can get the editor GUID in one of the following ways:
If you have instantiated the editor before, you can use the editor GUID value attached to the window frame, which you might have cached after determining it by calling GetProperty and specifying a value of VSFPROPID_guidEditorType for the
propid
parameter.If you have a pointer to the document data object, you can call GetGuidEditorType to access the editor GUID.
If it is not possible for you to specify the editor GUID, then specify the path to the document (pszMkDocument
parameter) and the environment determines the appropriate standard editor based on the file extension.