Выделение памяти для драйвера NT(W2K)
Есть самодельный драйвер ISA-платы для NT(W2K), нужно чтобы при обработке прерывания он записывал массив данных (около 10К) в ISA-плату, также нужно, чтобы управляющая программа могла заносить новые данные для следующего прерывания в этот массив. Т.е. нужно отобразить либо кусок памяти из программы в драйвер, либо из драйвера в программу. Если кто такое делал, подскажите.
ExAllocatePool(PagedPool, size)
ExFreePool(addr)
запись и чтение (из приложения) через DeviceIoControl (у тебя же есть Dispatch процедура?)
в ней - чтение DWORD из приложения:
RtlMoveMemory(&limit, Irp->AssociatedIrp.SystemBuffer, sizeof(ULONG));
в ней - запись DWORD в приложение:
RtlMoveMemory(Irp->AssociatedIrp.SystemBuffer, &limit, sizeof(ULONG));