Overlapped.UnsafePack Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Empacota a instância atual em uma estrutura NativeOverlapped. Não propaga a pilha de chamadas.
Sobrecargas
UnsafePack(IOCompletionCallback) |
Obsoleto.
Obsoleto.
Obsoleto.
Obsoleto.
Empacota a instância atual em uma estrutura NativeOverlapped especificando o delegado a invocar quando a operação de E/S assíncrona é concluída. Não propaga a pilha de chamadas. |
UnsafePack(IOCompletionCallback, Object) |
Empacota a instância atual em uma estrutura NativeOverlapped especificando um delegado a invocar quando a operação de E/S assíncrona é concluída e o objeto gerenciado que atua como um buffer. Não propaga a pilha de chamadas. |
UnsafePack(IOCompletionCallback)
Cuidado
This method is not safe. Use UnsafePack (iocb, userData) instead. https://go.microsoft.com/fwlink/?linkid=14202
Cuidado
This overload is not safe and has been deprecated. Use UnsafePack(IOCompletionCallback?, object?) instead.
Cuidado
This method is not safe. Use UnsafePack (iocb, userData) instead. http://go.microsoft.com/fwlink/?linkid=14202
Cuidado
Use UnsafePack(iocb, userData) instead
Importante
Esta API não está em conformidade com CLS.
Empacota a instância atual em uma estrutura NativeOverlapped especificando o delegado a invocar quando a operação de E/S assíncrona é concluída. Não propaga a pilha de chamadas.
public:
System::Threading::NativeOverlapped* UnsafePack(System::Threading::IOCompletionCallback ^ iocb);
[System.CLSCompliant(false)]
[System.Obsolete("This method is not safe. Use UnsafePack (iocb, userData) instead. https://go.microsoft.com/fwlink/?linkid=14202")]
public System.Threading.NativeOverlapped* UnsafePack (System.Threading.IOCompletionCallback? iocb);
[System.CLSCompliant(false)]
[System.Obsolete("This overload is not safe and has been deprecated. Use UnsafePack(IOCompletionCallback?, object?) instead.")]
public System.Threading.NativeOverlapped* UnsafePack (System.Threading.IOCompletionCallback? iocb);
[System.CLSCompliant(false)]
[System.Obsolete("This method is not safe. Use UnsafePack (iocb, userData) instead. http://go.microsoft.com/fwlink/?linkid=14202")]
public System.Threading.NativeOverlapped* UnsafePack (System.Threading.IOCompletionCallback iocb);
[System.CLSCompliant(false)]
public System.Threading.NativeOverlapped* UnsafePack (System.Threading.IOCompletionCallback iocb);
[System.CLSCompliant(false)]
[System.Obsolete("This method is not safe. Use UnsafePack (iocb, userData) instead. http://go.microsoft.com/fwlink/?linkid=14202")]
[System.Security.SecurityCritical]
public System.Threading.NativeOverlapped* UnsafePack (System.Threading.IOCompletionCallback iocb);
[System.CLSCompliant(false)]
[System.Obsolete("This method is not safe. Use UnsafePack (iocb, userData) instead. https://go.microsoft.com/fwlink/?linkid=14202")]
public System.Threading.NativeOverlapped* UnsafePack (System.Threading.IOCompletionCallback iocb);
[System.CLSCompliant(false)]
[System.Obsolete("Use UnsafePack(iocb, userData) instead")]
public System.Threading.NativeOverlapped* UnsafePack (System.Threading.IOCompletionCallback iocb);
[<System.CLSCompliant(false)>]
[<System.Obsolete("This method is not safe. Use UnsafePack (iocb, userData) instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
member this.UnsafePack : System.Threading.IOCompletionCallback -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Obsolete("This overload is not safe and has been deprecated. Use UnsafePack(IOCompletionCallback?, object?) instead.")>]
member this.UnsafePack : System.Threading.IOCompletionCallback -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Obsolete("This method is not safe. Use UnsafePack (iocb, userData) instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
member this.UnsafePack : System.Threading.IOCompletionCallback -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
member this.UnsafePack : System.Threading.IOCompletionCallback -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Obsolete("This method is not safe. Use UnsafePack (iocb, userData) instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
[<System.Security.SecurityCritical>]
member this.UnsafePack : System.Threading.IOCompletionCallback -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Obsolete("Use UnsafePack(iocb, userData) instead")>]
member this.UnsafePack : System.Threading.IOCompletionCallback -> nativeptr<System.Threading.NativeOverlapped>
Parâmetros
- iocb
- IOCompletionCallback
Um delegado IOCompletionCallback que representa o método de retorno de chamada invocado quando a operação de E/S assíncrona é concluída.
Retornos
Um ponteiro não gerenciado para uma estrutura NativeOverlapped.
- Atributos
Exceções
O Overlapped atual já foi empacotado.
Comentários
O ponteiro não gerenciado retornado por esse método pode ser passado para o sistema operacional em operações de E/S sobrepostas. A NativeOverlapped estrutura é fixada na memória física até Unpack ser chamada.
O chamador é responsável por fixar o buffer. No entanto, se o domínio do aplicativo for descarregado, o identificador para o buffer fixado será destruído e o buffer será liberado, deixando a operação de E/S para gravar no endereço liberado. Por esse motivo, é melhor usar a sobrecarga do UnsafePack(IOCompletionCallback, Object) método, na qual o runtime fixa o buffer.
Cuidado
Usar o UnsafePack método pode abrir inadvertidamente uma falha de segurança. A segurança de acesso ao código baseia suas verificações de permissão nas permissões de todos os chamadores na pilha. O UnsafePack método não propaga a pilha de chamadas. O código mal-intencionado pode ser capaz de explorar isso para evitar verificações de permissão.
Aplica-se a
UnsafePack(IOCompletionCallback, Object)
Importante
Esta API não está em conformidade com CLS.
Empacota a instância atual em uma estrutura NativeOverlapped especificando um delegado a invocar quando a operação de E/S assíncrona é concluída e o objeto gerenciado que atua como um buffer. Não propaga a pilha de chamadas.
public:
System::Threading::NativeOverlapped* UnsafePack(System::Threading::IOCompletionCallback ^ iocb, System::Object ^ userData);
[System.CLSCompliant(false)]
public System.Threading.NativeOverlapped* UnsafePack (System.Threading.IOCompletionCallback? iocb, object? userData);
[System.CLSCompliant(false)]
public System.Threading.NativeOverlapped* UnsafePack (System.Threading.IOCompletionCallback iocb, object userData);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public System.Threading.NativeOverlapped* UnsafePack (System.Threading.IOCompletionCallback iocb, object userData);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Security.SecurityCritical]
public System.Threading.NativeOverlapped* UnsafePack (System.Threading.IOCompletionCallback iocb, object userData);
[<System.CLSCompliant(false)>]
member this.UnsafePack : System.Threading.IOCompletionCallback * obj -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.UnsafePack : System.Threading.IOCompletionCallback * obj -> nativeptr<System.Threading.NativeOverlapped>
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Security.SecurityCritical>]
member this.UnsafePack : System.Threading.IOCompletionCallback * obj -> nativeptr<System.Threading.NativeOverlapped>
Parâmetros
- iocb
- IOCompletionCallback
Um delegado IOCompletionCallback que representa o método de retorno de chamada invocado quando a operação de E/S assíncrona é concluída.
- userData
- Object
Um objeto ou uma matriz de objetos que representa o buffer de entrada ou de saída da operação. Cada objeto representa um buffer, por exemplo, uma matriz de bytes.
Retornos
Um ponteiro não gerenciado para uma estrutura NativeOverlapped.
- Atributos
Exceções
O chamador não tem a permissão necessária.
O Overlapped atual já está compactado.
Comentários
O ponteiro não gerenciado retornado por esse método pode ser passado para o sistema operacional em operações de E/S sobrepostas. A NativeOverlapped estrutura é fixada na memória física até Unpack ser chamada.
O buffer ou buffers especificados userData
devem ser os mesmos passados para a função de sistema operacional não gerenciada que executa a E/S assíncrona.
O runtime fixa o buffer ou buffers especificadosuserData
durante a operação de E/S. Se o domínio do aplicativo for descarregado, o runtime manterá a memória fixada até que a operação de E/S seja concluída.
Cuidado
Usar o UnsafePack método pode abrir inadvertidamente uma falha de segurança. A segurança de acesso ao código baseia suas verificações de permissão nas permissões de todos os chamadores na pilha. O UnsafePack método não propaga a pilha de chamadas. O código mal-intencionado pode ser capaz de explorar isso para evitar verificações de permissão.