private static unsafe uint SNISecGenClientContextWrapper(
     [In] SNIHandle pConn,
     [In, Out] byte[] pIn,
     uint cbIn,
     [In, Out] byte[] pOut,
     [In] ref uint pcbOut,
     [MarshalAsAttribute(UnmanagedType.Bool)] out bool pfDone,
     byte *szServerInfo,
     uint cbServerInfo,
     [MarshalAsAttribute(UnmanagedType.LPWStr)] string pwszUserName,
     [MarshalAsAttribute(UnmanagedType.LPWStr)] string pwszPassword)
 {
     return(s_is64bitProcess ?
            SNINativeManagedWrapperX64.SNISecGenClientContextWrapper(pConn, pIn, cbIn, pOut, ref pcbOut, out pfDone, szServerInfo, cbServerInfo, pwszUserName, pwszPassword) :
            SNINativeManagedWrapperX86.SNISecGenClientContextWrapper(pConn, pIn, cbIn, pOut, ref pcbOut, out pfDone, szServerInfo, cbServerInfo, pwszUserName, pwszPassword));
 }