O driver e a biblioteca do RDBSS

O Subsistema de Buffer de Unidade Redirecionado (RDBSS) é implementado em duas formas:

  • Um driver do sistema de arquivos (rdbss.sys) fornecido com o sistema operacional.

  • Uma biblioteca estática (rdbsslib.lib) fornecida com o WDK (Windows Driver Kit).

O driverrdbss.sys será carregado automaticamente se quaisquer minidiretórios de rede não monolíticos forem registrados no sistema. O redirecionador do SMB (Bloco de Mensagens do Microsoft Server) (mrxsmb sys) é atualmente o único driver que pode ser criado como um driver de minidiretório de rede não monolítico.

Todos os outros drivers de minidiretório de rede, incluindo outros minidiretórios de rede da Microsoft fornecidos com o sistema operacional, devem ser implementados como drivers monolíticos que se vinculam à biblioteca estática rdbsslib.lib fornecida com o WDK.

O RDBSS usa um mecanismo bem definido para comunicação com drivers de minidiretório de rede, Gerenciador de E/S, Gerenciador de Cache, Gerenciador de Memória e outros sistemas de kernel.

O RDBSS exporta um grande número de rotinas que podem ser chamadas por um minidiretório de rede e outros sistemas de kernel para definir opções e executar várias operações. Para chamar as rotinas exportadas pelo RDBSS, um driver de minidiretório de rede (ou outro driver de kernel) inclui os arquivos de cabeçalho do WDK apropriados, chama a rotina de RDBSS exportada pelo nome e links com o arquivo rdbsslib.lib apropriado instalado com o WDK. Observe que diferentes arquivos rdbsslib.lib são fornecidos com o WDK para Window Vista, Windows Server 2003, Windows XP e Windows 2000.

Os arquivos de cabeçalho do WDK para RDBSS também definem várias macros recomendadas para uso por drivers de minidiretório de rede, em vez de chamar algumas das rotinas rdbss diretamente.

Todas as estruturas de dados definidas e usadas pelo RDBSS têm uma assinatura especial de 4 bytes no início da estrutura de dados que é usada extensivamente na validação. Os valores dessas assinaturas de estruturas de dados RDBSS são definidos no arquivo de cabeçalho do WDK, nodetype.h. Essas assinaturas de estrutura de dados são usadas para solução de problemas e depuração de DRIVERS RDBSS e minidiretórios de rede.

As seções a seguir discutem detalhadamente cada uma das categorias de rotinas exportadas pelo RDBSS e as macros definidas para chamar essas rotinas. Começamos com uma lista de todas as rotinas fornecidas pelo RDBSS e uma lista semelhante de macros definidas pelo RDBSS:

As rotinas exportadas pelo RDBSS e pelas macros RDBSS definidas para chamar essas rotinas podem ser organizadas em várias categorias diferentes, incluindo as seguintes: