FileStream.Handle FileStream.Handle FileStream.Handle FileStream.Handle Property

Definición

Advertencia

Esta API está ya obsoleta.

Obtiene el identificador de archivo del sistema operativo correspondiente al archivo que el objeto FileStream encapsula.Gets the operating system file handle for the file that the current FileStream object encapsulates.

public:
 virtual property IntPtr Handle { IntPtr get(); };
[System.Obsolete("Use SafeFileHandle instead")]
[System.Obsolete("This property has been deprecated.  Please use FileStream's SafeFileHandle property instead.  http://go.microsoft.com/fwlink/?linkid=14202")]
[get: System.Security.SecurityCritical]
[System.Obsolete("This property has been deprecated.  Please use FileStream's SafeFileHandle property instead.  https://go.microsoft.com/fwlink/?linkid=14202")]
public virtual IntPtr Handle { get; }
member this.Handle : nativeint
Public Overridable ReadOnly Property Handle As IntPtr

Valor de propiedad

Identificador de archivo del sistema operativo correspondiente al archivo encapsulado por este objeto FileStream o -1 si se ha cerrado FileStream.The operating system file handle for the file encapsulated by this FileStream object, or -1 if the FileStream has been closed.

Excepciones

El llamador no dispone del permiso requerido.The caller does not have the required permission.

Comentarios

Esta propiedad es un identificador del sistema operativo para su uso con llamadas del sistema proporcionadas por el sistema ReadFile operativo (por ejemplo, en Windows).This property is an operating system handle for use with operating-system-provided system calls (such as ReadFile on Windows). No funcionará con las funciones de la biblioteca de C que esperan un descriptor de archivo, freadcomo.It will not work with C library functions that expect a file descriptor, such as fread.

Es posible que el identificador del sistema operativo se haya abierto de forma sincrónica o asincrónica FileStream , dependiendo del constructor al que se llamó.The operating system handle might have been opened synchronously or asynchronously, depending on which FileStream constructor was called. Utilice la IsAsync propiedad para detectar si este identificador se abrió de forma asincrónica.Use the IsAsync property to discover whether this handle was opened asynchronously. En Win32, esto significa que se abrió el identificador para la e/s superpuesta y que requiere ReadFile parámetros WriteFilediferentes para y.In Win32, this means the handle was opened for overlapped IO, and it requires different parameters to ReadFile and WriteFile.

Precaución

Pueden producirse daños en los FileStream datos si se crea un, se pasa su identificador, alguna operación mueve el puntero de archivo del identificador FileStream y, a continuación, se vuelve a usar.Data corruption might occur if a FileStream is created, its handle is passed, some operation moves the handle's file pointer, and then the FileStream is used again. Varios subprocesos no pueden escribir sin ningún riesgo en el FileStream mismo archivo simultáneamente y el código almacenado en búfer supone que controla el identificador de forma exclusiva.Multiple threads cannot safely write to the same file simultaneously, and FileStream buffering code assumes that it exclusively controls the handle. FileStreampodría producir una IOException excepción FileStream si detecta que algún otro proceso ha despasado el puntero de archivo.FileStream might throw an IOException if FileStream detects that some other process has moved the file pointer. Para evitar esto, no escriba ningún dato en una parte del archivo que FileStream pueda haber almacenado en búfer y restaure el puntero de archivo en la ubicación que tenía cuando se FileStreamllamó a los métodos por última vez.To avoid this, do not write any data into a portion of the file that FileStream might have buffered, and restore the file pointer to the location it had when methods were last called on FileStream.

Seguridad

SecurityPermission
permite tener acceso a código no administrado.for the ability to access unmanaged code. Enumeración asociada: UnmanagedCodeAcción de seguridad InheritanceDemand:.Associated enumeration: UnmanagedCode Security action: InheritanceDemand.

SecurityCriticalAttribute
requiere plena confianza para el llamador inmediato.requires full trust for the immediate caller. Este miembro no puede ser utilizado por código transparente o de confianza parcial.This member cannot be used by partially trusted or transparent code.

Se aplica a

Consulte también: