Condividi tramite


Overlapped.UnsafePack Metodo

Definizione

Comprime l'istanza corrente in una struttura NativeOverlapped. Non propaga lo stack della chiamata.

Overload

UnsafePack(IOCompletionCallback)
Obsoleti.
Obsoleti.
Obsoleti.

Comprime l'istanza corrente in una struttura NativeOverlapped, specificando il delegato da richiamare al completamento dell'operazione di I/O asincrona. Non propaga lo stack della chiamata.

UnsafePack(IOCompletionCallback, Object)

Comprime l'istanza corrente in una struttura NativeOverlapped, specificando il delegato da richiamare al completamento dell'operazione di I/O asincrona e un oggetto gestito da utilizzare come buffer. Non propaga lo stack della chiamata.

UnsafePack(IOCompletionCallback)

Origine:
Overlapped.cs
Origine:
Overlapped.cs
Origine:
Overlapped.cs

Attenzione

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

Attenzione

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

Attenzione

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

Importante

Questa API non è conforme a CLS.

Comprime l'istanza corrente in una struttura NativeOverlapped, specificando il delegato da richiamare al completamento dell'operazione di I/O asincrona. Non propaga lo stack della chiamata.

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("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>

Parametri

iocb
IOCompletionCallback

Delegato IOCompletionCallback che rappresenta il metodo di callback chiamato al completamento dell'operazione di I/O asincrona.

Restituisce

Puntatore non gestito a una struttura NativeOverlapped.

Attributi

Eccezioni

L'oggetto Overlapped corrente è già stato compresso.

Commenti

Il puntatore non gestito restituito da questo metodo può essere passato al sistema operativo in operazioni di I/O sovrapposte. La NativeOverlapped struttura è fissa nella memoria fisica fino a quando non Unpack viene chiamata.

Il chiamante è responsabile dell'aggiunta del buffer. Se il dominio dell'applicazione viene scaricato, tuttavia, l'handle per il buffer aggiunto viene eliminato definitivamente e il buffer viene rilasciato, lasciando l'operazione di I/O per scrivere nell'indirizzo libero. Per questo motivo, è preferibile usare l'overload del UnsafePack(IOCompletionCallback, Object) metodo, in cui il runtime aggiunge il buffer.

Attenzione

L'uso del UnsafePack metodo potrebbe inavvertitamente aprire un foro di sicurezza. La sicurezza dell'accesso al codice basa i controlli delle autorizzazioni per le autorizzazioni di tutti i chiamanti nello stack. Il UnsafePack metodo non propaga lo stack chiamante. Il codice dannoso potrebbe essere in grado di sfruttarlo per evitare i controlli delle autorizzazioni.

Si applica a

UnsafePack(IOCompletionCallback, Object)

Origine:
Overlapped.cs
Origine:
Overlapped.cs
Origine:
Overlapped.cs

Importante

Questa API non è conforme a CLS.

Comprime l'istanza corrente in una struttura NativeOverlapped, specificando il delegato da richiamare al completamento dell'operazione di I/O asincrona e un oggetto gestito da utilizzare come buffer. Non propaga lo stack della chiamata.

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>

Parametri

iocb
IOCompletionCallback

Delegato IOCompletionCallback che rappresenta il metodo di callback chiamato al completamento dell'operazione di I/O asincrona.

userData
Object

Oggetto o matrice di oggetti che rappresenta il buffer di input o output per l'operazione. Ogni oggetto rappresenta uno buffer, ad esempio una matrice di byte.

Restituisce

Puntatore non gestito a una struttura NativeOverlapped.

Attributi

Eccezioni

Il chiamante non dispone dell'autorizzazione richiesta.

L'oggetto Overlapped corrente è già compresso.

Commenti

Il puntatore non gestito restituito da questo metodo può essere passato al sistema operativo in operazioni di I/O sovrapposte. La NativeOverlapped struttura è fissa nella memoria fisica fino a quando non Unpack viene chiamata.

Il buffer o i buffer specificati in userData devono essere uguali a quelli passati alla funzione del sistema operativo non gestito che esegue l'I/O asincrona.

Il runtime aggiunge il buffer o i buffer specificati inuserData per la durata dell'operazione di I/O. Se il dominio dell'applicazione viene scaricato, il runtime mantiene la memoria bloccata fino al completamento dell'operazione di I/O.

Attenzione

L'uso del UnsafePack metodo potrebbe inavvertitamente aprire un foro di sicurezza. La sicurezza dell'accesso al codice basa i controlli delle autorizzazioni per le autorizzazioni di tutti i chiamanti nello stack. Il UnsafePack metodo non propaga lo stack chiamante. Il codice dannoso potrebbe essere in grado di sfruttarlo per evitare i controlli delle autorizzazioni.

Si applica a