Driver For Windows Xp

Тема в разделе "Другие", создана пользователем avearz, 31 янв 2010.

  1. avearz

    avearz Гость

    Создан драйвер с помощью Driver Studio 3.0.

    В нём есть такой кусок:

    NTSTATUS Driver_fc_pciDevice::OnStartDevice(KIrp I)
    {
    NTSTATUS status = STATUS_SUCCESS;

    I.Information() = 0;

    PCM_RESOURCE_LIST pResListRaw = I.AllocatedResources();
    PCM_RESOURCE_LIST pResListTranslated = I.TranslatedResources();

    #define MAX_DMA_LENGTH 0x3200000 // 0x100000 is 1 MB

    // Initialize the device descriptor for the DMA object using the assigned resource
    DEVICE_DESCRIPTION dd;
    RtlZeroMemory(&dd, sizeof(dd));
    dd.Version = DEVICE_DESCRIPTION_VERSION;
    dd.Master = TRUE;
    dd.ScatterGather = FALSE;
    dd.DemandMode = TRUE;
    dd.AutoInitialize = FALSE;
    dd.Dma32BitAddresses = TRUE;
    dd.IgnoreCount = FALSE;
    dd.DmaChannel = 0;
    dd.InterfaceType = PCIBus;
    dd.DmaWidth = Width32Bits; // PCI default width
    dd.DmaSpeed = Compatible;
    dd.MaximumLength = MAX_DMA_LENGTH;

    // Initialize the DMA adapter object
    m_Dma.Initialize(&dd, m_Lower.PDO());

    Virtual_address_for_user = m_Dma.AllocateCommonBuffer(MAX_DMA_LENGTH,&Address_for_dma,false);
    if (Virtual_address_for_user == NULL) {
    m_Dma.Invalidate();
    return STATUS_INSUFFICIENT_RESOURCES;
    }
    mdl = IoAllocateMdl(Virtual_address_for_user, MAX_DMA_LENGTH, FALSE, FALSE, NULL);
    if (mdl == NULL) {
    m_Dma.Invalidate();
    return STATUS_INSUFFICIENT_RESOURCES;
    }

    ................................

    return status;
    }

    Если MAX_DMA_LENGTH более чем 3200000, то есть запрашивается выделение памяти размером более 32 Мбайт, то при установке этого драйвера он отторгается системой и устройство появляется в списке с желтым восклицательным знаком.
    При этом реально в системе 4 Гигабайта оперативной памяти.
    Может ли это быть принципиальным ограничением связанным, например, с контроллером DMA?
    Или всё-таки возможно заставить WINDOWS предоставить эти ресурсы?
    Буду благодарен форуму за любую информацию на эту тему
     
Загрузка...
Похожие Темы - Driver For Windows
  1. Supermaximus
    Ответов:
    1
    Просмотров:
    4.003
  2. Jacque
    Ответов:
    5
    Просмотров:
    207
  3. supertony
    Ответов:
    1
    Просмотров:
    255
  4. malor
    Ответов:
    0
    Просмотров:
    4.004
  5. mibin
    Ответов:
    2
    Просмотров:
    2.345

Поделиться этой страницей