Le pilote et la bibliothèque RDBSS
Le sous-système de mise en mémoire tampon de lecteur redirigé (RDBSS) est implémenté sous deux formes :
Un pilote de système de fichiers (rdbss.sys) fourni avec le système d’exploitation.
Bibliothèque statique (rdbsslib.lib) fournie avec le Kit de pilotes Windows (WDK).
Le piloterdbss.sys est automatiquement chargé si des mini-redirecteurs réseau non monolithiques sont inscrits sur le système. Le redirecteur Microsoft Server Message Block (SMB) (mrxsmb sys) est actuellement le seul pilote qui peut être créé en tant que pilote de mini-redirecteur réseau non monolithique.
Tous les autres pilotes de mini-redirecteurs réseau, y compris d’autres mini-redirecteurs réseau Microsoft fournis avec le système d’exploitation, doivent être implémentés en tant que pilotes monolithiques liés à la bibliothèque statique rdbsslib.lib fournie avec le WDK.
RdBSS utilise un mécanisme bien défini pour la communication avec les pilotes de mini-redirecteurs réseau, le Gestionnaire d’E/S, le Gestionnaire de cache, le Gestionnaire de mémoire et d’autres systèmes de noyau.
RDBSS exporte un grand nombre de routines qui peuvent être appelées par un mini-redirecteur réseau et d’autres systèmes de noyau pour définir des options et effectuer diverses opérations. Pour appeler les routines exportées par RDBSS, un pilote de mini-redirecteur réseau (ou un autre pilote de noyau) inclut les fichiers d’en-tête WDK appropriés, appelle la routine RDBSS exportée par son nom et établit des liens avec le fichier rdbsslib.lib approprié installé avec le WDK. Notez que différents fichiers rdbsslib.lib sont fournis avec wdk pour Windows Vista, Windows Server 2003, Windows XP et Windows 2000.
Les fichiers d’en-tête WDK pour RDBSS définissent également un certain nombre de macros recommandées pour une utilisation par les pilotes de mini-redirecteur réseau, plutôt que d’appeler directement certaines des routines RDBSS.
Toutes les structures de données définies et utilisées par RDBSS ont une signature spéciale de 4 octets au début de la structure de données qui est largement utilisée dans la validation. Les valeurs de ces signatures de structures de données RDBSS sont définies dans le fichier d’en-tête WDK, nodetype.h. Ces signatures de structure de données sont utilisées pour la résolution des problèmes et le débogage des pilotes RDBSS et mini-redirecteurs réseau.
Les sections suivantes décrivent en détail chacune des catégories de routines exportées par RDBSS et les macros définies pour appeler ces routines. Nous commençons par une liste de toutes les routines fournies par RDBSS et une liste similaire de macros définies par RDBSS :
Les routines exportées par RDBSS et les macros RDBSS définies pour appeler ces routines peuvent être organisées en plusieurs catégories, notamment :