Feda /dev/

B

#29668 Yo solo domingo desarrollo web. Sobretodo en el mean stack es lo que más domino y lo único en lo que estoy centrado.

1 respuesta
pineda

#29671 pues échale un ojo a las ofertas antes de registrarte, y haz números.

Además un handicap muy grande es al principio, donde vas a tener que bajar (más aún) los precios para conseguir hacer cosas, ganar reputación, y solo entonces podrás subir algo

eondev

#29668 tengo curiosidad por lo de los drivers 🤔

1 1 respuesta
pineda

#29673 curiosidad relativa a que? que tipo de trabajos piden, cuanto se paga, o como?

1 respuesta
eondev

#29674 no no, técnica. XD

Troyer

Fyn4r

#29668 me congratula ver que todavía residen entre nosotros fieles de golang, amén

1
pineda

Realmente es más simple de lo que pueda parecer. Yo los escribo en C.
Básicamente defines un método llamado DriverEntry (https://docs.microsoft.com/en-us/windows-hardware/drivers/wdf/driverentry-for-kmdf-drivers)
el cual es el "main" de tu driver. Aquí lo que harás es crear el Device (IoCreateDevice https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/content/wdm/nf-wdm-iocreatedevice)
con el cual te comunicarás desde tu aplicación de escritorio. A este Device le añadirás funciones, como puede ser:

      pDriverObject->MajorFunction[IRP_MJ_CREATE] = CreateConn;
  pDriverObject->MajorFunction[IRP_MJ_CLOSE] = CloseConn;
  pDriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = ManageCommunication;
  pDriverObject->DriverUnload = UnloadDriver;

con esto lo que consigues es que cada una de esas funciones se ejecute cuando creas la conexión entre tu aplicación y el device, la cierras, descargas el driver, y te comunicas con él

La interesante es IRP_MJ_DEVICE_CONTROL, cuya función sería algo parecido a:

NTSTATUS ManageCommunication(PDEVICE_OBJECT DeviceObject, PIRP Irp) {
PIO_STACK_LOCATION stack = IoGetCurrentIrpStackLocation(Irp);
REQUEST_STRUCT ReadInput = (REQUEST_STRUCT)Irp->AssociatedIrp.SystemBuffer;
}

con esto ya has conseguido enviarle un struct desde tu aplicación al driver, en ese mismo método harías lo que fuese, y lo devolverías escribiendo en ese buffer

Ah, y como no, para comunicarte desde tu aplicación al driver puedes usar por ejemplo la función CreateFile https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-createfilea
unida a DeviceIOControl https://docs.microsoft.com/en-us/windows/desktop/api/ioapiset/nf-ioapiset-deviceiocontrol

esto sería un ejemplo muy simplificado para ahorrarte leer códigos infumables, obviamente faltan muchas cosas, y esto solo te permitiría comunicarte entre un driver y tu aplicación.

Un driver del tipo DeviceDriver suele tener como objetivo hacer una API para simplificar la comunicación entre tu aplicación y un dispositivo físico. Por ejemplo con un Arduino podrías llamar a esas funciones enviando el churro de bytes que quisieras y hacerte tu propia API para ese dispositivo

Seguro que me he dejado cosas que me parecen obvias, pero espero que entiendas la idea

3 1 respuesta
Lecherito

Vaya historia nos ha contado el pavo tu

1 1 respuesta
eondev

#29678 Guao, thx. Y cómo sabes cómo has de comunicarte con el dispositivo hardware? Tendrás que mirar ahí las specs del fabricante supongo. Detectarlo supongo que windows lo hace por tí, y de una lista que te de la API de win puedes escoger el que tú quieras, no?

1 respuesta
pineda

#29680 si tienes que mirar las specs, pero depende del tipo de dispositivo. Windows ya añade capas y capas de drivers para ahorrarte esto. Por ejemplo, para comunicarte con un bichito HID solo debes añadir unos filters por encima, y solo si quieres claro

#29679 lamento no poder aportar nuevos frameworks de javascript

1
MisKo

Pues a mi me parece de lo más interesante que ha dicho nunca en este hilo.

Tb es verdad que era facilmente superable...

3 1 respuesta
Amazon

Yo cuando veo tanto texto paso

1 respuesta
MisKo

#29683 Toma, te lo dejo como imagen para que te sea más facil

1 2 respuestas
Amazon

#29684 sigue siendo texto, aunque sea una imagen.

O a lo mejor es cosa mía

1 respuesta
MisKo

#29685 es cosa tuya, te he cambiado todo el texto por 1 sola imagen

7
pineda

#29684 iba a subir tu foto a youtube con música de celine dion, pero que pereza

cabron

#29682

Ya hay que ser friki para que esa mierda te parezca más interesante que las discusiones con insultos que ha habido aquí.

1 respuesta
MisKo

#29688 Lo de aqui son juegos de niños comparados con offtopic

Saphyel

Para los que esten ansiosos de PHP 7.4 https://wiki.php.net/rfc/null_coalesce_equal_operator

1 2 respuestas
Amazon

#29690 lo tienes en español? Es que yo la documentación la veo sólo en español

1 respuesta
Saphyel

#29691 si claro, ahora te paso el link http://bfy.tw/LueS

Merkury

#29690 Esto si que va a ahorrar tiempo escribiendo mierdas.

Troyer

El puto operador ??= se lleva pidiendo desde que empecé a estudiar, aleluya.

1 respuesta
Merkury

#29694 A estudiar dice... XD

Fyn4r

Estamos ahí haciendo unos algoritmos y unas historias para un laboratorio y yo trabajo con unos ficheros de muestras que alguien obtuvo de alguna forma que ni lo se ni me importa. Pues hoy me dice mi jefa "ya tengo la base de datos de la salieron todos los ficheros de prueba, te la paso y ya te pegas con ella que yo de SQL ni puta idea", a lo yo, confuso, sólo consegui poner cara de :psyduck: y preguntar "eh?". Pues me acaba de llegar un fichero .sql de 120MB.

Escribo esto en lo que el notepad++ me lo abre para confirmar que efectivamente es un dump a pelísimo. Voy a ver si instalo mysql o algo xDDD

1 1 respuesta
cabron

#29696

Si el dump tiene metadatos para restaurar las tablas vas a necesitar instalar la misma base de datos, no te vale cualquiera.

1 respuesta
Fyn4r

#29697 Sí, justo acabo de ver una línea de postgresql xD

AikonCWD

6 1 respuesta
eondev

#29699 pues yo cuando toco css casi que es al revés reeeeeeeeee

Tema cerrado

Usuarios habituales

  • desu
  • Fyn4r
  • HeXaN
  • Merkury
  • eXtreM3
  • MisKo
  • Troyer