Help and Support
 

powered byLive Search

EXEMPLE : IRPQ.exe montre comment gérer le pilote IRP Queuing WinNT

Numéro d'article:191813
Dernière mise à jour:lundi 7 mars 2005
Version:2.3
Sommaire

Résumé

IRPQ.exe est un exemple qui illustre une de manière dont vous pouvez configurer votre pilote Windows NT en mode noyau de gérer ses propres files d'attente IRP.

Retour au début

Plus d'informations

Vous pouvez télécharger le fichier suivant à partir du Centre de téléchargement Microsoft
Irpq.exe (http://download.microsoft.com/download/winddk/sample4/1/nt4/en-us/irpq.exe)
Dater de publication : Aug-27-1998

Pour plus d'informations sur le téléchargement des fichiers du Support technique Microsoft cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft
119591 (http://support.microsoft.com/kb/119591/EN-US/) Procédure pour obtenir des fichiers de support technique Microsoft auprès des services en lign
Microsoft a analysé ce fichier en vue de détecter la présence de virus Microsoft a utilisé les logiciels de détection de virus les plus récents disponibles à la date de publication de ce fichier Le fichier est stocké sur les serveurs sécurisés qui aident à empêcher toutes les modifications non autorisées dans le fichier.

IRPQ.exe se compose de quatre éléments :
   File         Description
   ----------------------------------------------------------------------

   .\sys        A full-duplex asynchronous driver with driver managed Irp
                queues and cancelable I/O.

   .\exe        A multithreaded asynchronous test application that uses
                APCs.

   .\filter     A transparent passthrough filter driver.

   .\kd         A WinDbg kernel debugger extension.
				
Tous sont générés en utilisant le Kit de Windows NT. La version actuelle de cet exemple ne supporte pas de Plug-and-Play ou Gestion de l'alimentation.
   File             Description
   ------------------------------------------------------------------------

   Dirs
   Irpq.htm          Documentation for the sample (a copy of this text).
   Common.h          Common header file.

   Exe\Makefile
   Exe\Sources       Generic file for building the application.
   Exe\Parse.c       Command line parsing code.
   Exe\Stolen.h      Linked List manipulation macros borrowed from NTDDK.h
                     for the application's use.
   Exe\Testirpq.c    Main test application code.
   Exe\Testirpq.h    Application main header file.

   Filter\Makefile
   Filter\Sources    Generic file for building the driver.
   Filter\Filter.c   Main filter driver code.
   Filter\Filter.h   Main filter driver header file.
   Filter\Irpqf.ini  Install file for the filter driver.
   Filter\Irpqf.rc   Resource file.

   Kd\Makefile
   Kd\Sources        Generic file for building the WinDbg kernel debugger
                     extension.
   Kd\Help.c         Help display code for the extension.
   Kd\IRPQkd.c       Extension specific code.
   Kd\IRPQkd.def     Extension export definitions.
   Kd\IRPQkd.h       Main header file.
   Kd\IRPQkd.rc      Extension resource file.
   Kd\Kdexts.c       Generic extension routines.

   Sys\Makefile
   Sys\Sources       Generic file for building the driver.
   Sys\Debug.h       Driver debug definitions.
   Sys\Driver.c      Main driver file.
   Sys\Ioctl.c       IOCTL path.
   Sys\Irpq.c        IRP queuing code.
   Sys\Irpq.h        Main driver header.
   Sys\Irpq.ini      Install file for the driver.
   Sys\Irpq.rc       Resource file.
   Sys\Read.c        Read path.
   Sys\Write.c       Write path.
				

Retour au début

Procédures pas à pas : générer l'exemple

1. Créez comme suit l'environnement GRATUITEMENT ou CHECKED de génération les modules dans une :

BLD

REMARQUE : tous les modules sont placés dans %NTDDK%\LIB\*\FREE| ACTIVÉ sur votre ordinateur de génération.
2. Copiez les pilotes intégrés nouvellement dans le répertoire %systemroot%\system32\drivers de votre ordinateur cible. Copiez l'application créée nouvellement et les fichiers IRPQ*.INI sur votre ordinateur cible. Copiez l'extension de débogueur IRPQKD.DLL au dossier de windbg.exe sur votre ordinateur hôte.
3. Mettez à jour le Registre du ordinateur cible en exécutant Regini.exe sur le fichier IRPQ*.ini. Par exemple

IRPQ.ini REGINI
IRPQF.ini REGINI

Cela ajoute des clés de pilote dans le dossier suivant de Registre :
      HKLM\SYSTEM\CurrentControlSet\Services
						

Vous pouvez vérifier que la clé a été ajoutée en exécutant RegEdit32.exe et en examinant \IRPQ* toucher.
4. Redémarrez l'ordinateur cible afin que les modifications de Registre prennent l'effet. REMARQUE : vos pilotes ne se chargeront pas tant que vous ne redémarrez pas.
5.Chargez comme suit le pilote à partir de la ligne de commande :

IRPQ NET START

Si vous utilisez le pilote de Filtre, vous pouvez utiliser le suivant :

IRPQF NET START

Cela chargera le pilote IRPQ.sys également.
6.Exécutez l'application-test à partir de la ligne de commande.

D'utilisation : irpq [- nombre r ] [- nombre w ] [- nombre d'i ] <-t <-c <-k>>>

Options :

[- Nombre r ] Nombrer Lecture demande de pouvoir être comptabilisé.

[- Nombre w ] Nombrer d'Écriture demande de pouvoir être comptabilisé.

[- Nombre d'i ] Nombrer DeviceIoControl demande de pouvoir être comptabilisé.

Boucle <-t test>. Envoie en continu des demandes en Lecture, écriture et/ou DeviceIoControl jusqu'à ce qu'être interrompues.

Si vous utilisez cette option, des arguments <nombre> sont ignorés.

<-c> Teste le chemin Annuler pour les demandes en cours du pilote.

Toutes les requêtes sont envoyées et sont puis annulées.

< REMARQUE : le -c et options <-t> s'excluent mutuellement>.

<-k> Teste le chemin IRP_MJ_CLEANUP du pilote en envoyant les requêtes requises et en fermant le descripteur de fichiers, puis.

Par exemple
   irpq -r 12 : post 12 Read requests.

   irpq -r 12 -c : post 12 Read requests, then cancel any outstanding
                   requests.

   irpq -r 12 -k : post 12 Read requests, then force IRP_MJ_CLEANUP.

   irpq -r 12 -t : continuously post Read requests.

   irpq -r 12 -w 12 -i 12 -t : continuously post Read, Write, and Ioctl
                               requests.
7.Déchargez comme suit le pilote à partir de la ligne de commande :

IRPQ* NET STOP

Retour au début


Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
?Microsoft Win32 Device Driver Kit for Windows NT 4.0

Retour au début

Mots-clés : 
kbdownload kbfile kbndis kbsample KB191813 KbMtfr kbmt

Retour au début

Traduction automatiqueIMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que feraient une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique. Si vous relevez des erreurs graves et souhaitez contribuer à l?amélioration du système, vous pouvez compléter l?enquête à votre disposition dans le bas des articles.
La version anglaise de cet article est la suivante: 191813 (http://support.microsoft.com/kb/191813/en-us/)

Retour au début

L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Traductions disponibles

 

Other Support Options

  • Need More Help?
    Contact a Support professional by Email, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.