Overlapped.UnsafePack Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Empacota a instância atual numa NativeOverlapped estrutura. Não propaga a pilha de chamada.
Sobrecargas
| Name | Description |
|---|---|
| UnsafePack(IOCompletionCallback) |
Obsoleto.
Obsoleto.
Empacota a instância atual numa NativeOverlapped estrutura que especifica o delegado a invocar quando a operação de E/S assíncrona está concluída. Não propaga a pilha de chamada. |
| UnsafePack(IOCompletionCallback, Object) |
Empacota a instância atual numa NativeOverlapped estrutura, especificando o delegado a invocar quando a operação de E/S assíncrona está concluída e o objeto gerido que serve de buffer. Não propaga a pilha de chamada. |
UnsafePack(IOCompletionCallback)
Atenção
This method is not safe. Use UnsafePack (iocb, userData) instead. http://go.microsoft.com/fwlink/?linkid=14202
Atenção
This method is not safe. Use UnsafePack (iocb, userData) instead. https://go.microsoft.com/fwlink/?linkid=14202
Importante
Esta API não está em conformidade com CLS.
Empacota a instância atual numa NativeOverlapped estrutura que especifica o delegado a invocar quando a operação de E/S assíncrona está concluída. Não propaga a pilha de chamada.
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")]
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)>]
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)>]
[<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("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>
Parâmetros
- iocb
- IOCompletionCallback
Um IOCompletionCallback delegado que representa o método de callback invocado quando a operação de E/S assíncrona é concluída.
Devoluções
Um apontador não gerido para uma NativeOverlapped estrutura.
- Atributos
Exceções
A corrente Overlapped já está cheia.
Observações
O ponteiro não gerido devolvido por este método pode ser passado para o sistema operativo em operações de E/S sobrepostas. A NativeOverlapped estrutura é fixa na memória física até Unpack ser chamada.
O chamador é responsável por fixar o buffer. Se o domínio da aplicação for descarregado, no entanto, a alavanca do buffer fixado é destruída e o buffer é libertado, deixando a operação de I/O para escrever no endereço libertado. Por esta razão, é melhor usar o UnsafePack(IOCompletionCallback, Object) método overload, em que o tempo de execução fixa o buffer.
Atenção
Usar o UnsafePack método pode, inadvertidamente, abrir uma brecha de segurança. A segurança de acesso ao código baseia as verificações de permissões nas permissões de todos os chamadores na pilha. O UnsafePack método não propaga a pilha que chama. Código malicioso pode explorar isto para evitar verificações de permissões.
Aplica-se a
UnsafePack(IOCompletionCallback, Object)
Importante
Esta API não está em conformidade com CLS.
Empacota a instância atual numa NativeOverlapped estrutura, especificando o delegado a invocar quando a operação de E/S assíncrona está concluída e o objeto gerido que serve de buffer. Não propaga a pilha de chamada.
public:
System::Threading::NativeOverlapped* UnsafePack(System::Threading::IOCompletionCallback ^ iocb, System::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)]
public System.Threading.NativeOverlapped* UnsafePack(System.Threading.IOCompletionCallback iocb, object userData);
[<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>
[<System.CLSCompliant(false)>]
member this.UnsafePack : System.Threading.IOCompletionCallback * obj -> nativeptr<System.Threading.NativeOverlapped>
Parâmetros
- iocb
- IOCompletionCallback
Um IOCompletionCallback delegado que representa o método de callback invocado quando a operação de E/S assíncrona é concluída.
- userData
- Object
Um objeto ou array de objetos que representa o buffer de entrada ou saída da operação. Cada objeto representa um buffer, por exemplo um array de bytes.
Devoluções
Um apontador não gerido para uma NativeOverlapped estrutura.
- Atributos
Exceções
O interlocutor não tem a permissão necessária.
A corrente Overlapped já está cheia.
Observações
O ponteiro não gerido devolvido por este método pode ser passado para o sistema operativo em operações de E/S sobrepostas. A NativeOverlapped estrutura é fixa na memória física até Unpack ser chamada.
O buffer ou buffers especificados em userData devem ser os mesmos que são passados para a função do sistema operativo não gerido que executa a E/S assíncrona.
O tempo de execução fixa o buffer ou buffers especificados duranteuserData a duração da operação de E/S. Se o domínio da aplicação estiver descarregado, o tempo de execução mantém a memória fixada até a operação de E/S terminar.
Atenção
Usar o UnsafePack método pode, inadvertidamente, abrir uma brecha de segurança. A segurança de acesso ao código baseia as verificações de permissões nas permissões de todos os chamadores na pilha. O UnsafePack método não propaga a pilha que chama. Código malicioso pode explorar isto para evitar verificações de permissões.