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


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)

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

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