This topic has not yet been rated - Rate this topic

SafeHandleZeroOrMinusOneIsInvalid.IsInvalid Property

Gets a value that indicates whether the handle is invalid.

Namespace:  Microsoft.Win32.SafeHandles
Assembly:  mscorlib (in mscorlib.dll)
public override bool IsInvalid { get; }

Property Value

Type: System.Boolean
true if the handle is not valid; otherwise, false.

The common language runtime uses this property to determine whether critical finalization is required.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
INVALID_HANDLE_VALUE
Some API calls document that they will return "INVALID_HANDLE_VALUE" if the function failed. The numeric value of INVALID_HANDLE_VALUE is -1. $0$0 $0 $0But you cannot use the .IsInvalid property to test if the handle is invalid, because this property also considers zero to be invalid.$0 $0$0 $0 $0Functions (such as CreateFile) do not document zero as being invalid, only INVALID_HANDLE_VALUE. So if you are calling native code, you must continue to check for the handle value being equal to INVALID_HANDLE_VALUE (which is -1).$0