internal static IntPtr SCardGetAttrib( [In] IntPtr hCard, [In] IntPtr dwAttrId, [Out, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3)] byte[] pbAttr, [In, Out] ref IntPtr pcbAttrLen) { if (_osUnixPlatform == OSUnixPlatform.Linux) { return(LinuxNativeMethods.SCardGetAttrib(hCard, dwAttrId, pbAttr, ref pcbAttrLen)); } else if (_osUnixPlatform == OSUnixPlatform.OSX) { return(OSXNativeMethods.SCardGetAttrib(hCard, dwAttrId, pbAttr, ref pcbAttrLen)); } else { throw new NotImplementedException(); } }