Condividi tramite


EXPAND_STACK_CALLOUT funzione di callback (ntddk.h)

La routine ExpandedStackCall viene eseguita con dimensioni dello stack garantite.

Sintassi

EXPAND_STACK_CALLOUT ExpandStackCallout;

VOID() ExpandStackCallout(
  [in, optional] PVOID Parameter
)
{...}

Parametri

[in, optional] Parameter

Valore passato alla routine KeExpandKernelStackAndCallout che ha eseguito ExpandedStackCall.

Valore restituito

nessuno

Osservazioni

La routine ExpandedStackCall deve gestire tutte le eccezioni. Qualsiasi eccezione non gestita fa sì che il sistema verifichi bug check with Bug Check 0x1E: KMODE_EXCEPTION_NOT_HANDLED.

Se ExpandedStackCall modifica l'IRQL corrente, deve ripristinare il valore originale prima di restituire .

Esempio

Per definire una routine di callback ExpandedStackCall , è innanzitutto necessario fornire una dichiarazione di funzione che identifica il tipo di routine di callback che si sta definendo. Windows fornisce un set di tipi di funzione di callback per i driver. La dichiarazione di una funzione tramite i tipi di funzione di callback consente di analizzare il codice per i driver, l'SDV ( Static Driver Verifier ) e altri strumenti di verifica di trovare errori ed è un requisito per la scrittura di driver per il sistema operativo Windows.

Ad esempio, per definire una routine di callback ExpandedStackCall denominata MyExpandedStackCall, usare il tipo EXPAND_STACK_CALLOUT, come illustrato nell'esempio di codice seguente:

EXPAND_STACK_CALLOUT MyExpandedStackCall;

Implementare quindi la routine di callback come indicato di seguito:

_Use_decl_annotations_
VOID
  MyExpandedStackCall(
    PVOID  Parameter
    )
  {
      // Function body
  }

Il tipo di funzione EXPAND_STACK_CALLOUT è definito nel file di intestazione Wdm.h. Per identificare in modo più accurato gli errori quando si eseguono gli strumenti di analisi del codice, assicurarsi di aggiungere l'annotazione _Use_decl_annotations_ alla definizione della funzione. L'annotazione _Use_decl_annotations_ garantisce che vengano utilizzate le annotazioni applicate al tipo di funzione EXPAND_STACK_CALLOUT nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite tipi di ruolo di funzione per i driver WDM. Per informazioni su _Use_decl_annotations_, vedere Annotazione del comportamento della funzione.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione ntddk.h (include Ntddk.h, Ntifs.h)

Vedi anche

KeExpandKernelStackAndCallout