#include "config.h"
#include <time.h>
#include <stdio.h>
#include <string.h>
#include "pcsclite.h"
#include "winscard.h"
#include "debuglog.h"
#include "winscard_msg.h"
#include "winscard_svc.h"
#include "sys_generic.h"
#include "thread_generic.h"
Go to the source code of this file.
Data Structures | |
| struct | _psContext |
| Represents the an Application Context on the Server side. More... | |
Functions | |
| LONG | MSGCheckHandleAssociation (SCARDHANDLE, DWORD) |
| LONG | MSGFunctionDemarshall (psharedSegmentMsg msgStruct, DWORD dwContextIndex) |
| Find out which message was sent by the Client and execute the right task. | |
| LONG | MSGAddContext (SCARDCONTEXT, DWORD) |
| LONG | MSGRemoveContext (SCARDCONTEXT, DWORD) |
| LONG | MSGAddHandle (SCARDCONTEXT, SCARDHANDLE, DWORD) |
| LONG | MSGRemoveHandle (SCARDHANDLE, DWORD) |
| LONG | MSGCleanupClient (DWORD) |
| static void | ContextThread (LPVOID dwIndex) |
| Handles messages received from Clients. | |
| LONG | ContextsInitialize (void) |
| LONG | CreateContextThread (PDWORD pdwClientID) |
| Creates threads to handle messages received from Clients. | |
Variables | |
| static struct _psContext | psContext [PCSCLITE_MAX_APPLICATIONS_CONTEXTS] |
| Represents the an Application Context on the Server side. | |
Each Client message is deald by creating a thread (CreateContextThread). The thread establishes reands and demarshalls the message and calls the appropriate function to threat it.
Definition in file winscard_svc.c.
|
|
Handles messages received from Clients. For each Client message a new instance of this thread is created.
Definition at line 122 of file winscard_svc.c. References rxSharedSegment::data, Log1, Log2, Log3, version_struct::major, version_struct::minor, MSGCleanupClient(), MSGFunctionDemarshall(), rxSharedSegment::mtype, PCSCLITE_SERVER_ATTEMPTS, _psContext::protocol_major, _psContext::protocol_minor, PROTOCOL_VERSION_MAJOR, PROTOCOL_VERSION_MINOR, psContext, version_struct::rv, SCARD_S_SUCCESS, SHMMessageSend(), SHMProcessEventsContext(), and SYS_ThreadExit(). |
|
|
Creates threads to handle messages received from Clients.
Definition at line 76 of file winscard_svc.c. References PCSCLITE_MAX_APPLICATIONS_CONTEXTS, and psContext. Referenced by SVCServiceRunLoop(). |
|
||||||||||||
|
|
Represents the an Application Context on the Server side.
An Application Context contains Channels ( Referenced by ContextsInitialize(), ContextThread(), CreateContextThread(), MSGAddContext(), MSGAddHandle(), MSGCheckHandleAssociation(), MSGCleanupClient(), MSGRemoveContext(), and MSGRemoveHandle(). |
1.4.6