Como acessar o RamDisk Drive a partir de uma conta de usuário não administrador no Windows XP

0

Eu consegui criar / acessar uma unidade de disco RAM de 20MB usando o exemplo RAMDISK no WinDDK usando minha conta de administrador.

No entanto, quando eu faço login como usuário não administrador na mesma máquina, recebo um erro de acesso negado ao clicar duas vezes na mesma unidade Ram para acessá-lo. Por favor, alguém aqui poderia dizer como dar acesso a todos os usuários para esta unidade.

    
por studiohack 08.10.2011 / 00:37

2 respostas

1

Não consigo imaginar por que a Microsoft lançaria o exemplo do ramdisk sem definir suas permissões, mas o fizeram ... por isso, o padrão é usar permissões somente de administrador.

Você precisará chamar WdfDeviceInitAssignSDDLString () de dentro de RamDiskEvtDeviceAdd (), após a chamada para WdfDeviceInitAssignName () e antes da chamada para WdfDeviceCreate (). Observe que essa função só está disponível se você vincular ao wdmsec.lib, o que será necessário incluir no arquivo "sources". E você provavelmente desejará usar uma das strings de definição da ACL em wdmsec.h, embora você possa escrever a sua própria se quiser saber como é sua estrutura.

Outro problema com o driver de amostra ramdisk da Microsoft é que ele não funcionará acima de 32MB (na verdade, ele funcionará somente para até 31.99 MB) porque o código não manipula o estouro do bootSector de 16 bits - > bsectores; Além de 0x0000FFFF total de setores, ele deve definir betsSectors de bootSector- > para zero e usar os bsHugeSectors de 32 bits bitSector- > bsHen.

Observe que, após corrigir o problema de bootSector- & gs; bsHugeSectors, você está se preparando para ficar sem memória kernel não-paginada se não for cuidadoso ... embora na maioria dos casos você esteja seguro até 96MB desde A maioria dos casos (modernos) do seu sistema WinXP tem 128 MB de memória kernel não-paginável disponível. Só não esqueça que o seu driver de disco ram não é a única coisa que usa o pool não paginado.

    
por 14.12.2011 / 04:20
0

Encontrei o exemplo abaixo postado no site de suporte da Microsoft que cria a unidade Ramdisk que pode ser acessada por meio de contas não administrativas. Ele funciona em 2000, xp, win7. Havent tentou no Vista. link

    
por 14.10.2011 / 01:11