In the interest of portability to other platforms, the following types are used on the following platforms.
Win32 is a flat, 32-bit environment, which supports the Unicode character set. As such, the following types are defined:
typedef wchar_t SEC_CHAR;
typedef struct _SECURITY_INTEGER {
unsigned long LowPart;
long HighPart;
} SECURITY_INTEGER;
typedef SECURITY_INTEGER TimeStamp, * PTimeStamp;
These environments are segmented, 16-bit real-mode environments.
typedef unsigned char SEC_CHAR;
typedef unsigned long TimeStamp, __far * PTimeStamp;
Handles are defined as follows:
typedef struct _SecHandle {
unsigned long dwLower;
unsigned long dwUpper;
} SecHandle, * PSecHandle;
typedef SecHandle CredHandle;
typedef PSecHandle PCredHandle;
typedef SecHandle CtxtHandle;
typedef PSecHandle PCtxtHandle;
Note that for 16-bit environments, the PSecHandle type is actually a __far pointer.