SECHOST.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:5k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /********************************************************************/
  2. /**               Copyright(c) 1989 Microsoft Corporation.    **/
  3. /********************************************************************/
  4. //***
  5. //
  6. // Filename:    sechost.h
  7. //
  8. // Description: This header defines the interface between third party security
  9. //              DLLs and the supervisor. 
  10. //
  11. // History:
  12. // Nov 11,1994. NarenG Created original version.
  13. //
  14. #ifndef _SECHOST_
  15. #define _SECHOST_
  16. #include <lmcons.h>                 // Defines for DNLEN and UNLEN
  17. #define DEVICE_NAME_LEN             32
  18. typedef DWORD  HPORT;
  19. typedef struct _SECURITY_MESSAGE
  20. {
  21.     DWORD dwMsgId;
  22.     HPORT hPort;
  23.     
  24.     DWORD dwError;                  // Should be non-zero only if error
  25.                                     // occurred during the security dialog.
  26.                                     // Should contain errors from winerror.h
  27.                                     // or raserror.h
  28.     CHAR  UserName[UNLEN+1];        // Should always contain username if 
  29.                                     // dwMsgId is SUCCESS/FAILURE
  30.     CHAR  Domain[DNLEN+1];          // Should always contain domain if 
  31.                                     // dwMsgId is SUCCESS/FAILURE
  32. } SECURITY_MESSAGE, *PSECURITY_MESSAGE;
  33. // Values for dwMsgId in SECURITY_MESSAGE structure
  34. #define SECURITYMSG_SUCCESS     1
  35. #define SECURITYMSG_FAILURE     2
  36. #define SECURITYMSG_ERROR       3
  37. // Used by RasSecurityGetInfo call
  38. typedef struct _RAS_SECURITY_INFO
  39. {
  40.     DWORD LastError;                    // SUCCESS = receive completed
  41.                                         // PENDING = receive pending
  42.                                         // else completed with error
  43.     DWORD BytesReceived;                // only valid if LastError == SUCCESS
  44.     CHAR  DeviceName[DEVICE_NAME_LEN+1];        
  45.    
  46. }RAS_SECURITY_INFO,*PRAS_SECURITY_INFO;
  47. typedef DWORD (WINAPI *RASSECURITYPROC)();
  48. //
  49. // Called by third party DLL to notify the supervisor of termination of 
  50. // the security dialog
  51. //
  52. VOID WINAPI
  53. RasSecurityDialogComplete(
  54.     IN SECURITY_MESSAGE * pSecMsg       // Pointer to the above info. structure
  55. );
  56. //
  57. // Called by supervisor into the security DLL to notify it to begin the 
  58. // security dialog for a client.
  59. //
  60. // Should return errors from winerror.h or raserror.h
  61. //
  62. DWORD WINAPI
  63. RasSecurityDialogBegin(
  64.     IN HPORT  hPort,        // RAS handle to port
  65.     IN PBYTE  pSendBuf,     // Pointer to the buffer used in 
  66.                             // RasSecurityDialogSend
  67.     IN DWORD  SendBufSize,  // Size of above bufer in bytes
  68.     IN PBYTE  pRecvBuf,     // Pointer to the buffer used in 
  69.                             // RasSecurityDialogReceive
  70.     IN DWORD  RecvBufSize,  // Size of above buffer
  71.     IN VOID  (WINAPI *RasSecurityDialogComplete)( SECURITY_MESSAGE* )
  72.                             // Pointer to function RasSecurityDialogComplete.   
  73.                             // Guaranteed to be the same on every call.
  74. );
  75. //
  76. // Called by supervisor into the security DLL to notify it to stop the 
  77. // security dialog for a client. If this call returns an error, then it is not
  78. // neccesary for the dll to call RasSecurityDialogComplete. Otherwise the DLL
  79. // must call RasSecurityDialogComplete.
  80. //
  81. // Should return errors from winerror.h or raserror.h
  82. //
  83. DWORD WINAPI
  84. RasSecurityDialogEnd(
  85.     IN HPORT    hPort           // RAS handle to port.
  86. );
  87. //
  88. // Called to send data to remote host
  89. // Will return errors from winerror.h or raserror.h
  90. //
  91. DWORD WINAPI
  92. RasSecurityDialogSend(
  93.     IN HPORT    hPort,          // RAS handle to port.
  94.     IN PBYTE    pBuffer,        // Pointer to buffer containing data to send
  95.     IN WORD     BufferLength    // Length of above buffer.
  96. );
  97. //
  98. // Called to receive data from remote host
  99. // Will return errors from winerror.h or raserror.h
  100. //
  101. DWORD WINAPI
  102. RasSecurityDialogReceive(
  103.     IN HPORT    hPort,          // RAS handle to port.
  104.     IN PBYTE    pBuffer,        // Pointer to buffer to receive data
  105.     IN PWORD    pBufferLength,  // length of data received in bytes.
  106.     IN DWORD    Timeout,        // in seconds
  107.     IN HANDLE   hEvent          // Event to set when receive completes or 
  108.                                 // timeouts
  109. );
  110. //
  111. // Called to get Information about port.
  112. // Will return errors from winerror.h or raserror.h
  113. //
  114. DWORD WINAPI
  115. RasSecurityDialogGetInfo(
  116.     IN HPORT                hPort,      // RAS handle to port.
  117.     IN RAS_SECURITY_INFO*   pBuffer     // Pointer to get info structure.
  118. );
  119. #endif