📄 isoch.c
字号:
/*++
Copyright (c) 1998 Microsoft Corporation
Module Name:
isoch.c
Abstract
1394 isoch wrappers
Author:
Peter Binder (pbinder) 5/4/98
Revision History:
Date Who What
-------- --------- ------------------------------------------------------------
05/04/98 pbinder taken from old win1394
08/18/98 pbinder changed for new dialogs
--*/
#define _ISOCH_C
#include "pch.h"
#undef _ISOCH_C
INT_PTR CALLBACK
IsochAllocateBandwidthDlgProc(
HWND hDlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
)
{
static PISOCH_ALLOCATE_BANDWIDTH pIsochAllocateBandwidth;
static CHAR tmpBuff[STRING_SIZE];
switch (uMsg) {
case WM_INITDIALOG:
pIsochAllocateBandwidth = (PISOCH_ALLOCATE_BANDWIDTH)lParam;
_ultoa(pIsochAllocateBandwidth->nMaxBytesPerFrameRequested, tmpBuff, 16);
SetDlgItemText(hDlg, IDC_ALLOC_BW_BYTES_PER_FRAME, tmpBuff);
if (pIsochAllocateBandwidth->fulSpeed == SPEED_FLAGS_FASTEST) {
CheckRadioButton( hDlg,
IDC_ALLOC_BW_100MBPS,
IDC_ALLOC_BW_FASTEST,
IDC_ALLOC_BW_FASTEST
);
}
else {
CheckRadioButton( hDlg,
IDC_ALLOC_BW_100MBPS,
IDC_ALLOC_BW_FASTEST,
pIsochAllocateBandwidth->fulSpeed + (IDC_ALLOC_BW_100MBPS-1)
);
}
return(TRUE); // WM_INITDIALOG
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDOK:
GetDlgItemText(hDlg, IDC_ALLOC_BW_BYTES_PER_FRAME, tmpBuff, STRING_SIZE);
pIsochAllocateBandwidth->nMaxBytesPerFrameRequested = strtoul(tmpBuff, NULL, 16);
pIsochAllocateBandwidth->fulSpeed = 0;
if (IsDlgButtonChecked(hDlg, IDC_ALLOC_BW_100MBPS))
pIsochAllocateBandwidth->fulSpeed = SPEED_FLAGS_100;
if (IsDlgButtonChecked(hDlg, IDC_ALLOC_BW_200MBPS))
pIsochAllocateBandwidth->fulSpeed = SPEED_FLAGS_200;
if (IsDlgButtonChecked(hDlg, IDC_ALLOC_BW_400MBPS))
pIsochAllocateBandwidth->fulSpeed = SPEED_FLAGS_400;
if (IsDlgButtonChecked(hDlg, IDC_ALLOC_BW_1600MBPS))
pIsochAllocateBandwidth->fulSpeed = SPEED_FLAGS_1600;
if (IsDlgButtonChecked(hDlg, IDC_ALLOC_BW_FASTEST))
pIsochAllocateBandwidth->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);
} // IsochAllocateBandwidthDlgProc
void
w1394_IsochAllocateBandwidth(
HWND hWnd,
PSTR szDeviceName
)
{
ISOCH_ALLOCATE_BANDWIDTH isochAllocateBandwidth;
DWORD dwRet;
TRACE(TL_TRACE, (hWnd, "Enter w1394IsochAllocateBandwidth\r\n"));
isochAllocateBandwidth.nMaxBytesPerFrameRequested = 640;
isochAllocateBandwidth.fulSpeed = SPEED_FLAGS_200;
if (DialogBoxParam( (HINSTANCE) GetWindowLongPtr(hWnd, GWLP_HINSTANCE),
"IsochAllocateBandwidth",
hWnd,
IsochAllocateBandwidthDlgProc,
(LPARAM)&isochAllocateBandwidth
)) {
dwRet = IsochAllocateBandwidth( hWnd,
szDeviceName,
&isochAllocateBandwidth
);
}
TRACE(TL_TRACE, (hWnd, "Exit w1394IsochAllocateBandwidth\r\n"));
return;
} // w1394_IsochAllocateBandwidth
INT_PTR CALLBACK
IsochAllocateChannelDlgProc(
HWND hDlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
)
{
static PISOCH_ALLOCATE_CHANNEL pIsochAllocateChannel;
static CHAR tmpBuff[STRING_SIZE];
switch (uMsg) {
case WM_INITDIALOG:
pIsochAllocateChannel = (PISOCH_ALLOCATE_CHANNEL)lParam;
_ultoa(pIsochAllocateChannel->nRequestedChannel, tmpBuff, 16);
SetDlgItemText(hDlg, IDC_ALLOC_CHAN_REQUESTED_CHANNEL, tmpBuff);
return(TRUE); // WM_INITDIALOG
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDOK:
GetDlgItemText(hDlg, IDC_ALLOC_CHAN_REQUESTED_CHANNEL, tmpBuff, STRING_SIZE);
pIsochAllocateChannel->nRequestedChannel = strtoul(tmpBuff, NULL, 16);
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);
} // IsochAllocateChannelDlgProc
void
w1394_IsochAllocateChannel(
HWND hWnd,
PSTR szDeviceName
)
{
ISOCH_ALLOCATE_CHANNEL isochAllocateChannel;
DWORD dwRet;
TRACE(TL_TRACE, (hWnd, "Enter w1394_IsochAllocateChannel\r\n"));
isochAllocateChannel.nRequestedChannel = -1;
if (DialogBoxParam( (HINSTANCE) GetWindowLongPtr(hWnd, GWLP_HINSTANCE),
"IsochAllocateChannel",
hWnd,
IsochAllocateChannelDlgProc,
(LPARAM)&isochAllocateChannel
)) {
dwRet = IsochAllocateChannel( hWnd,
szDeviceName,
&isochAllocateChannel
);
}
TRACE(TL_TRACE, (hWnd, "Exit w1394_IsochAllocateChannel\r\n"));
return;
} // w1394_IsochAllocateChannel
INT_PTR CALLBACK
IsochAllocateResourcesDlgProc(
HWND hDlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
)
{
static PISOCH_ALLOCATE_RESOURCES pIsochAllocateResources;
static CHAR tmpBuff[STRING_SIZE];
switch (uMsg) {
case WM_INITDIALOG:
pIsochAllocateResources = (PISOCH_ALLOCATE_RESOURCES)lParam;
_ultoa(pIsochAllocateResources->nChannel, tmpBuff, 16);
SetDlgItemText(hDlg, IDC_ISOCH_ALLOC_RES_CHANNEL, tmpBuff);
_ultoa(pIsochAllocateResources->nMaxBytesPerFrame, tmpBuff, 16);
SetDlgItemText(hDlg, IDC_ISOCH_ALLOC_RES_BYTES_PER_FRAME, tmpBuff);
_ultoa(pIsochAllocateResources->nNumberOfBuffers, tmpBuff, 16);
SetDlgItemText(hDlg, IDC_ISOCH_ALLOC_RES_NUM_OF_BUFFERS, tmpBuff);
_ultoa(pIsochAllocateResources->nMaxBufferSize, tmpBuff, 16);
SetDlgItemText(hDlg, IDC_ISOCH_ALLOC_RES_MAX_BUFFER_SIZE, tmpBuff);
_ultoa(pIsochAllocateResources->nQuadletsToStrip, tmpBuff, 16);
SetDlgItemText(hDlg, IDC_ISOCH_ALLOC_RES_QUADLETS_TO_STRIP, tmpBuff);
if (pIsochAllocateResources->fulSpeed == SPEED_FLAGS_FASTEST) {
CheckRadioButton( hDlg,
IDC_ISOCH_ALLOC_RES_100MBPS,
IDC_ISOCH_ALLOC_RES_FASTEST,
IDC_ISOCH_ALLOC_RES_FASTEST
);
}
else {
CheckRadioButton( hDlg,
IDC_ISOCH_ALLOC_RES_100MBPS,
IDC_ISOCH_ALLOC_RES_FASTEST,
pIsochAllocateResources->fulSpeed + (IDC_ISOCH_ALLOC_RES_100MBPS-1)
);
}
if (pIsochAllocateResources->fulFlags & RESOURCE_USED_IN_LISTENING)
CheckDlgButton( hDlg, IDC_ISOCH_ALLOC_RES_USED_IN_LISTEN, BST_CHECKED);
if (pIsochAllocateResources->fulFlags & RESOURCE_USED_IN_TALKING)
CheckDlgButton( hDlg, IDC_ISOCH_ALLOC_RES_USED_IN_TALK, BST_CHECKED);
if (pIsochAllocateResources->fulFlags & RESOURCE_BUFFERS_CIRCULAR)
CheckDlgButton( hDlg, IDC_ISOCH_ALLOC_RES_BUFFERS_CIRCULAR, BST_CHECKED);
if (pIsochAllocateResources->fulFlags & RESOURCE_STRIP_ADDITIONAL_QUADLETS)
CheckDlgButton( hDlg, IDC_ISOCH_ALLOC_RES_STRIP_QUADLETS, BST_CHECKED);
if (pIsochAllocateResources->fulFlags & RESOURCE_SYNCH_ON_TIME)
CheckDlgButton( hDlg, IDC_ISOCH_ALLOC_RES_SYNC_ON_TIME, BST_CHECKED);
if (pIsochAllocateResources->fulFlags & RESOURCE_USE_PACKET_BASED)
CheckDlgButton( hDlg, IDC_ISOCH_ALLOC_RES_USE_PACKET_BASED, BST_CHECKED);
return(TRUE); // WM_INITDIALOG
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDOK:
GetDlgItemText(hDlg, IDC_ISOCH_ALLOC_RES_CHANNEL, tmpBuff, STRING_SIZE);
pIsochAllocateResources->nChannel = strtoul(tmpBuff, NULL, 16);
GetDlgItemText(hDlg, IDC_ISOCH_ALLOC_RES_BYTES_PER_FRAME, tmpBuff, STRING_SIZE);
pIsochAllocateResources->nMaxBytesPerFrame = strtoul(tmpBuff, NULL, 16);
GetDlgItemText(hDlg, IDC_ISOCH_ALLOC_RES_NUM_OF_BUFFERS, tmpBuff, STRING_SIZE);
pIsochAllocateResources->nNumberOfBuffers = strtoul(tmpBuff, NULL, 16);
GetDlgItemText(hDlg, IDC_ISOCH_ALLOC_RES_MAX_BUFFER_SIZE, tmpBuff, STRING_SIZE);
pIsochAllocateResources->nMaxBufferSize = strtoul(tmpBuff, NULL, 16);
GetDlgItemText(hDlg, IDC_ISOCH_ALLOC_RES_QUADLETS_TO_STRIP, tmpBuff, STRING_SIZE);
pIsochAllocateResources->nQuadletsToStrip = strtoul(tmpBuff, NULL, 16);
pIsochAllocateResources->fulSpeed = 0;
if (IsDlgButtonChecked(hDlg, IDC_ISOCH_ALLOC_RES_100MBPS))
pIsochAllocateResources->fulSpeed = SPEED_FLAGS_100;
if (IsDlgButtonChecked(hDlg, IDC_ISOCH_ALLOC_RES_200MBPS))
pIsochAllocateResources->fulSpeed = SPEED_FLAGS_200;
if (IsDlgButtonChecked(hDlg, IDC_ISOCH_ALLOC_RES_400MBPS))
pIsochAllocateResources->fulSpeed = SPEED_FLAGS_400;
if (IsDlgButtonChecked(hDlg, IDC_ISOCH_ALLOC_RES_1600MBPS))
pIsochAllocateResources->fulSpeed = SPEED_FLAGS_1600;
if (IsDlgButtonChecked(hDlg, IDC_ISOCH_ALLOC_RES_FASTEST))
pIsochAllocateResources->fulSpeed = SPEED_FLAGS_FASTEST;
pIsochAllocateResources->fulFlags = 0;
if (IsDlgButtonChecked(hDlg, IDC_ISOCH_ALLOC_RES_USED_IN_LISTEN))
pIsochAllocateResources->fulFlags |= RESOURCE_USED_IN_LISTENING;
if (IsDlgButtonChecked(hDlg, IDC_ISOCH_ALLOC_RES_USED_IN_TALK))
pIsochAllocateResources->fulFlags |= RESOURCE_USED_IN_TALKING;
if (IsDlgButtonChecked(hDlg, IDC_ISOCH_ALLOC_RES_BUFFERS_CIRCULAR))
pIsochAllocateResources->fulFlags |= RESOURCE_BUFFERS_CIRCULAR;
if (IsDlgButtonChecked(hDlg, IDC_ISOCH_ALLOC_RES_STRIP_QUADLETS))
pIsochAllocateResources->fulFlags |= RESOURCE_STRIP_ADDITIONAL_QUADLETS;
// if (IsDlgButtonChecked(hDlg, IDC_ISOCH_ALLOC_RES_BUFFERS_CIRCULAR))
// pIsochAllocateResources->fulFlags |= RESOURCE_TIME_STAMP_ON_COMPLETION;
if (IsDlgButtonChecked(hDlg, IDC_ISOCH_ALLOC_RES_SYNC_ON_TIME))
pIsochAllocateResources->fulFlags |= RESOURCE_SYNCH_ON_TIME;
if (IsDlgButtonChecked(hDlg, IDC_ISOCH_ALLOC_RES_USE_PACKET_BASED))
pIsochAllocateResources->fulFlags |= RESOURCE_USE_PACKET_BASED;
EndDialog(hDlg, TRUE);
return(TRUE); // IDOK
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -