IVsRunningDocumentTable.FindAndLockDocument(UInt32, String, IVsHierarchy, UInt32, IntPtr, UInt32) 方法

定義

使用檔檔案名在 RDT 中尋找檔,然後取得該檔的讀取或編輯鎖定。

public:
 int FindAndLockDocument(System::UInt32 dwRDTLockType, System::String ^ pszMkDocument, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Shell::Interop::IVsHierarchy ^ % ppHier, [Runtime::InteropServices::Out] System::UInt32 % pitemid, [Runtime::InteropServices::Out] IntPtr % ppunkDocData, [Runtime::InteropServices::Out] System::UInt32 % pdwCookie);
public int FindAndLockDocument (uint dwRDTLockType, string pszMkDocument, out Microsoft.VisualStudio.Shell.Interop.IVsHierarchy ppHier, out uint pitemid, out IntPtr ppunkDocData, out uint pdwCookie);
abstract member FindAndLockDocument : uint32 * string * IVsHierarchy * uint32 * nativeint * uint32 -> int
Public Function FindAndLockDocument (dwRDTLockType As UInteger, pszMkDocument As String, ByRef ppHier As IVsHierarchy, ByRef pitemid As UInteger, ByRef ppunkDocData As IntPtr, ByRef pdwCookie As UInteger) As Integer

參數

dwRDTLockType
UInt32

在值取自列舉的旗標 _VSRDTFLAGS

pszMkDocument
String

在所找到檔的路徑。

ppHier
IVsHierarchy

[out,optional]傳回 IVsHierarchy 所找到檔的介面。

pitemid
UInt32

[out,optional]傳回所找到檔的專案識別碼。 這是唯一的識別碼,也可以是下列其中一個值: VSITEMID_NILVSITEMID_ROOTVSITEMID_SELECTION

ppunkDocData
IntPtr

[out,optional]傳回 IUnknown 介面。 如需詳細資訊,請參閱備註。

pdwCookie
UInt32

[out,optional]傳回檔的抽象值。

傳回

Int32

如果方法成功,它會傳回 S_OK。 如果方法失敗,則會傳回錯誤碼。

備註

FindAndLockDocumentEx 類似于此方法,但也可在需要 RDT_EditLock 時,為檔提供慣用階層/itemid 組的規格,而且檔目前只會在未指派階層/itemid 的 RDT_ReadLock 註冊。

為了避免記憶體流失,您應該呼叫 Release ppunkDocData 這個方法所傳回的物件。

COM 簽章

從 vsshell .idl:

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

punkDocData 參數

如果已註冊檔,則傳回的 punkDocData 值一律為非 null,因為環境會 punkDocData 代表以值註冊的編輯器來建立 null punkDocData ,如同編輯器沒有資料/視圖區隔的情況。 此物件代表與已註冊檔相關聯的檔資料物件。 一般而言, IVsPersistDocDataIVsDocDataFileChangeControl 介面是從此 IUnknown 物件取得。

pdwCookie 參數

參數會傳回 pdwCookie 代表檔的 cookie。 此 cookie 可以傳遞給下列方法:

適用於