|
|
/*++
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
|