Поделиться через


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, которая предоставляет функцию для вызова платформы в любом коде в сборке. При применении к отдельному вызову платформы этот атрибут переопределяет пути поиска по умолчанию, указанные для сборки.

Этот атрибут игнорируется для любого вызова платформы, указывающего абсолютный путь.

Используйте этот атрибут, чтобы предотвратить поиск функции Win32 LoadLibraryEx в текущем рабочем каталоге. Это помогает защитить приложение от атак, в которых вредоносное программное обеспечение помещает библиотеку DLL в текущий рабочий каталог, чтобы при вызове платформы вызывает функцию Win32 LoadLibraryEx , порядок поиска по умолчанию функции находит вредоносную библиотеку DLL вместо системной библиотеки DLL, которую он должен был найти.

Среда CLR обрабатывает вызов функции LoadLibraryEx в соответствии со следующим алгоритмом:

  1. Если атрибут применяется к отдельному вызову платформы, используйте значения, указанные этим экземпляром атрибута.

  2. В противном случае, если атрибут применяется к сборке, содержащей вызов платформы, используйте значения, указанные этим экземпляром атрибута.

  3. В противном случае выполните поиск в каталоге сборок и вызовите LoadLibraryEx функцию с флагом LOAD_WITH_ALTERED_SEARCH_PATH .

Этот атрибут не влияет на платформы, отличные от Windows, или среды выполнения Mono.

Конструкторы

Имя Описание
DefaultDllImportSearchPathsAttribute(DllImportSearchPath)

Инициализирует новый экземпляр DefaultDllImportSearchPathsAttribute класса, указывая пути, используемые при поиске целевых объектов вызовов платформы.

Свойства

Имя Описание
Paths

Возвращает побитовое сочетание значений перечисления, указывающее пути, которые LoadLibraryEx выполняет поиск функции во время вызова платформы.

TypeId

При реализации в производном классе получает уникальный идентификатор для этого Attribute.

(Унаследовано от Attribute)

Методы

Имя Описание
Equals(Object)

Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
GetHashCode()

Возвращает хэш-код для этого экземпляра.

(Унаследовано от Attribute)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

(Унаследовано от Attribute)
Match(Object)

При переопределении в производном классе возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Извлекает сведения о типе объекта, который можно использовать для получения сведений о типе для интерфейса.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к свойствам и методам, предоставляемым объектом.

(Унаследовано от Attribute)

Применяется к

См. также раздел