347 lines
7.3 KiB
C
347 lines
7.3 KiB
C
/*++
|
|
|
|
Copyright (c) Microsoft 1998, All Rights Reserved
|
|
|
|
Module Name:
|
|
|
|
extcalls.h
|
|
|
|
Abstract:
|
|
|
|
This module contains the declarations for the routines and structures
|
|
publically available to outside routines. These extended call functions
|
|
execute standard HID.DLL functions with special debug checking included.
|
|
|
|
Environment:
|
|
|
|
User mode
|
|
|
|
Revision History:
|
|
|
|
May-98 : Created
|
|
|
|
--*/
|
|
|
|
#ifndef __EXTCALLS_H__
|
|
#define __EXTCALLS_H__
|
|
|
|
#define HID_DBG_ERROR_NONE 0x00000000
|
|
#define HID_DBG_ERROR_CORRUPTED_BUFFER 0x00000001
|
|
|
|
#define HID_DBG_WRNG_NONE 0x00000000
|
|
|
|
typedef ULONG HID_DBG_STATUS;
|
|
|
|
typedef struct {
|
|
HANDLE DeviceHandle;
|
|
HIDP_REPORT_TYPE ReportType;
|
|
PHIDP_PREPARSED_DATA Ppd;
|
|
USAGE UsagePage;
|
|
USAGE Usage;
|
|
USHORT LinkCollection;
|
|
UCHAR ReportID;
|
|
PCHAR ReportBuffer;
|
|
ULONG ReportLength;
|
|
PVOID List;
|
|
ULONG ListLength;
|
|
ULONG StringIndex;
|
|
union {
|
|
struct {
|
|
USHORT ReportCount;
|
|
USHORT BitSize;
|
|
};
|
|
|
|
struct {
|
|
PUSAGE List2;
|
|
PUSAGE MakeList;
|
|
PUSAGE BreakList;
|
|
};
|
|
|
|
PHIDP_PREPARSED_DATA *ppPd;
|
|
ULONG Value;
|
|
LONG ScaledValue;
|
|
};
|
|
} EXTCALL_PARAMS, *PEXTCALL_PARAMS;
|
|
|
|
typedef struct {
|
|
BOOL IsHidError;
|
|
BOOL IsHidDbgError;
|
|
BOOL IsHidDbgWarning;
|
|
|
|
NTSTATUS HidErrorCode;
|
|
HID_DBG_STATUS HidDbgErrorCode;
|
|
HID_DBG_STATUS HidDbgWarningCode;
|
|
|
|
} EXTCALL_STATUS, *PEXTCALL_STATUS;
|
|
|
|
typedef enum {
|
|
TRAP_ON_HID_ERROR, TRAP_ON_DBG_ERROR,
|
|
TRAP_ON_DBG_WARNING, TRAP_NEVER
|
|
|
|
} TRAP_LEVEL;
|
|
|
|
#ifdef DEBUG
|
|
|
|
#define TRAP() ExtCalls_DbgTrap();
|
|
|
|
#else
|
|
|
|
#define TRAP()
|
|
|
|
#endif
|
|
|
|
|
|
VOID
|
|
ExtCalls_DbgTrap();
|
|
|
|
VOID
|
|
ExtCalls_HidD_GetHidGuid(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidD_FlushQueue(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidD_GetAttributes(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidD_GetPreparsedData(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidD_FreePreparsedData(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidD_GetFeature(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidD_SetFeature(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidD_GetNumInputBuffers(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidD_SetNumInputBuffers(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidD_GetPhysicalDescriptor(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidD_GetManufacturerString(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidD_GetProductString(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidD_GetIndexedString(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidD_GetSerialNumberString(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_GetSpecificButtonCaps(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_GetSpecificValueCaps(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_GetCaps(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
PCHAR ExtCalls_GetHidAppStatusString(NTSTATUS StatusCode);
|
|
|
|
VOID
|
|
ExtCalls_HidP_GetButtonCaps(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_GetButtons(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_GetData(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_GetButtonsEx(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_GetLinkCollectionNodes(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_GetScaledUsageValue(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_GetUsages(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_GetUsagesEx(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_GetUsageValue(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_GetUsageValueArray(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
|
|
VOID
|
|
ExtCalls_HidP_GetValueCaps(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_MaxDataListLength(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_MaxUsageListLength(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_SetButtons(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_SetData(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_SetScaledUsageValue(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_SetUsages(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_SetUsageValue(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_SetUsageValueArray(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_UnsetButtons(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_UnsetUsages(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_HidP_UsageListDifference(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_ReadInputBuffer(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
VOID
|
|
ExtCalls_WriteOutputBuffer(
|
|
IN OUT PEXTCALL_PARAMS pParams,
|
|
OUT PEXTCALL_STATUS pStatus
|
|
);
|
|
|
|
#endif
|