Compartilhar via


Diferenças nas versões do WDM

A maneira mais simples de garantir a compatibilidade entre sistemas é gravar um driver que usa apenas recursos compatíveis com a versão de menor número do WDM. No entanto, isso nem sempre é possível. Às vezes, os drivers exigem código adicional para aproveitar os recursos que estão disponíveis em versões posteriores do WDM ou para compensar as diferenças entre os sistemas operacionais Windows.

Diferenças de WDM nas rotinas de suporte ao driver

A página de referência do WDK (Windows Driver Kit) para cada rotina de suporte de driver indica se a rotina está restrita a versões específicas do WDM ou se seu comportamento é diferente em diferentes versões do sistema operacional. Antes de usar qualquer rotina de suporte de driver em um driver entre sistemas, lembre-se de entender quaisquer restrições ou comportamentos específicos da versão.

Diferenças de WDM no Plug and Play

O seguinte Plug and Play pacote de solicitação de E/S (IRP) tem suporte apenas no Windows 2000 e versões posteriores do sistema operacional baseado em NT (versão 1.10 e posteriores do WDM):

IRP_MN_SURPRISE_REMOVAL

Além disso, os seguintes IRPs funcionam de forma diferente no Windows 98/Me de como funcionam no sistema operacional baseado em NT:

IRP_MN_STOP_DEVICE e IRP_MN_REMOVE_DEVICE

IRP_MN_QUERY_REMOVE_DEVICE

Diferenças de WDM no Gerenciamento de Energia

As seguintes funções de gerenciamento de energia e solicitações de E/S diferem na operação entre o sistema operacional Windows 98/Me e o sistema operacional baseado em NT:

PoSetPowerState

PoRequestPowerIrp

PoRegisterDeviceForIdleDetection

IRP_MN_QUERY_POWER

IRP_MN_SET_POWER

Ao concluir IRPs de energia, os drivers no Windows 98/Me devem concluir IRPs de energia em IRQL = PASSIVE_LEVEL, enquanto os drivers no sistema operacional baseado em NT podem concluir esses IRPs em IRQL = PASSIVE_LEVEL ou IRQL = DISPATCH_LEVEL.

O sinalizador DO_POWER_PAGABLE na estrutura DEVICE_OBJECT é usado de forma diferente no sistema operacional Windows 98/Me do que no sistema operacional baseado em NT.

Diferenças de WDM na operação do driver de Kernel-Mode

Os drivers WDM no modo kernel para Windows 98/Me devem seguir determinadas diretrizes para usar operações de ponto flutuante, MMX, 3DNOW!ou extensões SSE da Intel. Para obter mais informações, consulte Usando Ponto Flutuante ou MMX em um driver WDM.

O Windows 98/Me fornece um número fixo de threads de trabalho que podem não ser adequados para alguns drivers.