Overlapped.UnsafePack Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zabalí aktuální instanci do NativeOverlapped struktury. Nerozšíruje zásobník volání.
Přetížení
| Name | Description |
|---|---|
| UnsafePack(IOCompletionCallback) |
Zastaralé.
Zastaralé.
Zastaralé.
Zabalí aktuální instanci do NativeOverlapped struktury určující delegáta, který se má vyvolat při dokončení asynchronní vstupně-výstupní operace. Nerozšíruje zásobník volání. |
| UnsafePack(IOCompletionCallback, Object) |
Zabalí aktuální instanci do NativeOverlapped struktury, která určuje delegáta, který se má vyvolat při dokončení asynchronní vstupně-výstupní operace, a spravovaný objekt, který slouží jako vyrovnávací paměť. Nerozšíruje zásobník volání. |
UnsafePack(IOCompletionCallback)
- Zdroj:
- Overlapped.cs
- Zdroj:
- Overlapped.cs
- Zdroj:
- Overlapped.cs
- Zdroj:
- Overlapped.cs
- Zdroj:
- Overlapped.cs
Upozornění
This overload is not safe and has been deprecated. Use UnsafePack(IOCompletionCallback?, object?) instead.
Upozornění
This method is not safe. Use UnsafePack (iocb, userData) instead. https://go.microsoft.com/fwlink/?linkid=14202
Upozornění
This method is not safe. Use UnsafePack (iocb, userData) instead. http://go.microsoft.com/fwlink/?linkid=14202
Důležité
Toto rozhraní API neodpovídá specifikaci CLS.
Zabalí aktuální instanci do NativeOverlapped struktury určující delegáta, který se má vyvolat při dokončení asynchronní vstupně-výstupní operace. Nerozšíruje zásobník volání.
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. 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. 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 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. https://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")>]
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>
Parametry
- iocb
- IOCompletionCallback
Delegát IOCompletionCallback , který představuje metodu zpětného volání vyvolanou při dokončení asynchronní vstupně-výstupní operace.
Návraty
Nespravovaný ukazatel na NativeOverlapped strukturu.
- Atributy
Výjimky
Overlapped Aktuální už je zabalený.
Poznámky
Nespravovaný ukazatel vrácený touto metodou lze předat operačnímu systému v překrývajících se vstupně-výstupních operacích. Struktura NativeOverlapped je pevná ve fyzické paměti, dokud Unpack se nevolá.
Volající zodpovídá za připnutí vyrovnávací paměti. Pokud je však doména aplikace uvolněna, popisovač do připnuté vyrovnávací paměti se zničí a vyrovnávací paměť se uvolní, takže vstupně-výstupní operace se zapíše na uvolněnou adresu. Z tohoto důvodu je lepší použít UnsafePack(IOCompletionCallback, Object) přetížení metody, ve kterém modul runtime připne vyrovnávací paměť.
Caution
UnsafePack Použití metody by mohlo neúmyslně otevřít bezpečnostní díru. Zabezpečení přístupu kódu zakládá svá oprávnění na oprávněních všech volajících v zásobníku. Metoda UnsafePack nešíruje zásobník volání. Škodlivý kód může tuto chybu zneužít, aby se zabránilo kontrolám oprávnění.
Platí pro
UnsafePack(IOCompletionCallback, Object)
- Zdroj:
- Overlapped.cs
- Zdroj:
- Overlapped.cs
- Zdroj:
- Overlapped.cs
- Zdroj:
- Overlapped.cs
- Zdroj:
- Overlapped.cs
Důležité
Toto rozhraní API neodpovídá specifikaci CLS.
Zabalí aktuální instanci do NativeOverlapped struktury, která určuje delegáta, který se má vyvolat při dokončení asynchronní vstupně-výstupní operace, a spravovaný objekt, který slouží jako vyrovnávací paměť. Nerozšíruje zásobník volání.
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>
Parametry
- iocb
- IOCompletionCallback
Delegát IOCompletionCallback , který představuje metodu zpětného volání vyvolanou při dokončení asynchronní vstupně-výstupní operace.
- userData
- Object
Objekt nebo pole objektů představující vstupní nebo výstupní vyrovnávací paměť operace. Každý objekt představuje vyrovnávací paměť, například pole bajtů.
Návraty
Nespravovaný ukazatel na NativeOverlapped strukturu.
- Atributy
Výjimky
Volající nemá požadované oprávnění.
Overlapped Aktuální je již zabalený.
Poznámky
Nespravovaný ukazatel vrácený touto metodou lze předat operačnímu systému v překrývajících se vstupně-výstupních operacích. Struktura NativeOverlapped je pevná ve fyzické paměti, dokud Unpack se nevolá.
Vyrovnávací paměť nebo vyrovnávací paměti zadané v userData musí být stejné jako vyrovnávací paměti předané funkci nespravovaného operačního systému, která provádí asynchronní vstupně-výstupní operace.
Modul runtime připne vyrovnávací paměť nebo vyrovnávací paměti zadanéuserData po dobu trvání vstupně-výstupní operace. Pokud je doména aplikace uvolněná, modul runtime zachová paměť připnutou, dokud se operace vstupně-výstupní operace nedokončí.
Caution
UnsafePack Použití metody by mohlo neúmyslně otevřít bezpečnostní díru. Zabezpečení přístupu kódu zakládá svá oprávnění na oprávněních všech volajících v zásobníku. Metoda UnsafePack nešíruje zásobník volání. Škodlivý kód může tuto chybu zneužít, aby se zabránilo kontrolám oprávnění.