Udostępnij za pośrednictwem


Metoda IVsUIShellOpenDocument.IsSpecificDocumentViewOpen — (IVsUIHierarchy, UInt32, String, Guid, String, UInt32, IVsUIHierarchy, UInt32, IVsWindowFrame, Int32)

 

Określa, czy widok określony dokument jest otwarty.

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

Składnia

int IsSpecificDocumentViewOpen(
    IVsUIHierarchy pHierCaller,
    uint itemidCaller,
    string pszMkDocument,
    [InAttribute] ref Guid rguidEditorType,
    string pszPhysicalView,
    uint grfIDO,
    out IVsUIHierarchy ppHierOpen,
    out uint pitemidOpen,
    out IVsWindowFrame ppWindowFrame,
    out int pfOpen
)
int IsSpecificDocumentViewOpen(
    IVsUIHierarchy^ pHierCaller,
    unsigned int itemidCaller,
    String^ pszMkDocument,
    [InAttribute] Guid% rguidEditorType,
    String^ pszPhysicalView,
    unsigned int grfIDO,
    [OutAttribute] IVsUIHierarchy^% ppHierOpen,
    [OutAttribute] unsigned int% pitemidOpen,
    [OutAttribute] IVsWindowFrame^% ppWindowFrame,
    [OutAttribute] int% pfOpen
)
abstract IsSpecificDocumentViewOpen : 
        pHierCaller:IVsUIHierarchy *
        itemidCaller:uint32 *
        pszMkDocument:string *
        rguidEditorType:Guid byref *
        pszPhysicalView:string *
        grfIDO:uint32 *
        ppHierOpen:IVsUIHierarchy byref *
        pitemidOpen:uint32 byref *
        ppWindowFrame:IVsWindowFrame byref *
        pfOpen:int byref -> int
Function IsSpecificDocumentViewOpen (
    pHierCaller As IVsUIHierarchy,
    itemidCaller As UInteger,
    pszMkDocument As String,
    <InAttribute> ByRef rguidEditorType As Guid,
    pszPhysicalView As String,
    grfIDO As UInteger,
    <OutAttribute> ByRef ppHierOpen As IVsUIHierarchy,
    <OutAttribute> ByRef pitemidOpen As UInteger,
    <OutAttribute> ByRef ppWindowFrame As IVsWindowFrame,
    <OutAttribute> ByRef pfOpen As Integer
) As Integer

Parametry

  • pHierCaller
    Type: Microsoft.VisualStudio.Shell.Interop.IVsUIHierarchy

    [in] Identyfikator hierarchii obiektu wywołującego przekazane jako wskaźnik do obiektu wywołującego IVsUIHierarchy implementacji. Ten parametr jest używany przez implementację środowiska IsSpecificDocumentViewOpen Jeśli obiekt wywołujący określa wartość IDO_ActivateIfOpen dla grfIDO parametr...

  • itemidCaller
    Type: System.UInt32

    [in] Identyfikator elementu hierarchii interfejsu użytkownika obiektu wywołującego. Używane z IDO_ActivateIfOpen. Aby uzyskać więcej informacji, zobacz VSITEMID.

  • pszMkDocument
    Type: System.String

    [in] Ciąg formularza moniker Unikatowy identyfikator dokumentu w systemie projektu, na przykład Pełna ścieżka do pliku. W przypadku plików innych niż ten identyfikator jest często w postaci adresu URL.

  • rguidEditorType
    Type: System.Guid

    [in] Identyfikator GUID fabryki edytora. Ta wartość, w połączeniu z pszPhysicalView służy do tworzenia Unikatowy identyfikator widoku określonego dokumentu.

  • pszPhysicalView
    Type: System.String

    [in] Ciąg widok fizyczny. Ta wartość, w połączeniu z rguidEditorType, jest używany do tworzenia Unikatowy identyfikator widoku określonego dokumentu.

  • grfIDO
    Type: System.UInt32

    [in] Flagi określające, jakie akcje są wykonywane na otwartym dokumencie. Aby uzyskać listę wartości, zobacz __VSIDOFLAGS.

  • pitemidOpen
    Type: System.UInt32

    [out] Jeśli jest pfOpen true, a następnie ten parametr jest wskaźnikiem do hierarchii identyfikator elementu interfejsu użytkownika Otwórz dokument, który jest reprezentowany przez określony widok. Jeśli pfOpen jest false, a następnie ten parametr jest null. Aby uzyskać więcej informacji, zobacz VSITEMID.

  • pfOpen
    Type: System.Int32

    [out, retval] true Jeśli widok określony dokument jest otwarty.false Jeśli widok określony dokument nie jest otwarty.

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::IsSpecificDocumentViewOpen(
   [in] IVsUIHierarchy *pHierCaller,
   [in] VSITEMID itemidCaller,
   [in] LPCOLESTR pszMkDocument,
   [in] REFGUID rguidEditorType,
   [in] LPCOLESTR pszPhysicalView,
   [in] VSIDOFLAGS grfIDO,
   [out] IVsUIHierarchy **ppHierOpen,
   [out] VSITEMID *pitemidOpen,
   [out] IVsWindowFrame **ppWindowFrame,
   [out, retval] BOOL *pfOpen
);

IsSpecificDocumentViewOpen pary hierarchii/itemID przyjmuje jako dane wejściowe, który identyfikuje obiekt wywołujący, który chce wiedzieć, czy widok jest otwarty. Widok określony dokument jest otwarty w IDE, ta metoda porównuje tę parę hierarchii/identyfikator elementu do pary hierarchii/itemID posiadającym otwartym dokumencie (czyli istnienia hierarchii), aby określić, czy różne hierarchie.

Jeśli w innej hierarchii jest widok dokumentu, Otwórz i implementuje tej hierarchii IVsSupportItemHandoff, a następnie IVsUIShellOpenDocument::IsSpecificDocumentViewOpen Implementacja wywołuje hierarchii IVsSupportItemHandoff implementacji i przekazuje para identyfikator hierarchii/elementu wywołującego hierarchii (pHierCaller/itemidCaller). Dokument jest następnie przekazane do wywoływania hierarchii. Jeśli hierarchia nie implementuje IVsSupportItemHandoff, a następnie okno komunikatu jest wyświetlana z następującym tekstem, "dokument jest otwarty przez innego projektu.", widok dokumentu nie są przenoszone do wywoływania hierarchii i istniejącego widoku dokumentu przeniesienia do przodu w kontekście istnienia hierarchii.

Zobacz też

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

Powrót do początku