Udostępnij za pośrednictwem


Metoda IVsRunningDocumentTable.FindAndLockDocument — (UInt32, String, IVsHierarchy, UInt32, IntPtr, UInt32)

 

Lokalizuje dokumentu w RDT, przy użyciu nazwy pliku dokumentu, a następnie uzyskuje blokadę odczytu lub edycji tego dokumentu.

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

Składnia

int FindAndLockDocument(
    uint dwRDTLockType,
    string pszMkDocument,
    out IVsHierarchy ppHier,
    out uint pitemid,
    out IntPtr ppunkDocData,
    out uint pdwCookie
)
int FindAndLockDocument(
    unsigned int dwRDTLockType,
    String^ pszMkDocument,
    [OutAttribute] IVsHierarchy^% ppHier,
    [OutAttribute] unsigned int% pitemid,
    [OutAttribute] IntPtr% ppunkDocData,
    [OutAttribute] unsigned int% pdwCookie
)
abstract FindAndLockDocument : 
        dwRDTLockType:uint32 *
        pszMkDocument:string *
        ppHier:IVsHierarchy byref *
        pitemid:uint32 byref *
        ppunkDocData:nativeint byref *
        pdwCookie:uint32 byref -> int
Function FindAndLockDocument (
    dwRDTLockType As UInteger,
    pszMkDocument As String,
    <OutAttribute> ByRef ppHier As IVsHierarchy,
    <OutAttribute> ByRef pitemid As UInteger,
    <OutAttribute> ByRef ppunkDocData As IntPtr,
    <OutAttribute> ByRef pdwCookie As UInteger
) As Integer

Parametry

  • dwRDTLockType
    [w] Flagi, którego wartości są pobierane z _VSRDTFLAGS wyliczania.
  • pszMkDocument
    [w] Ścieżka do dokumentu znajduje.
  • ppHier
    [out, opcjonalne] Zwraca IVsHierarchy interfejsu znajduje dokumentu.
  • ppunkDocData
    [out, opcjonalne] Zwraca IUnknown interfejsu.Aby uzyskać szczegółowe informacje, zobacz uwagi.
  • pdwCookie
    [out, opcjonalne] Zwraca wartość abstrakcyjna dla dokumentu.

Wartość zwracana

Type: System.Int32

Jeśli metoda się powiedzie, zwraca S_OK.Jeśli nie powiedzie się, zwraca kod błędu.

Uwagi

FindAndLockDocumentExjest podobna do tej metody, ale również umożliwia określenie pary preferowanym hierarchii/nr przedmiotu w dokumencie, w przypadku, gdy RDT_EditLock jest pożądane, a dokument jest aktualnie zarejestrowane w systemie tylko w RDT_ReadLock z nr nie hierarchii/przedmiotu przypisane.

W celu uniknięcia przeciek pamięci, należy wywołać M:System.Runtime.InteropServices.Marshal.Release na ppunkDocData obiektu zwróconego przez tę metodę.

Podpis COM

Z vsshell.idl:

HRESULT IVsRunningDocumentTable::FindAndLockDocument(
   [in] VSRDTFLAGS      dwRDTLockType,
   [in] LPCOLESTR       pszMkDocument,
   [out] IVsHierarchy **ppHier,
   [out] VSITEMID      *pitemid,
   [out] IUnknown     **ppunkDocData,
   [out] VSCOOKIE      *pdwCookie
);

Parametr punkDocData

Jeśli dokument jest zarejestrowany, a następnie punkDocData wartość, która jest zwracana jest zawsze niezerowe, ponieważ spowoduje utworzenie środowiska punkDocData w imieniu edytory, które są zarejestrowane z null wartość dla punkDocData, tak jak w przypadku gdy Edytor nie jest oddzielenie/widok danych.Ten obiekt reprezentuje obiekt danych dokumentu, które są związane z zarejestrowanego dokumentu.Zazwyczaj IVsPersistDocData i IVsDocDataFileChangeControl interfejsy są uzyskiwane z tego IUnknown obiektu.

Parametr pdwCookie

pdwCookie Parametr zwraca pliku cookie, reprezentujących dokumentu.Ten plik cookie mogą być przekazane do następujących metod:

Zobacz też

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

Powrót do początku