ecdisp.c
来自「winddk src目录下的WDM源码压缩!」· C语言 代码 · 共 1,674 行 · 第 1/5 页
C
1,674 行
status = HidP_GetButtons(CallParams -> ReportType,
CallParams -> UsagePage,
CallParams -> LinkCollection,
CallParams -> List,
&CallParams -> ListLength,
CallParams -> Ppd,
CallParams -> ReportBuffer,
CallParams -> ReportLength);
CallStatus -> IsHidError = (HIDP_STATUS_SUCCESS != status);
CallStatus -> HidErrorCode = status;
}
return (NULL != CallParams -> List);
case HIDP_GET_BUTTONS_EX:
CallParams -> ListLength = HidP_MaxUsageListLength(CallParams -> ReportType,
CallParams -> UsagePage,
CallParams -> Ppd);
CallParams -> List = malloc(CallParams -> ListLength * sizeof(USAGE_AND_PAGE));
if (NULL != CallParams -> List)
{
status = HidP_GetButtonsEx(CallParams -> ReportType,
CallParams -> LinkCollection,
CallParams -> List,
&CallParams -> ListLength,
CallParams -> Ppd,
CallParams -> ReportBuffer,
CallParams -> ReportLength);
CallStatus -> IsHidError = (HIDP_STATUS_SUCCESS != status);
CallStatus -> HidErrorCode = status;
}
return (NULL != CallParams -> List);
case HIDP_GET_CAPS:
CallParams -> ListLength = sizeof(HIDP_CAPS);
CallParams -> List = malloc(sizeof(HIDP_CAPS));
if (NULL != CallParams -> List)
{
status = HidP_GetCaps(CallParams -> Ppd, CallParams -> List);
CallStatus -> IsHidError = (HIDP_STATUS_SUCCESS != status);
CallStatus -> HidErrorCode = status;
}
return (NULL != CallParams -> List);
case HIDP_GET_DATA:
CallParams -> ListLength = HidP_MaxDataListLength(CallParams -> ReportType,
CallParams -> Ppd);
CallParams -> List = malloc(CallParams -> ListLength * sizeof(HIDP_DATA));
if (NULL != CallParams -> List)
{
status = HidP_GetData(CallParams -> ReportType,
CallParams -> List,
&CallParams -> ListLength,
CallParams -> Ppd,
CallParams -> ReportBuffer,
CallParams -> ReportLength);
CallStatus -> IsHidError = (HIDP_STATUS_SUCCESS != status);
CallStatus -> HidErrorCode = status;
}
return (NULL != CallParams -> List);
case HIDP_GET_LINK_COLL_NODES:
CallParams -> List = malloc(CallParams -> ListLength * sizeof(HIDP_LINK_COLLECTION_NODE));
if (NULL != CallParams -> List)
{
status = HidP_GetLinkCollectionNodes(CallParams -> List,
&CallParams -> ListLength,
CallParams -> Ppd);
CallStatus -> IsHidError = (HIDP_STATUS_SUCCESS != status);
CallStatus -> HidErrorCode = status;
}
return (NULL != CallParams -> List);
case HIDP_GET_SCALED_USAGE_VALUE:
status = HidP_GetScaledUsageValue(CallParams -> ReportType,
CallParams -> UsagePage,
CallParams -> LinkCollection,
CallParams -> Usage,
&CallParams -> ScaledValue,
CallParams -> Ppd,
CallParams -> ReportBuffer,
CallParams -> ReportLength);
CallStatus -> IsHidError = (HIDP_STATUS_SUCCESS != status);
CallStatus -> HidErrorCode = status;
return (TRUE);
case HIDP_GET_SPECIFIC_BUTTON_CAPS:
CallParams -> List = malloc(CallParams -> ListLength * sizeof(HIDP_BUTTON_CAPS));
if (NULL != CallParams -> List)
{
status = HidP_GetSpecificButtonCaps(CallParams -> ReportType,
CallParams -> UsagePage,
CallParams -> LinkCollection,
CallParams -> Usage,
CallParams -> List,
(PUSHORT) &CallParams -> ListLength,
CallParams -> Ppd);
CallStatus -> IsHidError = (HIDP_STATUS_SUCCESS != status);
CallStatus -> HidErrorCode = status;
}
return (NULL != CallParams -> List);
case HIDP_GET_SPECIFIC_VALUE_CAPS:
CallParams -> List = malloc(CallParams -> ListLength * sizeof(HIDP_VALUE_CAPS));
if (NULL != CallParams -> List)
{
status = HidP_GetSpecificValueCaps(CallParams -> ReportType,
CallParams -> UsagePage,
CallParams -> LinkCollection,
CallParams -> Usage,
CallParams -> List,
(PUSHORT) &CallParams -> ListLength,
CallParams -> Ppd);
CallStatus -> IsHidError = (HIDP_STATUS_SUCCESS != status);
CallStatus -> HidErrorCode = status;
}
return (NULL != CallParams -> List);
case HIDP_GET_USAGES:
CallParams -> ListLength = HidP_MaxUsageListLength(CallParams -> ReportType,
CallParams -> UsagePage,
CallParams -> Ppd);
CallParams -> List = malloc(CallParams -> ListLength * sizeof(USAGE));
if (NULL != CallParams -> List)
{
status = HidP_GetUsages(CallParams -> ReportType,
CallParams -> UsagePage,
CallParams -> LinkCollection,
CallParams -> List,
&CallParams -> ListLength,
CallParams -> Ppd,
CallParams -> ReportBuffer,
CallParams -> ReportLength);
CallStatus -> IsHidError = (HIDP_STATUS_SUCCESS != status);
CallStatus -> HidErrorCode = status;
}
return (NULL != CallParams -> List);
case HIDP_GET_USAGES_EX:
CallParams -> ListLength = HidP_MaxUsageListLength(CallParams -> ReportType,
CallParams -> UsagePage,
CallParams -> Ppd);
CallParams -> List = malloc(CallParams -> ListLength * sizeof(USAGE_AND_PAGE));
if (NULL != CallParams -> List)
{
status = HidP_GetUsagesEx(CallParams -> ReportType,
CallParams -> LinkCollection,
CallParams -> List,
&CallParams -> ListLength,
CallParams -> Ppd,
CallParams -> ReportBuffer,
CallParams -> ReportLength);
CallStatus -> IsHidError = (HIDP_STATUS_SUCCESS != status);
CallStatus -> HidErrorCode = status;
}
return (NULL != CallParams -> List);
case HIDP_GET_USAGE_VALUE:
status = HidP_GetUsageValue(CallParams -> ReportType,
CallParams -> UsagePage,
CallParams -> LinkCollection,
CallParams -> Usage,
&CallParams -> Value,
CallParams -> Ppd,
CallParams -> ReportBuffer,
CallParams -> ReportLength);
CallStatus -> IsHidError = (HIDP_STATUS_SUCCESS != status);
CallStatus -> HidErrorCode = status;
return (TRUE);
case HIDP_GET_USAGE_VALUE_ARRAY:
ValueCapsLength = 1;
status = HidP_GetSpecificValueCaps(CallParams -> ReportType,
CallParams -> UsagePage,
CallParams -> LinkCollection,
CallParams -> Usage,
&ValueCaps,
&ValueCapsLength,
CallParams -> Ppd);
if (HIDP_STATUS_SUCCESS != status)
{
return (FALSE);
}
CallParams -> BitSize = ValueCaps.BitSize;
CallParams -> ReportCount = ValueCaps.ReportCount;
CallParams -> ListLength
= ROUND_TO_NEAREST_BYTE(CallParams -> BitSize * CallParams -> ReportCount);
CallParams -> List = malloc(CallParams -> ListLength);
if (NULL != CallParams -> List)
{
status = HidP_GetUsageValueArray(CallParams -> ReportType,
CallParams -> UsagePage,
CallParams -> LinkCollection,
CallParams -> Usage,
CallParams -> List,
(USHORT) CallParams -> ListLength,
CallParams -> Ppd,
CallParams -> ReportBuffer,
CallParams -> ReportLength);
CallStatus -> IsHidError = (HIDP_STATUS_SUCCESS != status);
CallStatus -> HidErrorCode = status;
}
return (NULL != CallParams -> List);
case HIDP_GET_VALUE_CAPS:
CallParams -> List = malloc(CallParams -> ListLength * sizeof(HIDP_VALUE_CAPS));
if (NULL != CallParams -> List)
{
status = HidP_GetValueCaps(CallParams -> ReportType,
CallParams -> List,
(PUSHORT) &CallParams -> ListLength,
CallParams -> Ppd);
CallStatus -> IsHidError = (HIDP_STATUS_SUCCESS != status);
CallStatus -> HidErrorCode = status;
}
case HIDP_INITIALIZE_REPORT_FOR_ID:
status = pfnHidP_InitializeReportForID(CallParams -> ReportType,
CallParams -> ReportID,
CallParams -> Ppd,
CallParams -> ReportBuffer,
CallParams -> ReportLength);
CallStatus -> IsHidError = (HIDP_STATUS_SUCCESS != status);
CallStatus -> HidErrorCode = status;
return (TRUE);
case HIDP_MAX_USAGE_LIST_LENGTH:
CallParams -> Value = HidP_MaxUsageListLength(CallParams -> ReportType,
CallParams -> UsagePage,
CallParams -> Ppd);
CallStatus -> IsHidError = FALSE;
CallStatus -> HidErrorCode = HIDP_STATUS_SUCCESS;
return (TRUE);
case HIDP_MAX_DATA_LIST_LENGTH:
CallParams -> Value = HidP_MaxDataListLength(CallParams -> ReportType,
CallParams -> Ppd);
CallStatus -> IsHidError = FALSE;
CallStatus -> HidErrorCode = HIDP_STATUS_SUCCESS;
return (TRUE);
case HIDP_SET_BUTTONS:
status = HidP_SetButtons(CallParams -> ReportType,
CallParams -> UsagePage,
CallParams -> LinkCollection,
CallParams -> List,
&CallParams -> ListLength,
CallParams -> Ppd,
CallParams -> ReportBuffer,
CallParams -> ReportLength);
CallStatus -> IsHidError = (HIDP_STATUS_SUCCESS != status);
CallStatus -> HidErrorCode = status;
return (TRUE);
case HIDP_SET_DATA:
status = HidP_SetData(CallParams -> ReportType,
CallParams -> List,
&CallParams -> ListLength,
CallParams -> Ppd,
CallParams -> ReportBuffer,
CallParams -> ReportLength);
CallStatus -> IsHidError = (HIDP_STATUS_SUCCESS != status);
CallStatus -> HidErrorCode = status;
return (TRUE);
case HIDP_SET_SCALED_USAGE_VALUE:
status = HidP_SetUsageValue(CallParams -> ReportType,
CallParams -> UsagePage,
CallParams -> LinkCollection,
CallParams -> Usage,
CallParams -> ScaledValue,
CallParams -> Ppd,
CallParams -> ReportBuffer,
CallParams -> ReportLength);
CallStatus -> IsHidError = (HIDP_STATUS_SUCCESS != status);
CallStatus -> HidErrorCode = status;
return
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?