Aracılığıyla paylaş


IVsRunningDocumentTable.FindAndLockDocument Yöntem (UInt32, String, IVsHierarchy, UInt32, IntPtr, UInt32)

 

Bir belgenin belge dosya adı kullanarak rdt içinde bulur ve bu belge üzerinde okuma veya düzenleme kilit alır.

Ad Alanı:   Microsoft.VisualStudio.Shell.Interop
Derleme:  Microsoft.VisualStudio.Shell.Interop (Microsoft.VisualStudio.Shell.Interop.dll içinde)

Sözdizimi

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

Parametreler

  • dwRDTLockType
    [in] Bayrakları değerleri alınan _VSRDTFLAGS numaralandırma.
  • pszMkDocument
    [in] Bulunduğu belge yolu.
  • ppHier
    [Çıkış, isteğe bağlı] Döndürür IVsHierarchy bulunduğu belge arabirimi.
  • pitemid
    [Çıkış, isteğe bağlı] Bulunduğu belge öğesi tanıtıcısı döndürür.Bu benzersiz bir tanımlayıcı veya aşağıdaki değerlerden biri olabilir: VSITEMID_NIL, VSITEMID_ROOT, veya VSITEMID_SELECTION.
  • ppunkDocData
    [Çıkış, isteğe bağlı] Döndürür IUnknown arabirimi.Ayrıntılı bilgi için Açıklamalar'a bakın.
  • pdwCookie
    [Çıkış, isteğe bağlı] Belge için soyut bir değer döndürür.

Dönüş Değeri

Type: System.Int32

Yöntem başarılı olursa, verir S_OK.Başarısız olursa, bir hata kodu döndürür.

Notlar

FindAndLockDocumentExBu yönteme benzer, ancak bir RDT_EditLock istenen ve belge yok hiyerarşi/atanan ItemId ile şu anda yalnızca bir RDT_ReadLock ile kayıtlı durumda tercih edilen hiyerarşi veya ItemId çifti belge belirtimi de sağlar.

Bellek sızıntısını önlemek için çağırmalıdır M:System.Runtime.InteropServices.Marshal.Release , ppunkDocData bu yöntemi tarafından döndürülen nesne.

com imzası

Vsshell.idl:

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

punkDocData parametresi

Belge kaydedildiğinde, sonra punkDocData döndürülen değeri her zaman null olmayan ortam oluşturur çünkü bir punkDocData ile kayıtlı Düzenleyicileri adına bir null için değer punkDocData, bir düzenleyici veri/view ayrımı yok olduğunda olduğu gibi.Bu nesne kayıtlı belgeyle ilişkili belge veri nesnesini gösterir.Genellikle, IVsPersistDocData ve IVsDocDataFileChangeControl arabirimleri buradan elde IUnknown nesne.

pdwCookie parametresi

pdwCookie Parametresi belgeyi temsil eden bir tanımlama bilgisi döndürür.Bu tanımlama bilgisi için aşağıdaki yöntemleri geçirilebilir:

Ayrıca bkz.

IVsRunningDocumentTable Arabirim
Microsoft.VisualStudio.Shell.Interop Ad Alanı

Başa dön