Partager via


HW_COMPLETE_SERVICE_IRP fonction de rappel (storport.h)

La routine HwStorCompleteServiceIrp est appelée lorsque la carte virtuelle est supprimée. Dans ce cas, le miniport virtuel Storport peut effectuer tous les IRP de rappel inverse reçus dans HwStorCompleteServiceIrp.

Syntaxe

HW_COMPLETE_SERVICE_IRP HwCompleteServiceIrp;

void HwCompleteServiceIrp(
  PVOID DeviceExtension
)
{...}

Paramètres

DeviceExtension

Pointeur vers la zone de stockage par adaptateur du pilote miniport virtuel.

Valeur de retour

None

Remarques

Le nom HwStorCompleteServiceIrp est le texte de l’espace réservé pour le nom de routine réel. Le prototype réel de cette routine est défini dans Storport.h comme suit :

typedef
VOID
HW_COMPLETE_SERVICE_IRP (
  _In_ PVOID  DeviceExtension
  );

Le pilote de port appelle la routine HwStorCompleteServiceIrpdu pilote de miniport virtuel Storport à PASSIVE_LEVEL sans contenir de verrous de rotation. Le pilote de miniport virtuel termine l’IRP en appelant la routine HwStorCompleteServiceIrp .

Exemples

Pour définir une fonction de rappel HwStorCompleteServiceIrp , vous devez d’abord fournir une déclaration de fonction qui identifie le type de fonction de rappel que vous définissez. Windows fournit un ensemble de types de fonctions de rappel pour les pilotes. La déclaration d’une fonction à l’aide des types de fonction de rappel aide l’analyse du code pour les pilotes, le vérificateur de pilotes statique (SDV) et d’autres outils de vérification à la recherche d’erreurs. Il s’agit d’une exigence pour l’écriture de pilotes pour le système d’exploitation Windows.

Par exemple, pour définir une routine de rappel HwStorCompleteServiceIrp nommée *&MyHwCompleteServiceIrp, utilisez le type HW_COMPLETE_SERVICE_IRP comme indiqué dans cet exemple de code :

HW_COMPLETE_SERVICE_IRP MyHwCompleteServiceIrp;

Ensuite, implémentez votre routine de rappel comme suit :

_Use_decl_annotations_
VOID
MyHwCompleteServiceIrp (
  _In_ PVOID  DeviceExtension
  );
  {
      ...
  }

Le type de fonction HW_COMPLETE_SERVICE_IRP est défini dans le fichier d’en-tête Storport.h. Pour identifier plus précisément les erreurs lors de l’exécution des outils d’analyse du code, veillez à ajouter l’annotation Use_decl_annotations à votre définition de fonction. L’annotation Use_decl_annotations garantit que les annotations appliquées au type de fonction HW_COMPLETE_SERVICE_IRP dans le fichier d’en-tête sont utilisées. Pour plus d’informations sur la configuration requise pour les déclarations de fonction, consultez Déclaration de fonctions à l’aide de types de rôles de fonction pour les pilotes Storport. Pour plus d’informations sur Use_decl_annotations, consultez Annotating Function Behavior.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête storport.h (inclure Storport.h)

Voir aussi

HwStorProcessServiceRequest

StorPortCompleteServiceIrp