DefaultDllImportSearchPathsAttribute 類別

定義

指定用來搜尋提供平台調用函式之 DLL 的路徑。

public ref class DefaultDllImportSearchPathsAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Method, AllowMultiple=false)]
public sealed class DefaultDllImportSearchPathsAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Method, AllowMultiple=false)]
[System.Runtime.InteropServices.ComVisible(false)]
public sealed class DefaultDllImportSearchPathsAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Method, AllowMultiple=false)>]
type DefaultDllImportSearchPathsAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Method, AllowMultiple=false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
type DefaultDllImportSearchPathsAttribute = class
    inherit Attribute
Public NotInheritable Class DefaultDllImportSearchPathsAttribute
Inherits Attribute
繼承
DefaultDllImportSearchPathsAttribute
屬性

備註

當套用到組合語言時,此屬性會指定預設用於搜尋任何提供平台調用函式的 DLL 的路徑,該 DLL 可在組合語言中的任何程式碼中搜尋。 當套用到單一平台調用時,此屬性會覆蓋先前為組裝所指定的預設搜尋路徑。

任何指定絕對路徑的平台調用都會忽略此屬性。

使用此屬性防止 Win32 LoadLibraryEx 函式搜尋目前的工作目錄。 這有助於保護您的應用程式免受惡意軟體將 DLL 放入目前工作目錄的攻擊,因此當平台呼叫 Win32 LoadLibraryEx 函式時,函式的預設搜尋順序會找到惡意 DLL,而非原本要找到的系統 DLL。

通用語言執行時會依照以下演算法處理 LoadLibraryEx 函式的呼叫:

  1. 如果該屬性被套用到單一平台的呼叫,請使用該屬性實例所指定的值。

  2. 否則,如果該屬性套用到包含平台呼叫的組裝,請使用該屬性實例所指定的值。

  3. 否則,搜尋組合語言目錄,然後用該標誌呼叫函LoadLibraryExLOAD_WITH_ALTERED_SEARCH_PATH式。

此屬性對非 Windows 平台或 Mono 執行環境不影響。

建構函式

名稱 Description
DefaultDllImportSearchPathsAttribute(DllImportSearchPath)

初始化該類別的新實例 DefaultDllImportSearchPathsAttribute ,指定搜尋平台呼叫目標時所使用的路徑。

屬性

名稱 Description
Paths

會獲得一個位元組合的列舉值,指定函式在平台呼叫時搜尋的路徑 LoadLibraryEx

TypeId

在衍生類別中實作時,取得這個 Attribute的唯一標識碼。

(繼承來源 Attribute)

方法

名稱 Description
Equals(Object)

傳回值,這個值表示這個實例是否等於指定的物件。

(繼承來源 Attribute)
GetHashCode()

傳回這個實例的哈希碼。

(繼承來源 Attribute)
GetType()

取得目前實例的 Type

(繼承來源 Object)
IsDefaultAttribute()

在衍生類別中覆寫時,指出這個實例的值是否為衍生類別的預設值。

(繼承來源 Attribute)
Match(Object)

在衍生類別中覆寫時,傳回值,指出這個實例是否等於指定的物件。

(繼承來源 Attribute)
MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)

明確介面實作

名稱 Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

將一組名稱對應至一組對應的分派識別項 (Dispatch Identifier)。

(繼承來源 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

擷取 物件的型別資訊,可用來取得介面的類型資訊。

(繼承來源 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

擷取物件提供的類型資訊介面數目 (0 或 1)。

(繼承來源 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

提供物件所公開屬性和方法的存取權。

(繼承來源 Attribute)

適用於

另請參閱