Share via


Overlapped.UnsafePack Método

Definición

Empaqueta la instancia actual en una estructura NativeOverlapped. No difunde la pila de llamadas.

Sobrecargas

UnsafePack(IOCompletionCallback)
Obsoleto.
Obsoleto.
Obsoleto.
Obsoleto.

Empaqueta la instancia actual en una estructura NativeOverlapped, especificando el delegado que se va a invocar cuando finalice la operación de E/S asincrónica. No difunde la pila de llamadas.

UnsafePack(IOCompletionCallback, Object)

Empaqueta la instancia actual en una estructura NativeOverlapped, especificando el delegado que se invoca al finalizar la operación de E/S asincrónica y el objeto administrado que actúa como búfer. No difunde la pila de llamadas.

UnsafePack(IOCompletionCallback)

Precaución

This method is not safe. Use UnsafePack (iocb, userData) instead. https://go.microsoft.com/fwlink/?linkid=14202

Precaución

This overload is not safe and has been deprecated. Use UnsafePack(IOCompletionCallback?, object?) instead.

Precaución

This method is not safe. Use UnsafePack (iocb, userData) instead. http://go.microsoft.com/fwlink/?linkid=14202

Precaución

Use UnsafePack(iocb, userData) instead

Importante

Esta API no es conforme a CLS.

Empaqueta la instancia actual en una estructura NativeOverlapped, especificando el delegado que se va a invocar cuando finalice la operación de E/S asincrónica. No difunde la pila de llamadas.

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

Delegado IOCompletionCallback que representa el método de devolución de llamada invocado al completarse la operación de E/S asincrónica.

Devoluciones

NativeOverlapped*

Puntero no administrado a una estructura NativeOverlapped.

Atributos

Excepciones

El objeto Overlapped actual ya se ha empaquetado.

Comentarios

El puntero no administrado devuelto por este método se puede pasar al sistema operativo en operaciones de E/S superpuestas. La NativeOverlapped estructura se fija en memoria física hasta Unpack que se llama a .

El autor de la llamada es responsable de anclar el búfer. Sin embargo, si el dominio de aplicación se descarga, el identificador del búfer anclado se destruye y se libera el búfer, dejando la operación de E/S para escribir en la dirección libre. Por este motivo, es mejor usar la sobrecarga del UnsafePack(IOCompletionCallback, Object) método, en la que el tiempo de ejecución ancla el búfer.

Precaución

El uso del UnsafePack método podría abrir accidentalmente un agujero de seguridad. La seguridad de acceso al código basa sus comprobaciones de permisos en los permisos de todos los llamadores de la pila. El UnsafePack método no propaga la pila de llamadas. Es posible que el código malintencionado pueda aprovechar esto para evitar comprobaciones de permisos.

Se aplica a

UnsafePack(IOCompletionCallback, Object)

Importante

Esta API no es conforme a CLS.

Empaqueta la instancia actual en una estructura NativeOverlapped, especificando el delegado que se invoca al finalizar la operación de E/S asincrónica y el objeto administrado que actúa como búfer. No difunde la pila de llamadas.

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

Delegado IOCompletionCallback que representa el método de devolución de llamada invocado al completarse la operación de E/S asincrónica.

userData
Object

Objeto o matriz de objetos que representa el búfer de entrada o salida para la operación. Cada objeto representa un búfer, por ejemplo una matriz de bytes.

Devoluciones

NativeOverlapped*

Puntero no administrado a una estructura NativeOverlapped.

Atributos

Excepciones

El llamador no dispone del permiso requerido.

El objeto Overlapped actual ya está empaquetado.

Comentarios

El puntero no administrado devuelto por este método se puede pasar al sistema operativo en operaciones de E/S superpuestas. La NativeOverlapped estructura se fija en memoria física hasta Unpack que se llama a .

El búfer o los búferes especificados en userData deben ser los mismos que los pasados a la función del sistema operativo no administrado que realiza la E/S asincrónica.

El tiempo de ejecución ancla el búfer o los búferes especificados enuserData durante la operación de E/S. Si el dominio de aplicación se descarga, el tiempo de ejecución mantiene la memoria anclada hasta que se complete la operación de E/S.

Precaución

El uso del UnsafePack método podría abrir accidentalmente un agujero de seguridad. La seguridad de acceso al código basa sus comprobaciones de permisos en los permisos de todos los llamadores de la pila. El UnsafePack método no propaga la pila de llamadas. Es posible que el código malintencionado pueda aprovechar esto para evitar comprobaciones de permisos.

Se aplica a