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

SAMPLE : IRPQ.exe indique comment faire pour gérer le pilote Windows NT Queuing IRP

Sommaire

Agrandir tout | Réduire tout

Résumé

IRPQ.exe est un exemple qui illustre une façon, vous pouvez configurer votre pilote en mode noyau Windows NT pour gérer ses propres files d'attente IRP.

Plus d'informations

Le fichier suivant est téléchargeable à partir du Centre de téléchargement Microsoft :
Irpq.exe (http://download.microsoft.com/download/winddk/sample4/1/nt4/en-us/irpq.exe)
Date de publication: août-27-1998

Pour plus d'informations sur la façon de télécharger des fichiers de 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/ ) Comment obtenir des fichiers de support technique Microsoft auprès des services en ligne
Microsoft a analysé ce fichier de virus. Microsoft utilisé les logiciels de détection de virus plus récente ne sont associé à la date à laquelle le fichier a été validé. Le fichier est stocké sur des serveurs sécurisés, pour empêcher toute modification non autorisée dans le fichier.

IRPQ.exe est composée de quatre parties :
   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 créés à l'aide du kit DDK de Windows NT. La version actuelle de cet exemple ne prend pas en charge 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.
				

Procédures pas à pas : création de l'exemple

  1. Créer les modules dans un l'environnement de génération gratuitement ou CHECKED comme suit :

    BLD

    Remarque : tous les modules sont placés dans %NTDDK%\LIB\*\FREE | activé sur votre ordinateur de build.
  2. Copiez les pilotes nouvellement intégrées au répertoire %SystemRoot%\system32\drivers l'ordinateur cible. Copier le application nouvellement intégrée et les IRPQ*.INI fichiers sur votre ordinateur cible. Copiez l'extension du débogueur IRPQKD.DLL dans le dossier dans lequel vous installé windbg.exe sur votre ordinateur ordinateur hôte.
  3. Mettre à jour Registre l'ordinateur cible en exécution RegIni.exe sur le fichier IRPQ*.ini. Par exemple :

    REGINI IRPQ.ini
    REGINI IRPQF.ini

    Cela ajoute clés de pilote au dossier du Registre suivant :
          HKLM\SYSTEM\CurrentControlSet\Services
    						

    Vous pouvez vérifier que la clé a été ajoutée en exécutant RegEdit32.exe et examiner les clés \IRPQ*.
  4. Redémarrer l'ordinateur cible pour que les modifications du Registre prennent effet. Remarque : vos pilotes ne charge pas jusqu'à ce que vous redémarriez.
  5. Charger le pilote à partir de la ligne de commande comme suit :

    NET START IRPQ

    Si vous utilisez le pilote de filtre vous pouvez utiliser la syntaxe suivante :

    NET START IRPQF

    Cela va charger le pilote IRPQ.sys ainsi.
  6. Exécutez l'application de test à partir de la ligne de commande.

    Irpq Utilisation: [-nombre r] [-nombre w] [-i compter] <-t> <-c> <-k>

    Options :

    [-nombre r] Nombre de lecture demandes à valider.

    [-nombre w] Nombre de écriture demandes à valider.

    [-i compter] Nombre de DeviceIoControl demandes à valider.

    Boucle <-t> test. En continu enregistre des demandes de lecture, écriture et/ou DeviceIoControl jusqu'à ce qu'interrompu.

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

    <-c> teste Annuler chemin le pilote pour les demandes en attente.

    Toutes les demandes sont validées et ensuite annulées.

    Remarque : le <-c> et options <-t> sont mutuellement exclusifs.

    <-k> teste chemin d'accès du pilote IRP_MJ_CLEANUP en validation les demandes requis et puis en fermant le descripteur de fichier.

    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écharger le pilote à partir de la ligne de commande comme suit :

    NET STOP IRPQ *

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Win32 Device Driver Kit for Windows NT 4.0
Mots-clés : 
kbmt kbdownload kbfile kbndis kbsample KB191813 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : 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 ferait 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.
La version anglaise de cet article est la suivante: 191813  (http://support.microsoft.com/kb/191813/en-us/ )
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.
Retired KB ArticleExclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.
 

Traductions disponibles