KIPI_BROADCAST_WORKER funzione di callback (wdm.h)
La routine IpiGenericCall viene eseguita simultaneamente in tutti i processori.
Sintassi
KIPI_BROADCAST_WORKER KipiBroadcastWorker;
ULONG_PTR KipiBroadcastWorker(
[in] ULONG_PTR Argument
)
{...}
Parametri
[in] Argument
Fornisce il valore passato alla routine KeIpiGenericCall denominata IpiGenericCall.
Valore restituito
IpiGenericCall restituisce un valore definito dal driver. Se IpiGenericCall è stato eseguito nello stesso processore denominato KeIpiGenericCall, KeIpiGenericCall restituisce il valore definito dal driver restituito da IpiGenericCall. In caso contrario, il valore viene ignorato.
Commenti
Le routine IpiGenericCall vengono eseguite in IRQL = IPI_LEVEL, maggiore di DIRQL per ogni dispositivo. Le routine IpiGenericCall devono soddisfare le stesse restrizioni delle routine di controllo dei bug. Per altre informazioni su queste restrizioni, vedere Scrittura di una routine di controllo bug.
Esempio
Per definire una routine di callback IpiGenericCall , è prima necessario specificare 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 usando i tipi di funzione callback consente l'analisi del codice per i driver, il verifica driver statico (SDV) e altri strumenti di verifica trovano errori ed è un requisito per la scrittura di driver per il sistema operativo Windows.
Ad esempio, per definire una routine di callback IpiGenericCall denominata MyIpiGenericCall
, usare il tipo di KIPI_BROADCAST_WORKER come illustrato nell'esempio di codice seguente:
KIPI_BROADCAST_WORKER MyIpiGenericCall;
Implementare quindi la routine di callback come indicato di seguito:
_Use_decl_annotations_
ULONG_PTR
MyIpiGenericCall(
ULONG_PTR Argument
)
{
// Function body
}
Il tipo di funzione KIPI_BROADCAST_WORKER è 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 usate le annotazioni applicate al tipo di funzione KIPI_BROADCAST_WORKER nel file di intestazione. Per altre informazioni sui requisiti per le dichiarazioni di funzione, vedere Dichiarazione di funzioni tramite tipi di ruolo per i driver WDM. Per informazioni su _Use_decl_annotations_
, vedere Annotazione del comportamento della funzione.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
IRQL | Chiamato in IPI_LEVEL. |