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 Использование метода может представлять угрозу безопасности, так как, если дескриптор был помечен как недопустимый с SetHandleAsInvalidпомощью , DangerousGetHandle по-прежнему возвращает исходное, потенциально устаревшее значение дескриптора. Возвращенный дескриптор также может быть переработан в любой момент. В лучшем случае это означает, что дескриптор может внезапно перестать работать. В худшем случае, если дескриптор или ресурс, который представляет дескриптор, подвергается недоверенным кодам, это может привести к повторному использованию или возвращенной атаке безопасности. Например, ненадежный вызывающий объект может запрашивать данные только что возвращенного дескриптора и получать сведения о совершенно несвязанном ресурсе. DangerousAddRef Дополнительные сведения о безопасном использовании метода см. в разделе и DangerousRelease методы DangerousGetHandle .