⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 deb_res.cpp

📁 RTL8139 网卡驱动源码 for WinCE.net CEPC
💻 CPP
📖 第 1 页 / 共 3 页
字号:
                  pResourceList->Revision, pResourceList->Count);

    for (ULONG i = 0; i < pResourceList->Count; i++)
    {
        char szTemp[10];
        _itoa(i, (LPSTR)&szTemp[0], 10);

        OutIoResourceDescriptor(&pResourceList->Descriptors[i], szTemp);
    }                                       // for (ULONG i = 0; i < ...
}

//****************************************************************************
//                  --- OutIoResourceRequirementList ---
//
// Purpose: Print an IO_RESOURCE_REQUIREMENTS_LIST to the serial monitor
//   Input: PIO_RESOURCE_REQUIREMENTS_LIST pResourceRequirementsList - Pointer
//                                          to the resource requirements list
//          LPCSTR                         szDescription             - Description
//  Output: none
// Written: by Alexei A. Piatetsky 7/19/96
//****************************************************************************
void OutIoResourceRequirementList(PIO_RESOURCE_REQUIREMENTS_LIST pResourceRequirementsList,
                                  LPCSTR                         szDescription)
{
    STRACE_PNPDRV("IO Resource Requirements List %s:\n"
                  "            Interface: %s\n",
                  szDescription,
                  RetInterfaceMsg((INTERFACE_TYPE)
                                  pResourceRequirementsList->InterfaceType));

    STRACE_PNPDRV("           Bus Number: %d\n"
                  "          Slot Number: %d\n"
                  "    Alternative Lists: %d\n",
                  pResourceRequirementsList->BusNumber,
                  pResourceRequirementsList->SlotNumber,
                  pResourceRequirementsList->AlternativeLists);

    LPSTR pCurList = (LPSTR)&(pResourceRequirementsList->List[0]);

    for (ULONG i = 0; i < pResourceRequirementsList->AlternativeLists; i++)
    {
        char szTemp[10];
        _itoa(i, (LPSTR)&szTemp[0], 10);

        OutIoResourceList((PIO_RESOURCE_LIST)pCurList, szTemp);

        ULONG uNumDescriptors = ((PIO_RESOURCE_LIST)pCurList)->Count;

        pCurList += sizeof(IO_RESOURCE_LIST);

        if (uNumDescriptors >= 1)
            pCurList += sizeof(IO_RESOURCE_DESCRIPTOR) * (uNumDescriptors - 1);
    }                                       // for (ULONG i = 0; i < ...
}

//****************************************************************************
//                 --- OutCMPartialResourceDescriptor ---
//
// Purpose: Print an CM_PARTIAL_RESOURCE_DESCRIPTOR to the serial monitor
//   Input: PCM_PARTIAL_RESOURCE_DESCRIPTOR pDecs         - Pointer to the
//                                                          partial resource
//                                                          descriptor
//          LPCSTR                          szDescription - Description
//  Output: none
// Written: by Alexei A. Piatetsky 7/19/96
//****************************************************************************
void OutCmPartialResourceDescriptor(PCM_PARTIAL_RESOURCE_DESCRIPTOR pDesc,
                                    LPCSTR                          szDescription)
{
    STRACE_PNPDRV("   CM Partial Resource Descriptor %s:\n", szDescription);
    STRACE_PNPDRV("                 Type: %s (%Xh)\n",
                  RetResourceTypeMsg((CM_RESOURCE_TYPE)pDesc->Type), pDesc->Type);
    STRACE_PNPDRV("    Share disposition: %s\n",
                  RetResourceShareMsg((CM_SHARE_DISPOSITION)pDesc->ShareDisposition));
    STRACE_PNPDRV("                Flags: %s (%Xh)\n",
                  RetResourceFlagMsg((CM_RESOURCE_TYPE)pDesc->Type, pDesc->Flags),
                  pDesc->Flags);

//--------------------------- I/O Port resource ------------------------------

    if (pDesc->Type == CmResourceTypePort)
    {
        STRACE_PNPDRV("                Start: %08lX\n"
                      "               Length: %08lX\n",
                      pDesc->u.Port.Start.LowPart,
                      pDesc->u.Port.Length);
    }                                       // if (pDesc->Type == ...

//---------------------------- Memory resource -------------------------------

    else if (pDesc->Type == CmResourceTypeMemory)
    {
        STRACE_PNPDRV("                Start: %08lX\n"
                      "               Length: %08lX\n",
                      pDesc->u.Memory.Start.LowPart,
                      pDesc->u.Memory.Length);
    }                                       // else if (pDesc->Type == ...

//-------------------------- Interrupt resource ------------------------------

    else if (pDesc->Type == CmResourceTypeInterrupt)
    {
        STRACE_PNPDRV("                Level: %08lX\n"
                      "               Vector: %08lX\n"
                      "             Affinity: %08lX\n",
                      pDesc->u.Interrupt.Level,
                      pDesc->u.Interrupt.Vector,
                      pDesc->u.Interrupt.Affinity);
    }                                       // else if (pDesc->Type == ...

//----------------------------- DMA resource ---------------------------------

    else if (pDesc->Type == CmResourceTypeDma)
    {
        STRACE_PNPDRV("              Channel: %08lX\n"
                      "                 Port: %08lX\n",
                      pDesc->u.Dma.Channel,
                      pDesc->u.Dma.Port);
    }                                       // else if (pDesc->Type == ...

//---------------------------- Device Private --------------------------------

    else if (pDesc->Type == CmResourceTypeDevicePrivate)
    {
        STRACE_PNPDRV("              Data[0]: %08lX\n"
                      "              Data[1]: %08lX\n"
                      "              Data[2]: %08lX\n",
                      pDesc->u.DevicePrivate.Data[0],
                      pDesc->u.DevicePrivate.Data[1],
                      pDesc->u.DevicePrivate.Data[2]);
    }                                       // else if (pDesc->Type == ...

//------------------------------ Bus Number ----------------------------------

    else if (pDesc->Type == CmResourceTypeBusNumber)
    {
        STRACE_PNPDRV("                Start: %08lX\n"
                      "               Length: %08lX\n",
                      pDesc->u.BusNumber.Start,
                      pDesc->u.BusNumber.Length);
    }                                       // else if (pDesc->Type == ...

//---------------------------- Device specific -------------------------------

    else if (pDesc->Type == CmResourceTypeDeviceSpecific)
    {
        STRACE_PNPDRV("             DataSize: %08lX\n",
                      pDesc->u.DeviceSpecificData.DataSize);
    }                                       // else if (pDesc->Type == ...
}

//****************************************************************************
//                    --- OutCmPartialResourceList ---
//
// Purpose: Print an CM_PARTIAL_RESOURCE_LIST to the serial monitor
//   Input: PCM_PARTIAL_RESOURCE_LIST pList         - Pointer to list
//          LPCSTR                    szDescription - Description
//  Output: none
// Written: by Alexei A. Piatetsky 7/19/96
//****************************************************************************
void OutCmPartialResourceList(PCM_PARTIAL_RESOURCE_LIST pList,
                              LPCSTR                    szDescription)
{
    STRACE_PNPDRV("  CM Partial Resource List %s:\n", szDescription);
    STRACE_PNPDRV("              Version: %d\n"
                  "             Revision: %d\n"
                  "                Count: %d\n",
                  pList->Version, pList->Revision, pList->Count);

    for (ULONG i = 0; i < pList->Count; i++)
    {
        char szTemp[10];
        _itoa(i, (LPSTR)&szTemp[0], 10);

        OutCmPartialResourceDescriptor(&pList->PartialDescriptors[i], szTemp);
    }                                       // for (ULONG i = 0; i < ...
}

//****************************************************************************
//                   --- OutCmFullResourceDescriptor ---
//
// Purpose: Print an CM_FULL_RESOURCE_DESCRIPTOR to the serial monitor
//   Input: PCM_FULL_RESOURCE_DESCRIPTOR pDesc         - Pointer to descriptor
//          LPCSTR                       szDescription - Description
//  Output: none
// Written: by Alexei A. Piatetsky 7/19/96
//****************************************************************************
void OutCmFullResourceDescriptor(PCM_FULL_RESOURCE_DESCRIPTOR pDesc,
                                 LPCSTR                       szDescription)
{
    STRACE_PNPDRV(" CM Full Resource Descriptor %s:\n"
                  "            Interface: %s\n"
                  "           Bus number: %d\n",
                  szDescription,
                  RetInterfaceMsg(pDesc->InterfaceType),
                  pDesc->BusNumber);

    OutCmPartialResourceList(&pDesc->PartialResourceList,
                             "Embedded to CM_FULL_RESOURCE_DESCRIPTOR");
}

//****************************************************************************
//                        --- OutCmResourceList ---
//
// Purpose: Print a CM_RESOURCE_LIST to the serial monitor
//   Input: PCM_RESOURCE_LIST pList         - Pointer to the list
//          LPCSTR            szDescription - List description
//  Output: none
// Written: by Alexei A. Piatetsky 7/19/96
//****************************************************************************
void OutCmResourceList(PCM_RESOURCE_LIST pList, LPCSTR szDescription)
{
    STRACE_PNPDRV("CM Resource List %s:\n"
                  "Full descriptor count: %d\n",
                  szDescription, pList->Count);

    LPSTR pCurList = (LPSTR)&(pList->List[0]);

    for (ULONG i = 0; i < pList->Count; i++)
    {
        char szTemp[10];
        _itoa(i, (LPSTR)&szTemp[0], 10);

        OutCmFullResourceDescriptor((PCM_FULL_RESOURCE_DESCRIPTOR)pCurList, szTemp);

        ULONG uNumDesc =
           ((PCM_FULL_RESOURCE_DESCRIPTOR)pCurList)->PartialResourceList.Count;

        pCurList += sizeof(CM_FULL_RESOURCE_DESCRIPTOR);

        if (uNumDesc >= 1)
            pCurList += sizeof(CM_PARTIAL_RESOURCE_DESCRIPTOR) * (uNumDesc - 1);
    }                                       // for (ULONG i = 0; i < ...
}
#endif                                      // #if DBG

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -