Bem-vindo ao século XXI. Você está executando um sistema operacional Plug and Play.
Não é possível mapear a memória do dispositivo e os registradores de E / S na memória e no espaço de E / S, o que é exatamente o que permitir manualmente a memória e o acesso de E / S no seu dispositivo PCI . Os recursos do dispositivo de mapeamento devem ser feitos em conjunto com o gerenciador Plug and Play do sistema operacional. O Gerenciador de Plug and Play rastreia quais intervalos de endereços de I / O e memória são usados e por quem, e garante que não haja conflitos devido a (digamos) vários dispositivos mapeando os mesmos intervalos de endereços.
O Windows está desabilitando a memória e os ciclos de E / S para o seu dispositivo porque não foi possível atribuir memória e recursos de E / S ao dispositivo como parte da enumeração do barramento Plug and Play e da arbitragem de recursos. (Estou descontando a possibilidade de que o Windows tenha decidido desativá-lo, já que ele deixou o busmastering ativado.) Ou simplesmente não há espaço no mapa de memória física de sua máquina para os recursos que o dispositivo deseja mapear, ou não foi. É possível iniciar o seu dispositivo com uma configuração de recursos atribuída. (Estou descontando a possibilidade de que seu dispositivo esteja simplesmente quebrado e não está relatando seus requisitos de recursos adequadamente no espaço de configuração PCI.)
O último é o mais provável. A causa comum é um dispositivo PCI que não possui um driver de dispositivo. Sem um driver de dispositivo para acionar o dispositivo, não há como o Gerenciador de PAP atribuir uma configuração de recursos ao dispositivo e colocá-lo no estado "iniciado". Estes requerem um driver de dispositivo (função) para responder às IORPs PaP apropriadas. Nesse caso: seu dispositivo precisa de um driver de dispositivo.
O Gerenciador de dispositivos informará o que está acontecendo com seu dispositivo a esse respeito.