.


:




:

































 

 

 

 


DLL




, , DllMain DLL_THREAD_ATTACH, DLL_THREAD_ATTACH . DLL_PROCESS_ATTACH.

, (, , , (accept thread)), , DllMain . , DLL_THREAD_ATTACH, ; TLS. ReceiveCSMessage . , , , .

DLL , , , . .

DLL, Web-, DllMain .

. , , , DLL. ExitProcess DllMain DLL_PROCESS_DETACH, DLL_THREAD_DETACH. , , . , , , . . , DLL_PROCESS_DETACH, .

: DLL

12.4 TLS DllMain , , , . , "" , , .

, , . . UNIX , . , .

12.5 12.4. , DllMain , , . send receive . , serverSKHA, Web- , ( "handle" ).

12.5. SendReceiveSKHA: DLL

/* SendReceiveSKHA. . */

/* */

/* SendReceiveSKST.c, , */

/* . */

/* TLS, , */

/* HANDLE. */

/* . ('\0')*/

#define _NOEXCLUSIONS

#include "EvryThng.h"

#include "ClntSrvr.h " /* . */

 

typedef struct SOCKET_HANDLE_T {

/* "handle". */

/* "static_buf_len" . */

/* ( ) , */

/* . */

SOCKET sk; /* , "handle". */

char static_buf[MAX_RQRS_LEN];

LONG32 static_buf_len;

} SOCKET_HANDLE, * PSOCKET_HANDLE;

 

/* " ". */

_declspec(dllexport)

PVOID CreateCSSocketHandle(SOCKET s) {

PVOID p;

PSOCKET_HANDLE ps;

p = malloc(sizeof(SOCKET_HANDLE));

if (p == NULL) return NULL;

ps = (PSOCKET_HANDLE)p;

ps->sk = s;

ps->static_buf_len = 0; /* . */

return p;

}

 

_declspec(dllexport)

BOOL CloseCSSocketHandle(PVOID p) {

if (p == NULL) return FALSE;

free(p);

return TRUE;

}

 

_declspec(dllexport)

BOOL ReceiveCSMessage(REQUEST *pRequest, PVOID sh)

/* PVOID , */

/* SOCKET_HANDLE. */

{

/* TRUE . */

PSOCKET_HANDLE p;

SOCKET sd;

= (PSOCKET_HANDLE)sh;

if (p == NULL) return FALSE;

sd = p->sk;

/* SendReceiveSKST! */

}

 

_declspec(dllexport)

BOOL SendCSMessage(RESPONSE *pResponse, PVOID sh) {

/* sd. */

SOCKET sd;

PSOCKET_HANDLE p;

p = (PSOCKET_HANDLE)sh;

if (p == NULL) return FALSE;

sd = p->sk;

/* SendReceiveSKST! */

}





:


: 2015-09-20; !; : 504 |


:

:

.
==> ...

808 - | 690 -


© 2015-2024 lektsii.org - -

: 0.01 .