示例#1
0
 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();
     }
 }
示例#2
0
 internal static IntPtr SCardIsValidContext(
     [In] IntPtr hContext)
 {
     if (_osUnixPlatform == OSUnixPlatform.Linux)
     {
         return(LinuxNativeMethods.SCardIsValidContext(hContext));
     }
     else if (_osUnixPlatform == OSUnixPlatform.OSX)
     {
         return(OSXNativeMethods.SCardIsValidContext(hContext));
     }
     else
     {
         throw new NotImplementedException();
     }
 }
示例#3
0
 internal static int dlclose(
     [In] IntPtr handle)
 {
     if (_osUnixPlatform == OSUnixPlatform.Linux)
     {
         return(LinuxNativeMethods.dlclose(handle));
     }
     else if (_osUnixPlatform == OSUnixPlatform.OSX)
     {
         return(OSXNativeMethods.dlclose(handle));
     }
     else
     {
         throw new NotImplementedException();
     }
 }
示例#4
0
 internal static IntPtr SCardBeginTransaction(
     [In] IntPtr hCard)
 {
     if (_osUnixPlatform == OSUnixPlatform.Linux)
     {
         return(LinuxNativeMethods.SCardBeginTransaction(hCard));
     }
     else if (_osUnixPlatform == OSUnixPlatform.OSX)
     {
         return(OSXNativeMethods.SCardBeginTransaction(hCard));
     }
     else
     {
         throw new NotImplementedException();
     }
 }
示例#5
0
 internal static IntPtr dlsym(
     [In] IntPtr handle,
     [In] string szSymbol)
 {
     if (_osUnixPlatform == OSUnixPlatform.Linux)
     {
         return(LinuxNativeMethods.dlsym(handle, szSymbol));
     }
     else if (_osUnixPlatform == OSUnixPlatform.OSX)
     {
         return(OSXNativeMethods.dlsym(handle, szSymbol));
     }
     else
     {
         throw new NotImplementedException();
     }
 }
示例#6
0
 internal static IntPtr dlopen(
     [In] string szFilename,
     [In] int flag)
 {
     if (_osUnixPlatform == OSUnixPlatform.Linux)
     {
         return(LinuxNativeMethods.dlopen(szFilename, flag));
     }
     else if (_osUnixPlatform == OSUnixPlatform.OSX)
     {
         return(OSXNativeMethods.dlopen(szFilename, flag));
     }
     else
     {
         throw new NotImplementedException();
     }
 }
示例#7
0
 internal static IntPtr SCardFreeMemory(
     [In] IntPtr hContext,
     [In] IntPtr pvMem)
 {
     if (_osUnixPlatform == OSUnixPlatform.Linux)
     {
         return(LinuxNativeMethods.SCardFreeMemory(hContext, pvMem));
     }
     else if (_osUnixPlatform == OSUnixPlatform.OSX)
     {
         return(OSXNativeMethods.SCardFreeMemory(hContext, pvMem));
     }
     else
     {
         throw new NotImplementedException();
     }
 }
示例#8
0
 internal static IntPtr SCardDisconnect(
     [In] IntPtr hCard,
     [In] IntPtr dwDisposition)
 {
     if (_osUnixPlatform == OSUnixPlatform.Linux)
     {
         return(LinuxNativeMethods.SCardDisconnect(hCard, dwDisposition));
     }
     else if (_osUnixPlatform == OSUnixPlatform.OSX)
     {
         return(OSXNativeMethods.SCardDisconnect(hCard, dwDisposition));
     }
     else
     {
         throw new NotImplementedException();
     }
 }
示例#9
0
 internal static IntPtr SCardListReaderGroups(
     [In] IntPtr hContext,
     [Out] byte[] mszGroups,
     [In, Out] ref IntPtr pcchGroups)
 {
     if (_osUnixPlatform == OSUnixPlatform.Linux)
     {
         return(LinuxNativeMethods.SCardListReaderGroups(hContext, mszGroups, ref pcchGroups));
     }
     else if (_osUnixPlatform == OSUnixPlatform.OSX)
     {
         return(OSXNativeMethods.SCardListReaderGroups(hContext, mszGroups, ref pcchGroups));;
     }
     else
     {
         throw new NotImplementedException();
     }
 }
示例#10
0
 internal static IntPtr SCardGetStatusChange(
     [In] IntPtr hContext,
     [In] IntPtr dwTimeout,
     [In, Out] SCARD_READERSTATE[] rgReaderStates,
     [In] IntPtr cReaders)
 {
     if (_osUnixPlatform == OSUnixPlatform.Linux)
     {
         return(LinuxNativeMethods.SCardGetStatusChange(hContext, dwTimeout, rgReaderStates, cReaders));
     }
     else if (_osUnixPlatform == OSUnixPlatform.OSX)
     {
         return(OSXNativeMethods.SCardGetStatusChange(hContext, dwTimeout, rgReaderStates, cReaders));
     }
     else
     {
         throw new NotImplementedException();
     }
 }
示例#11
0
 internal static IntPtr SCardSetAttrib(
     [In] IntPtr hCard,
     [In] IntPtr dwAttrId,
     [In, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 3)]
     byte[] pbAttr,
     [In] IntPtr cbAttrLen)
 {
     if (_osUnixPlatform == OSUnixPlatform.Linux)
     {
         return(LinuxNativeMethods.SCardSetAttrib(hCard, dwAttrId, pbAttr, cbAttrLen));
     }
     else if (_osUnixPlatform == OSUnixPlatform.OSX)
     {
         return(OSXNativeMethods.SCardSetAttrib(hCard, dwAttrId, pbAttr, cbAttrLen));
     }
     else
     {
         throw new NotImplementedException();
     }
 }
示例#12
0
 internal static IntPtr SCardReconnect(
     [In] IntPtr hCard,
     [In] IntPtr dwShareMode,
     [In] IntPtr dwPreferredProtocols,
     [In] IntPtr dwInitialization,
     [Out] out IntPtr pdwActiveProtocol)
 {
     if (_osUnixPlatform == OSUnixPlatform.Linux)
     {
         return(LinuxNativeMethods.SCardReconnect(hCard, dwShareMode, dwPreferredProtocols, dwInitialization, out pdwActiveProtocol));
     }
     else if (_osUnixPlatform == OSUnixPlatform.OSX)
     {
         return(OSXNativeMethods.SCardReconnect(hCard, dwShareMode, dwPreferredProtocols, dwInitialization, out pdwActiveProtocol));
     }
     else
     {
         throw new NotImplementedException();
     }
 }
示例#13
0
 internal static IntPtr SCardConnect(
     [In] IntPtr hContext,
     [In] byte[] szReader,
     [In] IntPtr dwShareMode,
     [In] IntPtr dwPreferredProtocols,
     [Out] out IntPtr phCard,
     [Out] out IntPtr pdwActiveProtocol)
 {
     if (_osUnixPlatform == OSUnixPlatform.Linux)
     {
         return(LinuxNativeMethods.SCardConnect(hContext, szReader, dwShareMode, dwPreferredProtocols, out phCard, out pdwActiveProtocol));
     }
     else if (_osUnixPlatform == OSUnixPlatform.OSX)
     {
         return(OSXNativeMethods.SCardConnect(hContext, szReader, dwShareMode, dwPreferredProtocols, out phCard, out pdwActiveProtocol));
     }
     else
     {
         throw new NotImplementedException();
     }
 }
示例#14
0
 internal static IntPtr SCardStatus(
     [In] IntPtr hCard,
     [Out] byte[] szReaderName,
     [In, Out] ref IntPtr pcchReaderLen,
     [Out] out IntPtr pdwState,
     [Out] out IntPtr pdwProtocol,
     [Out] byte[] pbAtr,
     [In, Out] ref IntPtr pcbAtrLen)
 {
     if (_osUnixPlatform == OSUnixPlatform.Linux)
     {
         return(LinuxNativeMethods.SCardStatus(hCard, szReaderName, ref pcchReaderLen, out pdwState, out pdwProtocol, pbAtr, ref pcbAtrLen));
     }
     else if (_osUnixPlatform == OSUnixPlatform.OSX)
     {
         return(OSXNativeMethods.SCardStatus(hCard, szReaderName, ref pcchReaderLen, out pdwState, out pdwProtocol, pbAtr, ref pcbAtrLen));
     }
     else
     {
         throw new NotImplementedException();
     }
 }
示例#15
0
 internal static IntPtr SCardControl(
     [In] IntPtr hCard,
     [In] IntPtr dwControlCode,
     [In] byte[] pbSendBuffer,
     [In] IntPtr cbSendLength,
     [Out] byte[] pbRecvBuffer,
     [In] IntPtr pcbRecvLength,
     [Out] out IntPtr lpBytesReturned)
 {
     if (_osUnixPlatform == OSUnixPlatform.Linux)
     {
         return(LinuxNativeMethods.SCardControl(hCard, dwControlCode, pbSendBuffer, cbSendLength, pbRecvBuffer, pcbRecvLength, out lpBytesReturned));
     }
     else if (_osUnixPlatform == OSUnixPlatform.OSX)
     {
         return(OSXNativeMethods.SCardControl(hCard, dwControlCode, pbSendBuffer, cbSendLength, pbRecvBuffer, pcbRecvLength, out lpBytesReturned));
     }
     else
     {
         throw new NotImplementedException();
     }
 }
示例#16
0
 internal static IntPtr SCardTransmit(
     [In] IntPtr hCard,
     [In] IntPtr pioSendPci,
     [In] byte[] pbSendBuffer,
     [In] IntPtr cbSendLength,
     [In, Out] IntPtr pioRecvPci,
     [Out] byte[] pbRecvBuffer,
     [In, Out] ref IntPtr pcbRecvLength)
 {
     if (_osUnixPlatform == OSUnixPlatform.Linux)
     {
         return(LinuxNativeMethods.SCardTransmit(hCard, pioSendPci, pbSendBuffer, cbSendLength, pioRecvPci, pbRecvBuffer, ref pcbRecvLength));
     }
     else if (_osUnixPlatform == OSUnixPlatform.OSX)
     {
         return(OSXNativeMethods.SCardTransmit(hCard, pioSendPci, pbSendBuffer, cbSendLength, pioRecvPci, pbRecvBuffer, ref pcbRecvLength));;
     }
     else
     {
         throw new NotImplementedException();
     }
 }