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.
- pitemid
[out, opcjonalne] Zwraca identyfikator elementu znajduje dokumentu.Jest to identyfikator unikatowy lub może być jedną z następujących wartości: VSITEMID_NIL, VSITEMID_ROOT, lub VSITEMID_SELECTION.
- 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