Partager via


FsRtlPostStackOverflow, fonction (ntifs.h)

Le FsRtlPostStackOverflow routine publie un élément de dépassement de pile sur le thread de dépassement de pile.

Syntaxe

void FsRtlPostStackOverflow(
  [in] PVOID                         Context,
  [in] PKEVENT                       Event,
  [in] PFSRTL_STACK_OVERFLOW_ROUTINE StackOverflowRoutine
);

Paramètres

[in] Context

Pointeur de contexte à passer à la routine de rappel de dépassement de capacité de la pile.

[in] Event

Pointeur vers un événement de notification alloué par l’appelant pour passer à la routine de rappel de dépassement de capacité de la pile. Doit avoir été initialisé comme non signé en appelant KeInitializeEvent.

[in] StackOverflowRoutine

Pointeur vers une routine de rappel à appeler lors du traitement de la requête dans le thread de dépassement de capacité.

Valeur de retour

Aucun

Remarques

Un système de fichiers appelle généralement FsRtlPostStackOverflow pendant une opération d’E/S de fichier lorsque la quantité d’espace de pile restant retourné par IoGetRemainingStackSize se trouve sous le seuil de dépassement de capacité de pile du système de fichiers pour l’opération. FsRtlPostStackOverflow publie la demande d’E/S dans une file d’attente de travail de dépassement de capacité de pile spéciale. Une fois l’opération d’E/S terminée, l’événement de l’appelant est défini sur un état signalé.

Les pilotes de filtre de système de fichiers doivent utiliser IoQueueWorkItem au lieu de FsRtlPostStackOverflow, car IoQueueWorkItem garantit que l’objet d’appareil associé à l’élément de travail spécifié est disponible pour le traitement de l’élément de travail.

Si un échec d’allocation de pool se produit, FsRtlPostStackOverflow déclenche une exception STATUS_INSUFFICIENT_RESOURCES. Pour contrôler si cet échec d’allocation de pool se produit, le pilote doit encapsuler l’appel à FsRtlPostStackOverflow dans une instruction try-except ou try-finally.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000
plateforme cible Universel
d’en-tête ntifs.h (include FltKernel.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Voir aussi

FsRtlPostPagingFileStackOverflow

IoGetRemainingStackSize

IoQueueWorkItem

KeInitializeEvent