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

📄 1394.c

📁 winddk src目录下的WDM源码压缩!
💻 C
📖 第 1 页 / 共 3 页
字号:
    UINT        uMsg,
    WPARAM      wParam,
    LPARAM      lParam
    )
{
    static PGET_1394_ADDRESS    pGet1394Address;
    static CHAR                 tmpBuff[STRING_SIZE];

    switch (uMsg) {

        case WM_INITDIALOG:

            pGet1394Address = (PGET_1394_ADDRESS)lParam;

            if (pGet1394Address->fulFlags & USE_LOCAL_NODE)
                CheckDlgButton( hDlg, IDC_GET_ADDR_USE_LOCAL_NODE, BST_CHECKED);

            return(TRUE); // WM_INITDIALOG

        case WM_COMMAND:

            switch (LOWORD(wParam)) {

                case IDOK:

                    pGet1394Address->fulFlags = 0;
                    if (IsDlgButtonChecked(hDlg, IDC_GET_ADDR_USE_LOCAL_NODE))
                        pGet1394Address->fulFlags |= USE_LOCAL_NODE;

                    EndDialog(hDlg, TRUE);
                    return(TRUE); // IDOK

                case IDCANCEL:
                    EndDialog(hDlg, FALSE);
                    return(TRUE); // IDCANCEL

                default:
                    return(TRUE); // default

            } // switch

            break; // WM_COMMAND

        default:
            break; // default

    } // switch

    return(FALSE);
} // Get1394AddressFromDeviceObjectDlgProc

void
w1394_Get1394AddressFromDeviceObject(
    HWND    hWnd,
    PSTR    szDeviceName
    )
{
    GET_1394_ADDRESS    get1394Address;
    DWORD               dwRet;

    TRACE(TL_TRACE, (hWnd, "Enter w1394_Get1394AddressFromDeviceObject\r\n"));

    get1394Address.fulFlags = 0;

    if (DialogBoxParam( (HINSTANCE) GetWindowLongPtr(hWnd, GWLP_HINSTANCE),
                        "Get1394AddrFromDeviceObject",
                        hWnd,
                        Get1394AddressFromDeviceObjectDlgProc,
                        (LPARAM)&get1394Address
                        )) {

        dwRet = Get1394AddressFromDeviceObject( hWnd,
                                                szDeviceName,
                                                &get1394Address
                                                );
    }

    TRACE(TL_TRACE, (hWnd, "Exit w1394_Get1394AddressFromDeviceObject\r\n"));
    return;
} // w1394_Get1394AddressFromDeviceObject

void
w1394_Control(
    HWND    hWnd,
    PSTR    szDeviceName
    )
{
    DWORD       dwRet;

    TRACE(TL_TRACE, (hWnd, "Enter w1394_Control\r\n"));

    dwRet = Control( hWnd,
                     szDeviceName
                     );

    TRACE(TL_TRACE, (hWnd, "Exit w1394_Control\r\n"));
    return;
} // w1394_Control

INT_PTR CALLBACK
GetMaxSpeedBetweenDevicesDlgProc(
    HWND        hDlg,
    UINT        uMsg,
    WPARAM      wParam,
    LPARAM      lParam
    )
{
    static PGET_MAX_SPEED_BETWEEN_DEVICES   pGetMaxSpeed;
    static CHAR                             tmpBuff[STRING_SIZE];

    switch (uMsg) {

        case WM_INITDIALOG:

            pGetMaxSpeed = (PGET_MAX_SPEED_BETWEEN_DEVICES)lParam;

            if (pGetMaxSpeed->fulFlags & USE_LOCAL_NODE)
                CheckDlgButton( hDlg, IDC_GET_MAX_USE_LOCAL_NODE, BST_CHECKED);

            return(TRUE); // WM_INITDIALOG

        case WM_COMMAND:

            switch (LOWORD(wParam)) {

                case IDOK:

                    pGetMaxSpeed->fulFlags = 0;
                    if (IsDlgButtonChecked(hDlg, IDC_GET_MAX_USE_LOCAL_NODE))
                        pGetMaxSpeed->fulFlags |= USE_LOCAL_NODE;

                    EndDialog(hDlg, TRUE);
                    return(TRUE); // IDOK

                case IDCANCEL:
                    EndDialog(hDlg, FALSE);
                    return(TRUE); // IDCANCEL

                default:
                    return(TRUE); // default

            } // switch

            break; // WM_COMMAND

        default:
            break; // default

    } // switch

    return(FALSE);
} // GetMaxSpeedBetweenDevicesDlgProc

void
w1394_GetMaxSpeedBetweenDevices(
    HWND    hWnd,
    PSTR    szDeviceName
    )
{
    GET_MAX_SPEED_BETWEEN_DEVICES   getMaxSpeed;
    DWORD                           dwRet;

    TRACE(TL_TRACE, (hWnd, "Enter w1394_GetMaxSpeedBetweenDevices\r\n"));

    getMaxSpeed.fulFlags = 0;
    getMaxSpeed.ulNumberOfDestinations = 0;

    if (DialogBoxParam( (HINSTANCE) GetWindowLongPtr(hWnd, GWLP_HINSTANCE),
                        "GetMaxSpeed",
                        hWnd,
                        GetMaxSpeedBetweenDevicesDlgProc,
                        (LPARAM)&getMaxSpeed
                        )) {

        dwRet = GetMaxSpeedBetweenDevices( hWnd,
                                           szDeviceName,
                                           &getMaxSpeed
                                           );
    }

    TRACE(TL_TRACE, (hWnd, "Exit w1394_GetMaxSpeedBetweenDevices\r\n"));
    return;
} // w1394_GetMaxSpeedBetweenDevices

void
w1394_GetConfigurationInfo(
    HWND    hWnd,
    PSTR    szDeviceName
    )
{
    DWORD       dwRet;

    TRACE(TL_TRACE, (hWnd, "Enter w1394_GetConfigurationInfo\r\n"));

    dwRet = GetConfigurationInformation( hWnd,
                                         szDeviceName
                                         );

    TRACE(TL_TRACE, (hWnd, "Exit w1394_GetConfigurationInfo\r\n"));
    return;
} // w1394_GetConfigurationInfo

INT_PTR CALLBACK
SetDeviceXmitPropertiesDlgProc(
    HWND        hDlg,
    UINT        uMsg,
    WPARAM      wParam,
    LPARAM      lParam
    )
{
    static PDEVICE_XMIT_PROPERTIES      pDeviceXmitProperties;
    static CHAR                         tmpBuff[STRING_SIZE];

    switch (uMsg) {

        case WM_INITDIALOG:

            pDeviceXmitProperties = (PDEVICE_XMIT_PROPERTIES)lParam;

            if (pDeviceXmitProperties->fulSpeed == SPEED_FLAGS_FASTEST) {

                CheckRadioButton( hDlg,
                                  IDC_SET_DEVICE_XMIT_100MBPS,
                                  IDC_SET_DEVICE_XMIT_FASTEST,
                                  IDC_SET_DEVICE_XMIT_FASTEST
                                  );
            }
            else {

                CheckRadioButton( hDlg,
                                  IDC_SET_DEVICE_XMIT_100MBPS,
                                  IDC_SET_DEVICE_XMIT_FASTEST,
                                  pDeviceXmitProperties->fulSpeed + (IDC_SET_DEVICE_XMIT_100MBPS-1)
                                  );
            }

            return(TRUE); // WM_INITDIALOG

        case WM_COMMAND:

            switch (LOWORD(wParam)) {

                case IDOK:

                    pDeviceXmitProperties->fulSpeed = 0;
                    if (IsDlgButtonChecked(hDlg, IDC_SET_DEVICE_XMIT_100MBPS))
                        pDeviceXmitProperties->fulSpeed = SPEED_FLAGS_100;

                    if (IsDlgButtonChecked(hDlg, IDC_SET_DEVICE_XMIT_200MBPS))
                        pDeviceXmitProperties->fulSpeed = SPEED_FLAGS_200;

                    if (IsDlgButtonChecked(hDlg, IDC_SET_DEVICE_XMIT_400MBPS))
                        pDeviceXmitProperties->fulSpeed = SPEED_FLAGS_400;

                    if (IsDlgButtonChecked(hDlg, IDC_SET_DEVICE_XMIT_1600MBPS))
                        pDeviceXmitProperties->fulSpeed = SPEED_FLAGS_1600;

                    if (IsDlgButtonChecked(hDlg, IDC_SET_DEVICE_XMIT_FASTEST))
                        pDeviceXmitProperties->fulSpeed = SPEED_FLAGS_FASTEST;

                    EndDialog(hDlg, TRUE);
                    return(TRUE); // IDOK

                case IDCANCEL:
                    EndDialog(hDlg, FALSE);
                    return(TRUE); // IDCANCEL

                default:
                    return(TRUE); // default

            } // switch

            break; // WM_COMMAND

        default:
            break; // default

    } // switch

    return(FALSE);
} // SetDeviceXmitPropertiesDlgProc

void
w1394_SetDeviceXmitProperties(
    HWND    hWnd,
    PSTR    szDeviceName
    )
{
    DEVICE_XMIT_PROPERTIES      deviceXmitProperties;
    DWORD                       dwRet;

    TRACE(TL_TRACE, (hWnd, "Enter w1394_SetDeviceXmitProperties\r\n"));

    deviceXmitProperties.fulSpeed = SPEED_FLAGS_200;
    deviceXmitProperties.fulPriority = 0;

    if (DialogBoxParam( (HINSTANCE) GetWindowLongPtr(hWnd, GWLP_HINSTANCE),
                        "SetDeviceXmitProperties",
                        hWnd,
                        SetDeviceXmitPropertiesDlgProc,
                        (LPARAM)&deviceXmitProperties
                        )) {

        dwRet = SetDeviceXmitProperties( hWnd,
                                         szDeviceName,
                                         &deviceXmitProperties
                                         );
    }

    TRACE(TL_TRACE, (hWnd, "Exit w1394_SetDeviceXmitProperties\r\n"));
    return;
} // w1394_SetDeviceXmitProperties

INT_PTR CALLBACK
SendPhyConfigDlgProc(
    HWND        hDlg,
    UINT        uMsg,
    WPARAM      wParam,
    LPARAM      lParam
    )
{
    static PPHY_CONFIGURATION_PACKET    pPhyConfigPacket;
    static CHAR                         tmpBuff[STRING_SIZE];

    switch (uMsg) {

        case WM_INITDIALOG:

            pPhyConfigPacket = (PPHY_CONFIGURATION_PACKET)lParam;

            _ultoa(pPhyConfigPacket->PCP_Phys_ID, tmpBuff, 16);
            SetDlgItemText(hDlg, IDC_SEND_PHY_PHYS_ID, tmpBuff);

            _ultoa(pPhyConfigPacket->PCP_Packet_ID, tmpBuff, 16);
            SetDlgItemText(hDlg, IDC_SEND_PHY_PACKET_ID, tmpBuff);

            _ultoa(pPhyConfigPacket->PCP_Gap_Count, tmpBuff, 16);
            SetDlgItemText(hDlg, IDC_SEND_PHY_GAP_COUNT, tmpBuff);

            _ultoa(pPhyConfigPacket->PCP_Set_Gap_Count, tmpBuff, 16);
            SetDlgItemText(hDlg, IDC_SEND_PHY_SET_GAP_COUNT, tmpBuff);

            _ultoa(pPhyConfigPacket->PCP_Force_Root, tmpBuff, 16);
            SetDlgItemText(hDlg, IDC_SEND_PHY_FORCE_ROOT, tmpBuff);

            _ultoa(pPhyConfigPacket->PCP_Reserved1, tmpBuff, 16);
            SetDlgItemText(hDlg, IDC_SEND_PHY_RESERVED1, tmpBuff);

            _ultoa(pPhyConfigPacket->PCP_Reserved2, tmpBuff, 16);
            SetDlgItemText(hDlg, IDC_SEND_PHY_RESERVED2, tmpBuff);

            _ultoa(pPhyConfigPacket->PCP_Inverse, tmpBuff, 16);
            SetDlgItemText(hDlg, IDC_SEND_PHY_INVERSE, tmpBuff);

            return(TRUE); // WM_INITDIALOG

        case WM_COMMAND:

            switch (LOWORD(wParam)) {

               case IDOK:

                    GetDlgItemText(hDlg, IDC_SEND_PHY_PHYS_ID, tmpBuff, STRING_SIZE);
                    pPhyConfigPacket->PCP_Phys_ID = strtoul(tmpBuff, NULL, 16);

                    GetDlgItemText(hDlg, IDC_SEND_PHY_PACKET_ID, tmpBuff, STRING_SIZE);
                    pPhyConfigPacket->PCP_Packet_ID = strtoul(tmpBuff, NULL, 16);

⌨️ 快捷键说明

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