Partager via


Fonction FsRtlPostStackOverflow (ntifs.h)

La routine FsRtlPostStackOverflow publie un élément de dépassement de pile dans 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 pile.

[in] Event

Pointeur vers un événement de notification alloué à l’appelant à passer à la routine de rappel de dépassement de 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 demande dans le thread de dépassement de capacité.

Valeur de retour

None

Remarques

Un système de fichiers appelle généralement FsRtlPostStackOverflow pendant une opération d’E/S de fichier lorsque la quantité restante d’espace de pile retournée par IoGetRemainingStackSize est inférieure au 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 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 du 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 lève 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 .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000
Plateforme cible Universal
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