Compartilhar via


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

 

Publicado: abril de 2016

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

Namespace:   Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop (em Microsoft.VisualStudio.Shell.Interop.dll)

Sintaxe

int GetStandardEditorFactory(
    uint dwReserved,
    ref Guid pguidEditorType,
    string pszMkDocument,
    [InAttribute] ref Guid rguidLogicalView,
    out string pbstrPhysicalView,
    out IVsEditorFactory ppEF
)
int GetStandardEditorFactory(
    unsigned int dwReserved,
    Guid% pguidEditorType,
    String^ pszMkDocument,
    [InAttribute] Guid% rguidLogicalView,
    [OutAttribute] String^% pbstrPhysicalView,
    [OutAttribute] IVsEditorFactory^% ppEF
)
abstract GetStandardEditorFactory : 
        dwReserved:uint32 *
        pguidEditorType:Guid byref *
        pszMkDocument:string *
        rguidLogicalView:Guid byref *
        pbstrPhysicalView:string byref *
        ppEF:IVsEditorFactory byref -> int
Function GetStandardEditorFactory (
    dwReserved As UInteger,
    ByRef pguidEditorType As Guid,
    pszMkDocument As String,
    <InAttribute> ByRef rguidLogicalView As Guid,
    <OutAttribute> ByRef pbstrPhysicalView As String,
    <OutAttribute> ByRef ppEF As IVsEditorFactory
) As Integer

Parâmetros

  • dwReserved
    [in] Reservado para uso futuro.
  • pguidEditorType
    [in, out] GUID da fábrica de editor que você deseja que sejam retornados.Para indicar a fábrica do editor deve ser retornada, especifique um valor para pguidEditorType ou pszMkDocument.Não fornecem valores para ambos os parâmetros.
  • pszMkDocument
    [in] Formulário do identificador do identificador de origem do documento em seqüência no sistema de projeto, por exemplo, o caminho completo para o arquivo.Para indicar a fábrica do editor deve ser retornada, especifique um valor para pszMkDocument ou pguidEditorType.Não fornecem valores para ambos os parâmetros.
  • rguidLogicalView
    [in] GUID que identifica o modo de exibição lógico.Para obter uma lista de GUIDS de exibição lógica, consulte modos de exibição lógico e físico.
  • pbstrPhysicalView
    [out] Cadeia de caracteres de exibição física correspondente ao modo de exibição que está associado com a exibição lógica GUID passado rguidLogicalView.
  • ppEF
    [out, retval] Ponteiro para o IVsEditorFactory a implementação para o editor solicitada.

Valor de retorno

Type: System.Int32

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

Comentários

COM assinatura

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ê precisa para acessar programaticamente os dados subjacentes do documento de um editor, mas não é necessário a janela do editor completo instanciada.Para fazer isso, você primeiro precisa chamar IVsUIShellOpenDocument.GetStandardEditor para obter um ponteiro para a fábrica de editor (IVsEditorFactory).Uma vez que isso, você pode chamar CreateEditorInstance.

Se você não for o proprietário da fábrica de editor e, portanto, não souber o GUID do editor (pguidEditorType parâmetro), você pode obter o GUID do editor em uma das seguintes maneiras:

  • Se você tem instanciado o editor de antes, você pode usar o valor GUID de editor anexado a moldura da janela, você pode ter no cache após determiná-lo 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, você pode chamar GetGuidEditorType para acessar o GUID do editor.

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

Consulte também

Interface IVsUIShellOpenDocument
Namespace Microsoft.VisualStudio.Shell.Interop

Retornar ao topo