#ifdef UNICODE #undef UNICODE #endif #include <rpc.h> #include <stdio.h> #include <stdlib.h> #include <io.h> #include <fcntl.h> #include <stdarg.h> #include <windows.h> #define SECURITY_WIN32 #include <security.h> #include <ntsecapi.h> #include <time.h> FILE *log_file; inline void SSPI_LOG(const char * szinfo, ...) { char szData[1024]={0}; va_list args; time_t rawtime; struct tm * timep; if(log_file) { va_start(args, szinfo); _vsnprintf_s(szData, sizeof(szData) - 1, szinfo, args); va_end(args); time ( &rawtime ); timep = localtime( &rawtime ); fprintf(log_file, "%d-%d-%d %d:%d:%d ", (1900+timep->tm_year), (1+timep->tm_mon),timep->tm_mday, timep->tm_hour,timep->tm_min,timep->tm_sec); fprintf(log_file, szData); } } inline void SSPI_DEBUG(const char * szinfo, ...) { char szData[1024]={0}; va_list args; va_start(args, szinfo); _vsnprintf_s(szData, sizeof(szData) - 1, szinfo, args); va_end(args); OutputDebugString(szData); }