#define SECURITY_WIN32
#include <stdio.h>
#include <Sspi.h>PVOID GetEncryptedMessage(CtxtHandle* phContext, PULONG plSize)

PVOID pvMessage = NULL; 
__try
{
SECURITY_STATUS ss; 
ULONG lSigLen; PVOID pvDataSig; 
ULONG lTempSize = sizeof(lSigLen); 
ReceiveData(&lSigLen, &lTempSize); 
pvDataSig = alloca(lSigLen); 
ReceiveData(pvDataSig, &lSigLen); 
ULONG lMsgLen; PVOID pvDataMsg; 
lTempSize = sizeof(lMsgLen); 
ReceiveData(&lMsgLen, &lTempSize);
pvDataMsg = alloca(lMsgLen); 
ReceiveData(pvDataMsg, &lMsgLen); 
ULONG lPadLen; PVOID pvDataPad; 
lTempSize = sizeof(lPadLen); 
ReceiveData(&lPadLen, &lTempSize); 
pvDataPad = alloca(lPadLen); 
ReceiveData(pvDataPad, &lPadLen); 
SecBuffer secBuffer[3] = {0};
secBuffer[0].BufferType = SECBUFFER_TOKEN; 
secBuffer[0].cbBuffer = lSigLen; 
secBuffer[0].pvBuffer = pvDataSig;
secBuffer[1].BufferType = SECBUFFER_DATA; 
secBuffer[1].cbBuffer = lMsgLen; 
secBuffer[1].pvBuffer = pvDataMsg;
secBuffer[2].BufferType = SECBUFFER_PADDING; 
secBuffer[2].cbBuffer = lPadLen;
secBuffer[2].pvBuffer = pvDataPad; 
SecBufferDesc secBufferDesc; 
secBufferDesc.cBuffers = 3; 
secBufferDesc.pBuffers = secBuffer; 
secBufferDesc.ulVersion = SECBUFFER_VERSION;
ULONG lQual=0; 
ss = DecryptMessage( phContext, &secBufferDesc, 0, &lQual );
if (ss != SEC_E_OK){ __leave; } 
pvMessage = LocalAlloc(LPTR, secBuffer[1].cbBuffer); 
if (pvMessage != NULL)
{ CopyMemory(pvMessage, secBuffer[1].pvBuffer, secBuffer[1].cbBuffer); } 
}__finally{} return (pvMessage); 
}
老是报错 
--------------------Configuration: xnt - Win32 Debug--------------------
Compiling...
xnt.c
d:\program files\microsoft visual studio\vc98\include\sspi.h(117) : error C2061: syntax error : identifier 'SEC_WCHAR'
d:\program files\microsoft visual studio\vc98\include\sspi.h(117) : error C2059: syntax error : ';'
..........................请问是怎么回事,寻求各位大大帮助,要是能提供相关的例子就更好了。不会使用这个SSPI的。

解决方案 »

  1.   

    报错信息都是这些如下,好多个
    d:\program files\microsoft visual studio\vc98\include\sspi.h(118) : error C2061: syntax error : identifier 'SEC_CHAR'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(118) : error C2059: syntax error : ';'
      

  2.   

    typedef unsigned short SEC_WCHAR;
      

  3.   

    比如下面
    d:\program files\microsoft visual studio\vc98\include\sspi.h(121) : error C2061: syntax error : identifier 'SECURITY_STATUS'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(121) : error C2059: syntax error : ';'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(138) : error C2143: syntax error : missing '{' before '*'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(139) : error C2061: syntax error : identifier 'SEC_CHAR'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(139) : error C2059: syntax error : ';'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(258) : error C2061: syntax error : identifier 'SEC_WCHAR'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(263) : error C2143: syntax error : missing '{' before '*'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(264) : error C2059: syntax error : '}'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(277) : error C2061: syntax error : identifier 'SEC_CHAR'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(282) : error C2143: syntax error : missing '{' before '*'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(283) : error C2059: syntax error : '}'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(358) : error C2061: syntax error : identifier 'SEC_WCHAR'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(360) : error C2059: syntax error : '}'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(463) : error C2061: syntax error : identifier 'SEC_WCHAR'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(464) : error C2059: syntax error : '}'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(470) : error C2061: syntax error : identifier 'SEC_CHAR'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(471) : error C2059: syntax error : '}'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(518) : error C2061: syntax error : identifier 'SEC_WCHAR'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(519) : error C2059: syntax error : '}'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(525) : error C2061: syntax error : identifier 'SEC_CHAR'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(526) : error C2059: syntax error : '}'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(554) : error C2061: syntax error : identifier 'SEC_CHAR'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(555) : error C2143: syntax error : missing '{' before '*'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(559) : error C2059: syntax error : '}'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(565) : error C2061: syntax error : identifier 'SEC_WCHAR'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(566) : error C2143: syntax error : missing '{' before '*'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(570) : error C2059: syntax error : '}'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(584) : error C2061: syntax error : identifier 'SEC_CHAR'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(585) : error C2059: syntax error : '}'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(591) : error C2061: syntax error : identifier 'SEC_WCHAR'
    d:\program files\microsoft visual studio\vc98\include\sspi.h(592) : error C2059: syntax error : '}'