NuMega 2.7 KDevice exposing
От: Antei США  
Дата: 09.12.03 12:34
Оценка:
Есть intermedia filter driver. Для коннекта с Application сделал exposing WDM Device, взял из примера:

NDIS_STATUS Testdrv0Adapter::OnInitialize
    (const KNdisMedium& Medium, KNdisConfig& Config)
{
...
    static PDRIVER_DISPATCH MajorFunction[IRP_MJ_MAXIMUM_FUNCTION + 1];
    NdisZeroMemory(MajorFunction, sizeof(MajorFunction));
    MajorFunction[IRP_MJ_CREATE] = 
        MajorFunction[IRP_MJ_CLOSE] = 
        MajorFunction[IRP_MJ_CLEANUP] = 
        MajorFunction[IRP_MJ_READ] = 
        MajorFunction[IRP_MJ_WRITE] = 
        MajorFunction[IRP_MJ_DEVICE_CONTROL] = IoDispatch;

    Status = 
        NdisMRegisterDevice(
            *KNdisMiniDriver::DriverInstance(),
            KNDIS_STRING_CONST("\\Device\\MyNdisDevice"),
            KNDIS_STRING_CONST("\\DosDevices\\MyNdisDevice"),
            MajorFunction,
            &m_pDeviceObject,
            &m_DeviceHandle
        );
...
}



Соответственно, обработка обращений из приложения в

NTSTATUS Testdrv0Adapter::IoDispatch (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
{
...
}


Пример — NuMeg'овский. Все работает.
А вопрос такой: можно ли в качестве девайса для связи с Application использовать класс KDevice?
(у него есть предопределенные обработчики KDevice::Read, KDevice::DeviceControl, да и при работе с NuMega такой подход (если это возможно) будет корректней)
Заранее благодарен за совет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.