PreAllocatedOverlapped.UnsafeCreate Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Important
Cette API n’est pas conforme CLS.
Initialise une nouvelle instance de la PreAllocatedOverlapped classe, en spécifiant un délégué appelé lorsque chaque opération d’E/S asynchrone est terminée, un objet fourni par l’utilisateur fournissant un contexte et des objets managés qui servent de mémoires tampons.
public:
static System::Threading::PreAllocatedOverlapped ^ UnsafeCreate(System::Threading::IOCompletionCallback ^ callback, System::Object ^ state, System::Object ^ pinData);
[System.CLSCompliant(false)]
public static System.Threading.PreAllocatedOverlapped UnsafeCreate (System.Threading.IOCompletionCallback callback, object? state, object? pinData);
[<System.CLSCompliant(false)>]
static member UnsafeCreate : System.Threading.IOCompletionCallback * obj * obj -> System.Threading.PreAllocatedOverlapped
Public Shared Function UnsafeCreate (callback As IOCompletionCallback, state As Object, pinData As Object) As PreAllocatedOverlapped
Paramètres
- callback
- IOCompletionCallback
Délégué IOCompletionCallback qui représente la méthode de rappel appelée lorsque chaque opération d’E/S asynchrone se termine.
- state
- Object
Objet fourni par l’utilisateur qui distingue l’instance NativeOverlapped produite à partir de cet objet des autres NativeOverlapped instances. Peut être null
.
- pinData
- Object
Objet ou tableau d’objets représentant la mémoire tampon d’entrée ou de sortie pour les opérations. Chaque objet représente une mémoire tampon, par exemple un tableau d'octets. Peut être null
.
Retours
Nouvelle instance PreAllocatedOverlapped.
- Attributs
Exceptions
callback
a la valeur null
.
Cette méthode a été appelée après la suppression de ThreadPoolBoundHandle.
Remarques
La nouvelle PreAllocatedOverlapped instance peut être passée à AllocateNativeOverlapped(PreAllocatedOverlapped), pour produire une NativeOverlapped instance qui peut être passée au système d’exploitation dans les opérations d’E/S qui se chevauchent. Une seule PreAllocatedOverlapped instance ne peut être utilisée que pour une seule opération d’E/S native à la fois. Toutefois, l’état stocké dans l’instance PreAllocatedOverlapped peut être réutilisé pour les opérations natives suivantes. ExecutionContext n’est pas transmis à l’appel du rappel.
Notes
Les mémoires tampons spécifiées dans pinData
sont épinglées jusqu’à ce que Dispose() soit appelé.