1120 Alameda Orquidea, Atibaia, SP,  BRA

fernando@driverentry.com.br

Lendo Arquivos

4 Comments

Como vocês viram em meu último post, meu trabalho de graduação utilizará uma ferramenta chamada LabView para receber e tratar os dados de uma placa USB. Estes dados serão coletados de um dispositivo chamado giroscópio usando TTL 232, que é um RS 232 com tensões de 0 e 5 volts. Mas como uma prova de…

Gerenciando paginação do driver

3 Comments

Depois de tanto falar sobre memória virtual e paginação, recebi uma pergunta que coincidentemente tem tudo a ver com o assunto dos últimos posts. “Para que servem os pragma alloc_text que vemos nos exemplos do WDK?” (Thiago Cardoso, Recife-PE). Essa pergunta já deve ter passado pela cabeça de muitos que já deram uma olhada nos…

Buffered, Direct ou Neither em IOCTLs

2 Comments

Depois de uma pitada de memória virtual para entendermos os conceitos mais relevantes e darmos uma boa passeada nos métodos de transferências de dados entre aplicação e driver, hoje vamos fechar essa trilogia falando sobre os métodos de transferências de dados em IOCTLs. Se você não sabe criar ou utilizar IOCTLs, este outro post pode…

Buffered, Direct ou Neither

5 Comments

No post passado apresentei uma breve introdução sobre alguns pontos referentes à memória virtual que considero ser os mais relevantes aos desenvolvedores de drivers. Com essa pequena carga de conhecimento, ficará mais simples de explicar as diferenças entre os métodos de transferências de dados entre aplicações e drivers, assim como outras questões, tais como o…

Uma pitada de Memória Virtual

9 Comments

Agora vamos deixar de conversinha mole e vamos logo ao que interessa. O exemplo que descrevi em outro post mostra como implementar um driver bem simples que armazena uma lista de strings que são enviadas ao driver através de operações de escrita (WriteFile), e as mesmas strings são retornadas em subseqüentes operações de leitura (ReadFile)….

Step into Kernel (Firewire)

2 Comments

Já sei! Seu computador de teste não tem porta serial e você precisa fazer debug de Kernel nele. Creio que depois da porta serial, a maneira mais utilizada para depurar o Kernel do Windows seja utilizando uma interface firewire. Ainda existe a opção de se fazer o debug de Kernel utilizando USB 2.0, mas isso…

Utilizando o Registry (Parte 2)

0 Comment

Pois é, como eu estava dizendo na primeira parte deste post. Isso é muito código. Todo esse negócio parece trabalhoso, não? Montar uma UNICODE_STRING para o caminho da chave que se deseja acessar, montar um OBJECT_ATTRIBUTES com ela, abrir handle, determinar o tamanho dos valores a serem lidos, alocar um buffer grande suficiente, ler o…

Utilizando o Registry (Parte 1)

2 Comments

No último post, em resposta à uma dúvida de um leitor, comentei um pouco sobre como criar e usar novas IOCTLs. Afinal de contas, o lema desse blog é “Servir bem para servir sempre”. Dúvidas de leitores são ótimas fontes de sugestões para novos posts. Creio que como em qualquer outra especialidade, o desenvolvimento de…

Criando e usando IOCTLs

2 Comments

Eu posso definir minha estrutura da maneira // que eu achar o maior dos melhor de bão. // Estes serão os dois números a serem somados. ULONG x; ULONG y; } KERNEL_MATH_REQUEST, *PKERNEL_MATH_REQUEST; typedef struct _KERNEL_MATH_RESPONSE { //-f–> Aos mais mocinhos: Eu sei que dá para fazer // tudo em uma só estrutura. Estou fazendo…

Tirando o atraso :-P

1 Comment