Condividi tramite


HW_PASSIVE_INITIALIZE_ROUTINE funzione di callback (storport.h)

La routine di callback HwStorPassiveInitializeRoutine viene chiamata dopo la routine HwStorInitialize quando il runtime di integrazione corrente si trova in PASSIVE_LEVEL. Il callback HwStorPassiveInitializeRoutine viene impostato chiamando la routine StorPortEnablePassiveInitialization . L'inizializzazione delle chiamate di routine posticipate del miniport si verifica nel callback HwStorPassiveInitializeRoutine .

Sintassi

HW_PASSIVE_INITIALIZE_ROUTINE HwPassiveInitializeRoutine;

BOOLEAN HwPassiveInitializeRoutine(
  PVOID DeviceExtension
)
{...}

Parametri

DeviceExtension

Valore restituito

La routine HwStorPassiveInitializeRoutine restituisce TRUE se il miniport ha inizializzato correttamente l'elaborazione dei controller di dominio o FALSE se il processo di inizializzazione non è riuscito.

Commenti

La routine HwStorPassiveInitializeRoutine deve inizializzare tutti i controller di dominio usati dal driver miniport. Il driver della porta chiama HwStorPassiveInitializeRoutine in PASSIVE_LEVEL senza blocchi di rotazione mantenuti. Gli interrupt sono abilitati mentre viene chiamata questa routine.

Il nome HwStorPassiveInitializeRoutine è solo un segnaposto. Il prototipo effettivo per questa routine di callback è definito in Storport.h come indicato di seguito:

typedef
BOOLEAN
(*PHW_PASSIVE_INITIALIZE_ROUTINE) (
  _In_ PVOID DeviceExtension
  );

Il driver di porta chiama la routine HwStorPassiveInitializeRoutine in PASSIVE IRQL senza acquisire blocchi di rotazione.

Esempio

Per definire una funzione di callback HwStorPassiveInitializeRoutine , è prima necessario fornire una dichiarazione di funzione che identifica il tipo di funzione 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 HwStorPassiveInitializeRoutine denominata MyHwPassiveInitialize, usare il tipo HW_PASSIVE_INITIALIZE_ROUTINE come illustrato nell'esempio di codice seguente:

HW_PASSIVE_INITIALIZE_ROUTINE MyHwPassiveInitialize;

Implementare quindi la routine di callback come indicato di seguito:

_Use_decl_annotations_
BOOLEAN
MyHwPassiveInitialize (
  _In_ PVOID  DeviceExtension
  );
  {
      ...
  }

Il tipo di funzione HW_PASSIVE_INITIALIZE_ROUTINE è definito nel file di intestazione Storport.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 HW_PASSIVE_INITIALIZE_ROUTINE 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 Storport. Per informazioni sulle Use_decl_annotations, vedere Annotazione del comportamento della funzione.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione storport.h (include Storport.h)
IRQL PASSIVE_LEVEL (vedere la sezione Osservazioni).

Vedi anche

HwStorInitialize

StorPortEnablePassiveInitialization