SafeHandle.DangerousGetHandle Метод

Определение

Возвращает значение поля handle.

public:
 IntPtr DangerousGetHandle();
public IntPtr DangerousGetHandle ();
member this.DangerousGetHandle : unit -> nativeint
Public Function DangerousGetHandle () As IntPtr

Возвращаемое значение

IntPtr

nativeint

Указатель IntPtr, представляющий значение поля handle. Если дескриптор был помечен как недопустимый с помощью SetHandleAsInvalid(), этот метод, тем не менее, возвращает исходное значение дескриптора, которое может быть устаревшим.

Комментарии

Этот метод можно использовать для получения фактического значения дескриптора из экземпляра производного SafeHandle класса. Этот метод необходим для обратной совместимости, так как многие свойства в платформа .NET Framework типы дескрипторов возвратаIntPtr. IntPtr Типы дескрипторов — это зависящие от платформы типы, используемые для представления указателя или дескриптора.

Внимание!

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

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