IVsUIShellOpenDocument.GetStandardEditorFactory(UInt32, Guid, String, Guid, String, IVsEditorFactory) Método

Definição

Retorna a fábrica do editor associada a um documento específico (por exemplo, um tipo de arquivo).

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

Parâmetros

dwReserved
UInt32

no Reservado para uso futuro.

pguidEditorType
Guid

[entrada, saída] GUID da fábrica do editor que você deseja retornar. Para indicar qual fábrica do editor deve ser retornada, especifique um valor para pguidEditorType ou pszMkDocument . Não forneça valores para ambos os parâmetros.

pszMkDocument
String

no Forma de cadeia de caracteres do identificador do moniker do documento no sistema do projeto, por exemplo, o caminho completo para o arquivo. Para indicar qual fábrica do editor deve ser retornada, especifique um valor para pszMkDocument ou pguidEditorType . Não forneça valores para ambos os parâmetros.

rguidLogicalView
Guid

no GUID que identifica a exibição lógica. Para obter uma lista de GUIDs de exibição lógica, consulte exibição lógica e exibição física.

pbstrPhysicalView
String

fora Cadeia de caracteres de exibição física correspondente à exibição associada ao GUID de exibição lógica passado rguidLogicalView .

ppEF
IVsEditorFactory

[out, retval] Ponteiro para a IVsEditorFactory implementação do editor solicitado.

Retornos

Int32

Se o método for bem-sucedido, retornará S_OK. Se falhar, retornará um código de erro.

Comentários

Assinatura COM

De 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  
);  

Chame IVsUIShellOpenDocument.GetStandardEditor se você precisar acessar programaticamente os dados do documento subjacente de um editor, mas não precisará da janela completa do editor instanciada. Para fazer isso, primeiro você precisa chamar IVsUIShellOpenDocument.GetStandardEditor para obter um ponteiro para a fábrica do editor ( IVsEditorFactory ). Depois de fazer isso, você pode chamar CreateEditorInstance .

Se você não possuir a fábrica do editor e, portanto, não souber o GUID do editor ( pguidEditorType parâmetro), poderá obter o GUID do editor de uma das seguintes maneiras:

  • Se você tiver instanciado o editor antes, poderá usar o valor de GUID do editor anexado ao quadro da janela, que pode ter sido armazenado em cache após sua determinação chamando GetProperty e especificando um valor de VSFPROPID_guidEditorType para o propid parâmetro.

  • Se você tiver um ponteiro para o objeto de dados do documento, poderá chamar GetGuidEditorType para acessar o GUID do editor.

Se não for possível especificar o GUID do editor, especifique o caminho para o documento ( pszMkDocument parâmetro) e o ambiente determinará o editor padrão apropriado com base na extensão do arquivo.

Aplica-se a