Overlapped.UnsafePack Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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
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.