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


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 Дополнительные сведения о безопасном использовании метода см. в разделе и DangerousRelease методы DangerousGetHandle .

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