windows-nt/Source/XPSP1/NT/drivers/wdm/input/client/hclient/hclient.h

148 lines
2.5 KiB
C
Raw Permalink Normal View History

2020-09-26 03:20:57 -05:00
/*++
Copyright (c) Microsoft 1998, All Rights Reserved
Module Name:
hclient.h
Abstract:
This module contains the public declarations and definitions that are
defined in hclient.c and available to other modules outside of it.
Environment:
User mode
Revision History:
Nov-97 : Created
--*/
#ifndef __HCLIENT_H__
#define __HCLIENT_H__
#define WM_UNREGISTER_HANDLE WM_USER+1
#define WM_DISPLAY_READ_DATA WM_USER+2
#define WM_READ_DONE WM_USER+3
#define READ_THREAD_TIMEOUT 1000
#define HCLIENT_ERROR "HClient Error"
typedef struct _READ_THREAD_CONTEXT
{
PHID_DEVICE HidDevice;
HWND DisplayWindow;
HANDLE DisplayEvent;
BOOL DoOneRead;
BOOL TerminateThread;
} READ_THREAD_CONTEXT, *PREAD_THREAD_CONTEXT;
typedef NTSTATUS __stdcall GETEXTATTRIB (
HIDP_REPORT_TYPE,
USHORT,
PHIDP_PREPARSED_DATA,
PHIDP_EXTENDED_ATTRIBUTES,
PULONG);
typedef GETEXTATTRIB *PGETEXTATTRIB;
typedef NTSTATUS __stdcall INITREPORT (
HIDP_REPORT_TYPE,
UCHAR,
PHIDP_PREPARSED_DATA,
PCHAR,
ULONG);
typedef INITREPORT *PINITREPORT;
extern PGETEXTATTRIB pfnHidP_GetExtendedAttributes;
extern PINITREPORT pfnHidP_InitializeReportForID;
VOID
vDisplayDeviceAttributes(
IN PHIDD_ATTRIBUTES pAttrib,
IN HWND hControl
);
VOID
vDisplayButtonAttributes(
IN PHIDP_BUTTON_CAPS pButton,
IN HWND hControl
);
VOID
vDisplayDataAttributes(
PHIDP_DATA pData,
BOOL IsButton,
HWND hControl
);
VOID
vCreateUsageAndPageString(
IN PUSAGE_AND_PAGE pUsageList,
OUT CHAR szString[]
);
VOID
vCreateUsageString(
IN PUSAGE pUsageList,
OUT CHAR szString[]
);
VOID
vDisplayDeviceCaps(
IN PHIDP_CAPS pCaps,
IN HWND hControl
);
VOID
vDisplayValueAttributes(
IN PHIDP_VALUE_CAPS pValue,
IN HWND hControl
);
VOID
vDisplayLinkCollectionNode(
IN PHIDP_LINK_COLLECTION_NODE pLCNode,
IN ULONG ulLinkIndex,
IN HWND hControl
);
VOID
vCreateUsageValueStringFromArray(
PCHAR pBuffer,
USHORT BitSize,
USHORT UsageIndex,
CHAR szString[]
);
VOID
vDisplayValueAttributes(
IN PHIDP_VALUE_CAPS pValue,
IN HWND hControl
);
DWORD WINAPI
AsynchReadThreadProc(
PREAD_THREAD_CONTEXT Context
);
DWORD WINAPI
SynchReadThreadProc(
PREAD_THREAD_CONTEXT Context
);
#endif