#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"
#include "readerfactory.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, DWORD) |
| 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) |
| void | ContextThread (LPVOID pdwIndex) |
| Handles messages received from Clients. | |
| LONG | ContextsInitialize (void) |
| LONG | CreateContextThread (PDWORD pdwClientID) |
| Creates threads to handle messages received from Clients. | |
Variables | |
| _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 126 of file winscard_svc.c. References rxSharedSegment::command, rxSharedSegment::data, version_struct::major, version_struct::minor, MSGFunctionDemarshall(), rxSharedSegment::mtype, PCSCLITE_SERVER_ATTEMPTS, _psContext::protocol_major, _psContext::protocol_minor, PROTOCOL_VERSION_MAJOR, PROTOCOL_VERSION_MINOR, psContext, version_struct::rv, sharedSegmentMsg, SHMMessageSend(), and SHMProcessEventsContext(). Referenced by CreateContextThread(). |
|
|
Creates threads to handle messages received from Clients.
Definition at line 77 of file winscard_svc.c. References ContextThread(), _psContext::dwClientID, PCSCLITE_MAX_APPLICATIONS_CONTEXTS, psContext, SYS_CloseFile(), and SYS_ThreadCreate(). Referenced by SVCServiceRunLoop(). |
|
||||||||||||
|
|
Represents the an Application Context on the Server side.
An Application Context contains Channels ( Referenced by ContextThread(), CreateContextThread(), and MSGFunctionDemarshall(). |
1.3.9.1