SafeHandle.DangerousGetHandle Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение handle поля.
public:
IntPtr DangerousGetHandle();
public IntPtr DangerousGetHandle();
member this.DangerousGetHandle : unit -> nativeint
Public Function DangerousGetHandle () As IntPtr
Возвращаемое значение
nativeint
Представляет IntPtr значение handle поля. Если дескриптор помечен как недопустимый SetHandleAsInvalid(), этот метод по-прежнему возвращает исходное значение дескриптора, которое может быть устаревшим значением.
Комментарии
Этот метод можно использовать для получения фактического значения дескриптора из экземпляра производного SafeHandle класса. Этот метод необходим для обратной совместимости, так как многие свойства в .NET Framework возвращают IntPtr типы дескрипторов.
IntPtr Типы дескрипторов — это типы, зависящие от платформы, используемые для представления указателя или дескриптора.
Предостережение
DangerousGetHandle Использование метода может представлять риски безопасности, так как, если дескриптор помечен как недопустимый, SetHandleAsInvalidDangerousGetHandle по-прежнему возвращает исходное, потенциально устаревшее значение дескриптора. Возвращенный дескриптор можно также переработать в любой момент. В лучшем случае это означает, что дескриптор может внезапно перестать работать. В худшем случае, если дескриптор или ресурс, представленный дескриптором, предоставляется ненадежный код, это может привести к атаке безопасности на повторно использованный или возвращенный дескриптор. Например, ненадежный вызывающий объект может запрашивать данные о дескрипторе, только что возвращенном и получать сведения для совершенно не связанного ресурса. DangerousAddRef Дополнительные сведения об использовании метода см. в и DangerousRelease методах безопасного DangerousGetHandle использования.