Overlapped.UnsafePack Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.