Citar...mil millones de dólares en solo las dos primeras semanas.El deseo de toda empresa.. y si empezamos a programar juegos? jejeje
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes MenúCitar...mil millones de dólares en solo las dos primeras semanas.El deseo de toda empresa.. y si empezamos a programar juegos? jejeje
CitarTodos los que encuentro son de 16 bits o sólo son cosas superbásicas
CitarEstructura que es creada por el IO manager el cual lo pasa por todos lo drivers cargados en el kernelEntonces todos los irps son enviados a todos los drivers.. por eso había leido en el tuto "Principios básicos de desarrollo de drivers en Windows"
CitarLo que esta pasando es que cuando se llama a una API Nativa, la IRP pasa por nuestro driver, entonces ahi podemos modificar el resultado, justo como un hook, no?
Es decir, cuando una aplicación en modo usuario llame a algunas de estas funciones:
CreateFile
CloseHandle
WriteFile
ReadFile
DeviceIoControl
se llamara a tu driver.
CitarSi que lo estoy leyendo, pero no recuerdo haber visto el diagrama, y si lo vi no lo abre entendido, ahora lo voy a repasar..
por ahi en esos libros que supongo que estas leyendo recuerdo que hay una imagen que muestra un diagrama sobre esta estructura y como se relaciona
CitarOk! Eso me aclara bastante, porque había leído que hay diferentes tipos de drivers, pero entonces siempre debería ser esa la función de un driver..
Driver son los controladores de los dispositivos, si un driver es cargado para un proposito legitimo es porque controlara un dispositivo en general
Citargetline(fi, cadena);La secuencia de binarios esta toda en una sola linea? Los miles que tenes o están de a 20?
while(!Archivo.eof()){
getline(Archivo, Cadena);
.....
.....
}
CitarLos valores se van salteando, es esto así, verdad? De eso se encargan los "for".
01: 1 (01) 0 (02) 1 (03) 1 (04) -> [1,0,1,1],
02: 1 (01) 1 (03) 0 (05) 1 (07) -> [1,1,0,1],
03: 1 (01) 1 (04) 1 (07) 1 (10) -> [1,1,1,1],
04: 1 (01) 0 (05) 0 (09) 1 (13) -> [1,0,0,1],
while(!Archivo.eof()){
getline(Archivo, Cadena);
for(p=0; p<=15; p++){
for(j=1; j<7; j++){
for(i=p; i<=j*f; i=i+j){
cout << Cadena[i];
}
cout << endl;
}
f = f + 1;
}
}
CitarIRP: The IRP structure is a partial opaque structure that represents an I/O request packet.IRP es una estructura que se utiliza para la comunicacion de los drivers
CitarIO_STACK_LOCATION: The IO_STACK_LOCATION structure defines an I/O stack location, which is an entry in the I/O stack that is associated with each IRP.Alguien me puede aclarar esto??
CitarIRP Major Function: Each driver-specific I/O stack location (IO_STACK_LOCATION) for every IRP contains a major function code (IRP_MJ_XXX)IRP Major Function es un vector de punteros de funciones que necesita nuestro driver, entiendo que eso es asi, pero no porque.
CitarIoCreateDevice: WDM drivers, other than bus drivers, call IoCreateDevice to create their device objects. Most WDM drivers create their device objects from within their AddDevice routines. Some drivers, such as disk drivers that must respond to drive layout IOCTLs, call IoCreateDevice from a dispatch routine.Por lo que entiendo aca,, los drivers en windows llaman a IoCreateDevice para crear sus device objects, pero entonces, un driver en windows siempre es considerado como un dispositivo, o "representante" de uno? Aunque sea un driver que no interactue con un dispositivo siempre sera considerado un dispositivo? ( Esta parte me interesa, porque tengo un error de concepto me parece )