internal static IntPtr SCardEstablishContext( [In] IntPtr dwScope, [In] IntPtr pvReserved1, [In] IntPtr pvReserved2, [In, Out] ref IntPtr phContext) { if (_osUnixPlatform == OSUnixPlatform.Linux) { return(LinuxNativeMethods.SCardEstablishContext( dwScope, pvReserved1, pvReserved2, ref phContext)); } else if (_osUnixPlatform == OSUnixPlatform.OSX) { return(OSXNativeMethods.SCardEstablishContext( dwScope, pvReserved1, pvReserved2, ref phContext)); } else { throw new NotImplementedException(); } }