public static extern UInt32 mw_hmac_calc( MWHANDLE hHandle, [In, MarshalAs(UnmanagedType.LPStr)] string pcKeyFileName, [In, MarshalAs(UnmanagedType.LPArray)] byte[] pucInData, UInt32 uiInDataLen, [Out, MarshalAs(UnmanagedType.LPArray)] byte[] pucOutData, ref UInt32 puiOutDataLen);
public static extern UInt32 mw_verify_sign( MWHANDLE hHandle, [In, MarshalAs(UnmanagedType.LPStr)] string pcKeyFileName, byte ucHashAlg, [In, MarshalAs(UnmanagedType.LPArray)] byte[] pucSignData, UInt32 uiSignDataLen, [In, MarshalAs(UnmanagedType.LPArray)] byte[] pucMessageData, UInt32 uiMessageDataLen);
public static extern UInt32 mw_make_update_pkg( MWHANDLE hHandle, UInt32 uiDevPID, [In, MarshalAs(UnmanagedType.LPArray)] byte[] pucSN, [In, Out, MarshalAs(UnmanagedType.LPArray)] MW_UPDADE_FILE_CTX[] pstUpdateFileCtx, UInt32 uiFileCount, [Out, MarshalAs(UnmanagedType.LPArray)] byte[] pucOutPkg, ref UInt32 puiOutPkgLen);
public static extern UInt32 mw_control( MWHANDLE hHandle, byte uiCtrlCodeItem, [In, MarshalAs(UnmanagedType.LPArray)] byte[] pvInBuffer, UInt32 uiInBufferLen, [Out, MarshalAs(UnmanagedType.LPArray)] byte[] pvOutBuffer, UInt32 uiOutBufferLen, ref UInt32 puiReturnedLen);
public static extern UInt32 mw_sym_decrypt( MWHANDLE hHandle, [In, MarshalAs(UnmanagedType.LPStr)] string pcKeyFileName, byte ucAlgoMode, [In, MarshalAs(UnmanagedType.LPArray)] byte[] pucIV, [In, MarshalAs(UnmanagedType.LPArray)] byte[] pucInData, UInt32 uiInDataLen, [Out, MarshalAs(UnmanagedType.LPArray)] byte[] pucOutData, ref UInt32 puiOutDataLen);
public static extern UInt32 mw_get_device_status( MWHANDLE hHandle, ref MW_DEVICE_STATUS pstDeviceStatus);
public static extern UInt32 mw_get_file_property( MWHANDLE hHandle, [In, MarshalAs(UnmanagedType.LPStr)] string pcFileName, ref MW_FILE_PROPERTY pstFileProperty);
public static extern UInt32 mw_delete_file( MWHANDLE hHandle, [In, MarshalAs(UnmanagedType.LPStr)] string pcFileName);
public static extern UInt32 mw_write_file( MWHANDLE hHandle, [In, MarshalAs(UnmanagedType.LPStr)] string pcFileName, UInt32 uiWriteOffset, UInt32 uiWriteSize, [In, MarshalAs(UnmanagedType.LPArray)] byte[] pucWriteBuffer);
public static extern UInt32 mw_read_file( MWHANDLE hHandle, [In, MarshalAs(UnmanagedType.LPStr)] string pcFileName, UInt32 uiReadOffset, UInt32 uiReadSize, [Out, MarshalAs(UnmanagedType.LPArray)] byte[] pucReadBuffer);
public static extern UInt32 mw_close(MWHANDLE hHandle);
public static extern UInt32 mw_update( MWHANDLE hHandle, [In, MarshalAs(UnmanagedType.LPArray)] byte[] pucInPkg, UInt32 uiInPkgLen);
public static extern UInt32 mw_verify_pin( MWHANDLE hHandle, byte ucPinType, [In, MarshalAs(UnmanagedType.LPArray)] byte[] pucPin);
public static extern UInt32 mw_get_device_all_info( MWHANDLE hHandle, byte ucInfoItem, ref MW_DEVICE_ALL_ITEM_INFO pstDeviceInfo, ref UInt32 puiBufferLength);
public static extern UInt32 mw_get_device_info( MWHANDLE hHandle, byte ucInfoItem, [Out, MarshalAs(UnmanagedType.LPArray)] byte[] pvBuffer, ref UInt32 puiBufferLength);
public static extern UInt32 mw_set_pid( MWHANDLE hHandle, [In, MarshalAs(UnmanagedType.LPArray)] byte[] pucPIDSeed, UInt32 uiSeedLen);
public static extern UInt32 mw_change_pin( MWHANDLE hHandle, byte ucPinType, UInt16 usLimitCount, [In, MarshalAs(UnmanagedType.LPArray)] byte[] pucOldPin, [In, MarshalAs(UnmanagedType.LPArray)] byte[] pucNewPin);
public static extern UInt32 mw_enum_file( MWHANDLE hHandle, [Out, MarshalAs(UnmanagedType.LPStruct)] MW_FILE_PROPERTY[] pstFilePropertyList, UInt32 uiFileListCount, ref UInt32 puiReturnedFileCount);
public static extern UInt32 mw_create_file( MWHANDLE hHandle, ref MW_FILE_PROPERTY pstFileProperty);
public static extern UInt32 mw_restore_factory( MWHANDLE hHandle);
public static extern UInt32 mw_open( ref MW_DEVICE_INFO_CTX pDevInfo, UInt32 uiShareMode, ref MWHANDLE phHandle);