Partager via


PreAllocatedOverlapped.UnsafeCreate Méthode

Définition

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é.

S’applique à