Udostępnij za pośrednictwem


Metoda IVsUIShellOpenDocument.GetStandardEditorFactory — (UInt32, Guid, String, Guid, String, IVsEditorFactory)

 

Zwraca fabryki edytora skojarzonego z określonego dokumentu (na przykład typ pliku).

Przestrzeń nazw:   Microsoft.VisualStudio.Shell.Interop
Zestaw:  Microsoft.VisualStudio.Shell.Interop (w Microsoft.VisualStudio.Shell.Interop.dll)

Składnia

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

Parametry

  • dwReserved
    Type: System.UInt32

    [in] Zarezerwowane do użytku w przyszłości.

  • pguidEditorType
    Type: System.Guid

    [out w] Identyfikator GUID fabryki edytor, który ma zostać zwrócony. Aby wskazać, które fabryki Edytor powinny być zwrócone, określ wartość pguidEditorType lub pszMkDocument. Nie trzeba podawać wartości obu parametrów.

  • pszMkDocument
    Type: System.String

    [in] Ciąg formularza krótkiej nazwy identyfikatora dokumentu w systemie projektu, na przykład Pełna ścieżka do pliku. Aby wskazać, które fabryki Edytor powinny być zwrócone, określ wartość pszMkDocument lub pguidEditorType. Nie trzeba podawać wartości obu parametrów.

  • rguidLogicalView
    Type: System.Guid

    [in] Identyfikator GUID widoku logicznym. Lista identyfikatorów GUID widok logiczny Zobacz widoku logicznej i fizycznej.

  • pbstrPhysicalView
    Type: System.String

    [out] Przekazany ciąg widok fizyczny odpowiadający widok, który jest skojarzony z identyfikatora GUID w widoku logicznym rguidLogicalView.

Wartość zwracana

Type: System.Int32

Jeśli metoda zakończy się pomyślnie, zwraca S_OK. Jeśli nie, zwraca kod błędu.

Uwagi

Podpis COM

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

Wywołanie IVsUIShellOpenDocument.GetStandardEditor Jeśli trzeba możliwość programowego dostępu do danych dokumentu edytora, ale nie ma potrzeby okno edytora pełnego wystąpienia. Aby to zrobić, należy najpierw wywołać IVsUIShellOpenDocument.GetStandardEditor uzyskać wskaźnika do fabryki edytora (IVsEditorFactory). Gdy masz, można wywołać CreateEditorInstance.

Jeśli nie są jego własnością fabryki edytora i w związku z tym nie wiesz, Edytor identyfikatora GUID (pguidEditorType parametru), możesz pobrać Edytor identyfikatora GUID w jeden z następujących sposobów:

  • Jeśli zostały utworzone przed edytora, można użyć wartości identyfikatora GUID edytora dołączone do ramki okna, które mogą mieć pamięci podręcznej po określeniu, wywołując GetProperty i określenie wartości VSFPROPID_guidEditorType dla propid parametru.

  • Jeśli wskaźnik do obiektu danych dokumentu, można wywołać GetGuidEditorType dostępu do edytora identyfikatora GUID.

Jeśli nie jest możliwe określenie Edytor identyfikatora GUID, a następnie określ ścieżkę do dokumentu (pszMkDocument parametru) i środowiska określa odpowiedniego edytora standardowego na podstawie rozszerzenia pliku.

Zobacz też

Interfejs IVsUIShellOpenDocument
Przestrzeń nazw Microsoft.VisualStudio.Shell.Interop

Powrót do początku