IVsRunningDocumentTable2.FindOrRegisterAndLockDocument Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Kayıtlı veya kayıtsız olmayan belgeye bir kilit ekler.
public:
int FindOrRegisterAndLockDocument(System::UInt32 grfRDTLockType, System::String ^ pszMkDocument, Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ pHierPreferred, System::UInt32 itemidPreferred, IntPtr punkDocData, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ % ppHierActual, [Runtime::InteropServices::Out] System::UInt32 % pitemidActual, [Runtime::InteropServices::Out] IntPtr % ppunkDocDataActual, [Runtime::InteropServices::Out] System::UInt32 % pdwCookie);
public int FindOrRegisterAndLockDocument (uint grfRDTLockType, string pszMkDocument, Microsoft.VisualStudio.Shell.Interop.IVsHierarchy pHierPreferred, uint itemidPreferred, IntPtr punkDocData, out Microsoft.VisualStudio.Shell.Interop.IVsHierarchy ppHierActual, out uint pitemidActual, out IntPtr ppunkDocDataActual, out uint pdwCookie);
abstract member FindOrRegisterAndLockDocument : uint32 * string * Microsoft.VisualStudio.Shell.Interop.IVsHierarchy * uint32 * nativeint * IVsHierarchy * uint32 * nativeint * uint32 -> int
Public Function FindOrRegisterAndLockDocument (grfRDTLockType As UInteger, pszMkDocument As String, pHierPreferred As IVsHierarchy, itemidPreferred As UInteger, punkDocData As IntPtr, ByRef ppHierActual As IVsHierarchy, ByRef pitemidActual As UInteger, ByRef ppunkDocDataActual As IntPtr, ByRef pdwCookie As UInteger) As Integer
Parametreler
- grfRDTLockType
- UInt32
'ndaki Numaralandırmadaki değerler alınan bayraklar _VSRDTFLAGS .
- pszMkDocument
- String
'ndaki Bulunan belgenin yolu.
- pHierPreferred
- IVsHierarchy
[Out, isteğe bağlı] IVsHierarchy Bulunan belge için tercih edilen arabirimi döndürür.
- itemidPreferred
- UInt32
[Out, isteğe bağlı] Bulunan belgenin öğe tanımlayıcısını döndürür. Bu benzersiz bir tanımlayıcıdır veya aşağıdaki değerlerden biri olabilir: VSITEMID_NIL , VSITEMID_ROOT , veya VSITEMID_SELECTION .
- punkDocData
-
IntPtr
nativeint
[Out, isteğe bağlı] Arabirimi döndürür IUnknown .
- ppHierActual
- IVsHierarchy
[Out, isteğe bağlı] IVsHierarchy Bulunan belge için gerçek arabirimi döndürür.
- pitemidActual
- UInt32
[Out, isteğe bağlı] Bulunan belgenin öğe tanımlayıcısını döndürür. Bu benzersiz bir tanımlayıcıdır veya aşağıdaki değerlerden biri olabilir: VSITEMID_NIL , VSITEMID_ROOT , veya VSITEMID_SELECTION .
- ppunkDocDataActual
-
IntPtr
nativeint
[Out, isteğe bağlı] Arabirimi döndürür IUnknown .
- pdwCookie
- UInt32
[Out, isteğe bağlı] Belge için soyut bir değer döndürür.
Döndürülenler
Yöntem başarılı olursa, döndürür S_OK . Başarısız olursa, bir hata kodu döndürür.
Açıklamalar
Bu yöntem, belgenin zaten kayıtlı olup olmadığı bir belgeye kilit eklemek için tüm durumları işler. Bu, ve işlevlerini birleştiren kullanışlı bir yöntemdir RegisterAndLockDocument FindAndLockDocumentEx . RegisterAndLockDocument belge zaten kaydedilmişse bir hata döndürür. FindAndLockDocumentEx kayıtlı değilse bir hata döndürür. Bir RDT_EditLock isteniyorsa ve belge şu anda yalnızca pHier/ItemId atanmamış bir RDT_ReadLock ile kaydettirilirse, bu işlev belgeye tercih edilen pHier/ItemId atamasını sağlar.
COM Imzası
Vsshell80. IDL adresinden:
HRESULT FindOrRegisterAndLockDocument(
[in] VSRDTFLAGS grfRDTLockType,
[in] LPCOLESTR pszMkDocument,
[in] IVsHierarchy *pHierPreferred,
[in] VSITEMID itemidPreferred,
[in] IUnknown *punkDocData,
[out] IVsHierarchy **ppHierActual,
[out] VSITEMID *pitemidActual,
[out] IUnknown **ppunkDocDataActual,
[out] VSCOOKIE *pdwCookie
);