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

Definição

Aviso

Esta API agora é obsoleta.

Obtém o identificador de arquivo do sistema operacional do arquivo que o objeto FileStream atual 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 da propriedade

O identificador de arquivo do sistema operacional para o arquivo encapsulado por esse objeto FileStream ou -1 se o FileStream tiver sido fechado.The operating system file handle for the file encapsulated by this FileStream object, or -1 if the FileStream has been closed.

Exceções

O chamador não tem a permissão necessária.The caller does not have the required permission.

Comentários

Esta propriedade é um identificador de sistema operacional para uso com chamadas do sistema operacional-fornecido pelo sistema (como ReadFile no Windows).This property is an operating system handle for use with operating-system-provided system calls (such as ReadFile on Windows). Ele não funcionará com as funções de biblioteca de C que esperam um descritor de arquivo, como fread.It will not work with C library functions that expect a file descriptor, such as fread.

O identificador do sistema operacional pode ter sido aberto de forma síncrona ou assíncrona, dependendo de qual FileStream construtor foi chamado.The operating system handle might have been opened synchronously or asynchronously, depending on which FileStream constructor was called. Use o IsAsync propriedade para descobrir se esse identificador foi aberto de forma assíncrona.Use the IsAsync property to discover whether this handle was opened asynchronously. No Win32, isso significa que o identificador foi aberto para e/s sobreposta, e ele exige parâmetros diferentes ReadFile e WriteFile.In Win32, this means the handle was opened for overlapped IO, and it requires different parameters to ReadFile and WriteFile.

Cuidado

Corrupção de dados pode ocorrer se um FileStream é criado, seu identificador for passado, alguma operação Move o ponteiro de arquivo do identificador e, em seguida, o FileStream é usado novamente.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. Vários threads com segurança não é possível gravar no mesmo arquivo simultaneamente, e FileStream buffer código pressupõe que ele controla exclusivamente a alça.Multiple threads cannot safely write to the same file simultaneously, and FileStream buffering code assumes that it exclusively controls the handle. FileStream pode lançar uma IOException se FileStream detecta que algum outro processo passou o ponteiro do arquivo.FileStream might throw an IOException if FileStream detects that some other process has moved the file pointer. Para evitar isso, não grave todos os dados em uma parte do arquivo que FileStream pode ter armazenado em buffer e restaurar o ponteiro do arquivo para o local que tinha quando métodos foram chamados pela última vez no FileStream.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.

Segurança

SecurityPermission
para a capacidade de acessar código não gerenciado.for the ability to access unmanaged code. Enumeração associada: UnmanagedCode Ação de segurança: InheritanceDemand.Associated enumeration: UnmanagedCode Security action: InheritanceDemand.

SecurityCriticalAttribute
requer confiança total para o chamador imediato.requires full trust for the immediate caller. Este membro não pode ser usado pelo código transparente ou parcialmente confiável.This member cannot be used by partially trusted or transparent code.

Aplica-se a

Veja também