#S(HASH-TABLE EQL (FILENAME . "c:\winnt\system32\scardssp.dll")(GUID . "{82C38704-19F1-11D3-A11F-00C04F79F800}")(DESCRIPTION . "scardssp 1.0 Type Library")(VERSION . "1.0") (CLASSES . #S(HASH-TABLE EQUAL ("CByteBuffer" (TYPE . "Coclass")(DESCRIPTION . "ByteBuffer Class")(GUID . "{E126F8FF-A7AF-11D0-B88A-00C04FD424B9}")(ALIASES "IByteBuffer") (FUNCTIONS )) ("IByteBuffer" (TYPE . "Interface")(DESCRIPTION . "IByteBuffer Interface")(GUID . "{E126F8FE-A7AF-11D0-B88A-00C04FD424B9}")(FUNCTIONS ((NAME . "Stream") (RIID . #x00000000) (OFFSET . #x1c) (RETURNS . "VT_HRESULT")(PARAMS ("ppStream" "VT_PTR.VT_PTR.IStream")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Returns a pointer to the internal IStream object.")) ((NAME . "Stream") (RIID . #x00000000) (OFFSET . #x20) (RETURNS . "VT_HRESULT")(PARAMS ("ppStream" "VT_PTR.IStream")) (FLAGS ( IS-SET ))(DESCRIPTION . "Returns a pointer to the internal IStream object.")) ((NAME . "Clone") (RIID . #x00000001) (OFFSET . #x24) (RETURNS . "VT_HRESULT")(PARAMS ("ppByteBuffer" "VT_PTR.VT_PTR.IByteBuffer")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Creates a new object with its own seek pointer that references the same bytes as the original.")) ((NAME . "Commit") (RIID . #x00000002) (OFFSET . #x28) (RETURNS . "VT_HRESULT")(PARAMS ("grfCommitFlags" "VT_I4")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Ensures that any changes made to an object open in transacted mode are reflected in the parent storage.")) ((NAME . "CopyTo") (RIID . #x00000003) (OFFSET . #x2c) (RETURNS . "VT_HRESULT")(PARAMS ("ppByteBuffer" "VT_PTR.VT_PTR.IByteBuffer")("cb" "VT_I4")("pcbRead" "VT_PTR.VT_I4")("pcbWritten" "VT_PTR.VT_I4")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Copies a specified number of bytes from the current seek pointer in the object to the current seek pointer in another object.")) ((NAME . "Initialize") (RIID . #x00000004) (OFFSET . #x30) (RETURNS . "VT_HRESULT")(PARAMS ("lSize" "VT_I4")("pData" "VT_PTR.BYTE")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Initializes the object. This must be called prior to calling any other methods!")) ((NAME . "LockRegion") (RIID . #x00000005) (OFFSET . #x34) (RETURNS . "VT_HRESULT")(PARAMS ("libOffset" "VT_I4")("cb" "VT_I4")("dwLockType" "VT_I4")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Restricts access to a specified range of bytes in the buffer object.")) ((NAME . "Read") (RIID . #x00000006) (OFFSET . #x38) (RETURNS . "VT_HRESULT")(PARAMS ("pByte" "VT_PTR.BYTE")("cb" "VT_I4")("pcbRead" "VT_PTR.VT_I4")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Reads a specified number of bytes from the buffer object into memory starting at the current seek pointer.")) ((NAME . "Revert") (RIID . #x00000007) (OFFSET . #x3c) (RETURNS . "VT_HRESULT")(PARAMS ) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Discards all changes that have been made to a transacted stream since the last IByteBuffer::Commit call.")) ((NAME . "Seek") (RIID . #x00000008) (OFFSET . #x40) (RETURNS . "VT_HRESULT")(PARAMS ("dlibMove" "VT_I4")("dwOrigin" "VT_I4")("plibNewPosition" "VT_PTR.VT_I4")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Changes the seek pointer to a new location relative to the beginning of the buffer, to the end of the buffer, or to the current seek pointer.")) ((NAME . "SetSize") (RIID . #x00000009) (OFFSET . #x44) (RETURNS . "VT_HRESULT")(PARAMS ("libNewSize" "VT_I4")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Changes the size of the stream object.")) ((NAME . "Stat") (RIID . #x0000000a) (OFFSET . #x48) (RETURNS . "VT_HRESULT")(PARAMS ("pstatstg" "VT_USERDEFINED.Typedef.LPSTATSTRUCT")("grfStatFlag" "VT_I4")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Retrieves the STATSTG structure for this object.")) ((NAME . "UnlockRegion") (RIID . #x0000000b) (OFFSET . #x4c) (RETURNS . "VT_HRESULT")(PARAMS ("libOffset" "VT_I4")("cb" "VT_I4")("dwLockType" "VT_I4")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Removes the access restriction on a range of bytes previously restricted with IByteBuffer::LockRegion.")) ((NAME . "Write") (RIID . #x0000000c) (OFFSET . #x50) (RETURNS . "VT_HRESULT")(PARAMS ("pByte" "VT_PTR.BYTE")("cb" "VT_I4")("pcbWritten" "VT_PTR.VT_I4")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Writes a specified number from bytes into the stream object starting at the current seek pointer.")))) ("IStream" (TYPE . "Interface")(GUID . "{0000000C-0000-0000-C000-000000000046}")(FUNCTIONS ((NAME . "RemoteSeek") (RIID . #x60020000) (OFFSET . #x14) (RETURNS . "VT_HRESULT")(PARAMS ("dlibMove" "VT_USERDEFINED.Structure._LARGE_INTEGER")("dwOrigin" "VT_UI4")("plibNewPosition" "VT_PTR._ULARGE_INTEGER")) (FLAGS ( IS-FUNCTION ))) ((NAME . "SetSize") (RIID . #x60020001) (OFFSET . #x18) (RETURNS . "VT_HRESULT")(PARAMS ("libNewSize" "VT_USERDEFINED.Structure._ULARGE_INTEGER")) (FLAGS ( IS-FUNCTION ))) ((NAME . "RemoteCopyTo") (RIID . #x60020002) (OFFSET . #x1c) (RETURNS . "VT_HRESULT")(PARAMS ("pstm" "VT_PTR.IStream")("cb" "VT_USERDEFINED.Structure._ULARGE_INTEGER")("pcbRead" "VT_PTR._ULARGE_INTEGER")("pcbWritten" "VT_PTR._ULARGE_INTEGER")) (FLAGS ( IS-FUNCTION ))) ((NAME . "Commit") (RIID . #x60020003) (OFFSET . #x20) (RETURNS . "VT_HRESULT")(PARAMS ("grfCommitFlags" "VT_UI4")) (FLAGS ( IS-FUNCTION ))) ((NAME . "Revert") (RIID . #x60020004) (OFFSET . #x24) (RETURNS . "VT_HRESULT")(PARAMS ) (FLAGS ( IS-FUNCTION ))) ((NAME . "LockRegion") (RIID . #x60020005) (OFFSET . #x28) (RETURNS . "VT_HRESULT")(PARAMS ("libOffset" "VT_USERDEFINED.Structure._ULARGE_INTEGER")("cb" "VT_USERDEFINED.Structure._ULARGE_INTEGER")("dwLockType" "VT_UI4")) (FLAGS ( IS-FUNCTION ))) ((NAME . "UnlockRegion") (RIID . #x60020006) (OFFSET . #x2c) (RETURNS . "VT_HRESULT")(PARAMS ("libOffset" "VT_USERDEFINED.Structure._ULARGE_INTEGER")("cb" "VT_USERDEFINED.Structure._ULARGE_INTEGER")("dwLockType" "VT_UI4")) (FLAGS ( IS-FUNCTION ))) ((NAME . "Stat") (RIID . #x60020007) (OFFSET . #x30) (RETURNS . "VT_HRESULT")(PARAMS ("pstatstg" "VT_PTR.tagSTATSTG")("grfStatFlag" "VT_UI4")) (FLAGS ( IS-FUNCTION ))) ((NAME . "Clone") (RIID . #x60020008) (OFFSET . #x34) (RETURNS . "VT_HRESULT")(PARAMS ("ppstm" "VT_PTR.VT_PTR.IStream")) (FLAGS ( IS-FUNCTION ))))) ("ISequentialStream" (TYPE . "Interface")(GUID . "{0C733A30-2A1C-11CE-ADE5-00AA0044773D}")(FUNCTIONS ((NAME . "RemoteRead") (RIID . #x60010000) (OFFSET . #xc) (RETURNS . "VT_HRESULT")(PARAMS ("pv" "VT_PTR.VT_UI1")("cb" "VT_UI4")("pcbRead" "VT_PTR.VT_UI4")) (FLAGS ( IS-FUNCTION ))) ((NAME . "RemoteWrite") (RIID . #x60010001) (OFFSET . #x10) (RETURNS . "VT_HRESULT")(PARAMS ("pv" "VT_PTR.VT_UI1")("cb" "VT_UI4")("pcbWritten" "VT_PTR.VT_UI4")) (FLAGS ( IS-FUNCTION ))))) ("_LARGE_INTEGER" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("_ULARGE_INTEGER" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagSTATSTG" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("_FILETIME" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("BYTE" (TYPE . "Typedef")(GUID . "{00000000-0000-0000-0000-000000000000}")VT_UI1)) (FUNCTIONS )) ("LPSTATSTRUCT" (TYPE . "Typedef")(GUID . "{00000000-0000-0000-0000-000000000000}"))) (FUNCTIONS )) ("STATSTRUCT" (TYPE . "Typedef")(DESCRIPTION . "Stream status structure.")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagSTATSTRUCT" (TYPE . "Structure")(DESCRIPTION . "Stream status structure.")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("CSCardTypeConv" (TYPE . "Coclass")(DESCRIPTION . "SCardTypeConv Class")(GUID . "{53B6AA67-3F56-11D0-916B-00AA00C18068}")(ALIASES "ISCardTypeConv") (FUNCTIONS )) ("ISCardTypeConv" (TYPE . "Interface")(DESCRIPTION . "ISCardTypeConv Interface")(GUID . "{53B6AA63-3F56-11D0-916B-00AA00C18068}")(FUNCTIONS ((NAME . "ConvertByteArrayToByteBuffer") (RIID . #x00000000) (OFFSET . #x1c) (RETURNS . "VT_HRESULT")(PARAMS ("pbyArray" "VT_USERDEFINED.Typedef.LPBYTE")("dwArraySize" "VT_UI4")("ppbyBuffer" "VT_PTR.VT_PTR.IByteBuffer")) (FLAGS ( RETURNS-IN-LAST IS-FUNCTION ))(DESCRIPTION . "Convert an array of bytes to an IByteBuffer")) ((NAME . "ConvertByteBufferToByteArray") (RIID . #x00000001) (OFFSET . #x20) (RETURNS . "VT_HRESULT")(PARAMS ("pbyBuffer" "VT_PTR.IByteBuffer")("ppArray" "VT_PTR.LPBYTEARRAY")) (FLAGS ( RETURNS-IN-LAST IS-FUNCTION ))(DESCRIPTION . "Convert an IByteBuffer to an array of bytes")) ((NAME . "ConvertByteBufferToSafeArray") (RIID . #x00000002) (OFFSET . #x24) (RETURNS . "VT_HRESULT")(PARAMS ("pbyBuffer" "VT_PTR.IByteBuffer")("ppbyArray" "VT_PTR.wirePSAFEARRAY")) (FLAGS ( RETURNS-IN-LAST IS-FUNCTION ))(DESCRIPTION . "Convert an IByteBuffer to a SAFEARRAY(unsigned char)")) ((NAME . "ConvertSafeArrayToByteBuffer") (RIID . #x00000003) (OFFSET . #x28) (RETURNS . "VT_HRESULT")(PARAMS ("pbyArray" "VT_USERDEFINED.Typedef.wirePSAFEARRAY")("ppbyBuff" "VT_PTR.VT_PTR.IByteBuffer")) (FLAGS ( RETURNS-IN-LAST IS-FUNCTION ))(DESCRIPTION . "Convert a SAFEARRAY(unsigned char) to an IByteBuffer")) ((NAME . "CreateByteArray") (RIID . #x00000004) (OFFSET . #x2c) (RETURNS . "VT_HRESULT")(PARAMS ("dwAllocSize" "VT_UI4")("ppbyArray" "VT_PTR.LPBYTE")) (FLAGS ( RETURNS-IN-LAST IS-FUNCTION ))(DESCRIPTION . "Create an array of bytes")) ((NAME . "CreateByteBuffer") (RIID . #x00000005) (OFFSET . #x30) (RETURNS . "VT_HRESULT")(PARAMS ("dwAllocSize" "VT_UI4")("ppbyBuff" "VT_PTR.VT_PTR.IByteBuffer")) (FLAGS ( RETURNS-IN-LAST IS-FUNCTION ))(DESCRIPTION . "Create an IByteBuffer object")) ((NAME . "CreateSafeArray") (RIID . #x00000006) (OFFSET . #x34) (RETURNS . "VT_HRESULT")(PARAMS ("nAllocSize" "VT_UINT")("ppArray" "VT_PTR.wirePSAFEARRAY")) (FLAGS ( RETURNS-IN-LAST IS-FUNCTION ))(DESCRIPTION . "Create a SAFEARRAY(unsigned char)")) ((NAME . "FreeIStreamMemoryPtr") (RIID . #x00000007) (OFFSET . #x38) (RETURNS . "VT_HRESULT")(PARAMS ("pStrm" "VT_PTR.IStream")("pMem" "VT_USERDEFINED.Typedef.LPBYTE")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Free a pointer to the memory block managed by the IStream")) ((NAME . "GetAtIStreamMemory") (RIID . #x00000008) (OFFSET . #x3c) (RETURNS . "VT_HRESULT")(PARAMS ("pStrm" "VT_PTR.IStream")("ppMem" "VT_PTR.LPBYTEARRAY")) (FLAGS ( RETURNS-IN-LAST IS-FUNCTION ))(DESCRIPTION . "Get a pointer to the memory block managed by the IStream")) ((NAME . "SizeOfIStream") (RIID . #x00000009) (OFFSET . #x40) (RETURNS . "VT_HRESULT")(PARAMS ("pStrm" "VT_PTR.IStream")("puliSize" "VT_PTR._ULARGE_INTEGER")) (FLAGS ( RETURNS-IN-LAST IS-FUNCTION ))(DESCRIPTION . "How many bytes are in the given IStream")))) ("LPBYTE" (TYPE . "Typedef")(GUID . "{00000000-0000-0000-0000-000000000000}"))) (FUNCTIONS )) ("LPBYTEARRAY" (TYPE . "Typedef")(GUID . "{00000000-0000-0000-0000-000000000000}"))) (FUNCTIONS )) ("BYTEARRAY" (TYPE . "Typedef")(DESCRIPTION . "Helpful byte array.")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagBYTEARRAY" (TYPE . "Structure")(DESCRIPTION . "Helpful byte array.")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("wireHGLOBAL" (TYPE . "Typedef")(GUID . "{00000000-0000-0000-0000-000000000000}"))) (FUNCTIONS )) ("_userHGLOBAL" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("__MIDL_IWinTypes_0003" (TYPE . "Union")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("_FLAGGED_BYTE_BLOB" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("wirePSAFEARRAY" (TYPE . "Typedef")(GUID . "{00000000-0000-0000-0000-000000000000}"))) (FUNCTIONS )) ("_wireSAFEARRAY" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("_wireSAFEARRAY_UNION" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("__MIDL_IOleAutomationTypes_0001" (TYPE . "Union")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("_wireSAFEARR_BSTR" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("_FLAGGED_WORD_BLOB" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("_wireSAFEARR_UNKNOWN" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("_wireSAFEARR_DISPATCH" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("_wireSAFEARR_VARIANT" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("_wireVARIANT" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("__MIDL_IOleAutomationTypes_0004" (TYPE . "Union")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("_wireBRECORD" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("IRecordInfo" (TYPE . "Interface")(GUID . "{0000002F-0000-0000-C000-000000000046}")(FUNCTIONS ((NAME . "RecordInit") (RIID . #x60010000) (OFFSET . #xc) (RETURNS . "VT_HRESULT")(PARAMS ("pvNew" "VT_PTR.VT_VOID")) (FLAGS ( IS-FUNCTION ))) ((NAME . "RecordClear") (RIID . #x60010001) (OFFSET . #x10) (RETURNS . "VT_HRESULT")(PARAMS ("pvExisting" "VT_PTR.VT_VOID")) (FLAGS ( IS-FUNCTION ))) ((NAME . "RecordCopy") (RIID . #x60010002) (OFFSET . #x14) (RETURNS . "VT_HRESULT")(PARAMS ("pvExisting" "VT_PTR.VT_VOID")("pvNew" "VT_PTR.VT_VOID")) (FLAGS ( IS-FUNCTION ))) ((NAME . "GetGuid") (RIID . #x60010003) (OFFSET . #x18) (RETURNS . "VT_HRESULT")(PARAMS ("pguid" "VT_PTR.GUID")) (FLAGS ( IS-FUNCTION ))) ((NAME . "GetName") (RIID . #x60010004) (OFFSET . #x1c) (RETURNS . "VT_HRESULT")(PARAMS ("pbstrName" "VT_PTR.VT_BSTR")) (FLAGS ( IS-FUNCTION ))) ((NAME . "GetSize") (RIID . #x60010005) (OFFSET . #x20) (RETURNS . "VT_HRESULT")(PARAMS ("pcbSize" "VT_PTR.VT_UI4")) (FLAGS ( IS-FUNCTION ))) ((NAME . "GetTypeInfo") (RIID . #x60010006) (OFFSET . #x24) (RETURNS . "VT_HRESULT")(PARAMS ("ppTypeInfo" "VT_PTR.VT_PTR.ITypeInfo")) (FLAGS ( IS-FUNCTION ))) ((NAME . "GetField") (RIID . #x60010007) (OFFSET . #x28) (RETURNS . "VT_HRESULT")(PARAMS ("pvData" "VT_PTR.VT_VOID")("szFieldName" "VT_LPWSTR")("pvarField" "VT_PTR.VT_VARIANT")) (FLAGS ( IS-FUNCTION ))) ((NAME . "GetFieldNoCopy") (RIID . #x60010008) (OFFSET . #x2c) (RETURNS . "VT_HRESULT")(PARAMS ("pvData" "VT_PTR.VT_VOID")("szFieldName" "VT_LPWSTR")("pvarField" "VT_PTR.VT_VARIANT")("ppvDataCArray" "VT_PTR.VT_VOID")) (FLAGS ( IS-FUNCTION ))) ((NAME . "PutField") (RIID . #x60010009) (OFFSET . #x30) (RETURNS . "VT_HRESULT")(PARAMS ("wFlags" "VT_UI4")("pvData" "VT_PTR.VT_VOID")("szFieldName" "VT_LPWSTR")("pvarField" "VT_PTR.VT_VARIANT")) (FLAGS ( IS-FUNCTION ))) ((NAME . "PutFieldNoCopy") (RIID . #x6001000a) (OFFSET . #x34) (RETURNS . "VT_HRESULT")(PARAMS ("wFlags" "VT_UI4")("pvData" "VT_PTR.VT_VOID")("szFieldName" "VT_LPWSTR")("pvarField" "VT_PTR.VT_VARIANT")) (FLAGS ( IS-FUNCTION ))) ((NAME . "GetFieldNames") (RIID . #x6001000b) (OFFSET . #x38) (RETURNS . "VT_HRESULT")(PARAMS ("pcNames" "VT_PTR.VT_UI4")("rgBstrNames" "VT_PTR.VT_BSTR")) (FLAGS ( IS-FUNCTION ))) ((NAME . "IsMatchingType") (RIID . #x6001000c) (OFFSET . #x3c) (RETURNS . "VT_I4")(PARAMS ("pRecordInfo" "VT_PTR.IRecordInfo")) (FLAGS ( IS-FUNCTION ))) ((NAME . "RecordCreate") (RIID . #x6001000d) (OFFSET . #x40) (RETURNS . "VT_PTR.VT_VOID")(PARAMS ) (FLAGS ( IS-FUNCTION ))) ((NAME . "RecordCreateCopy") (RIID . #x6001000e) (OFFSET . #x44) (RETURNS . "VT_HRESULT")(PARAMS ("pvSource" "VT_PTR.VT_VOID")("ppvDest" "VT_PTR.VT_VOID")) (FLAGS ( IS-FUNCTION ))) ((NAME . "RecordDestroy") (RIID . #x6001000f) (OFFSET . #x48) (RETURNS . "VT_HRESULT")(PARAMS ("pvRecord" "VT_PTR.VT_VOID")) (FLAGS ( IS-FUNCTION ))))) ("ITypeInfo" (TYPE . "Interface")(GUID . "{00020401-0000-0000-C000-000000000046}")(FUNCTIONS ((NAME . "RemoteGetTypeAttr") (RIID . #x60010000) (OFFSET . #xc) (RETURNS . "VT_HRESULT")(PARAMS ("ppTypeAttr" "VT_PTR.VT_PTR.tagTYPEATTR")("pDummy" "VT_PTR.DWORD")) (FLAGS ( IS-FUNCTION ))) ((NAME . "GetTypeComp") (RIID . #x60010001) (OFFSET . #x10) (RETURNS . "VT_HRESULT")(PARAMS ("ppTComp" "VT_PTR.VT_PTR.ITypeComp")) (FLAGS ( IS-FUNCTION ))) ((NAME . "RemoteGetFuncDesc") (RIID . #x60010002) (OFFSET . #x14) (RETURNS . "VT_HRESULT")(PARAMS ("index" "VT_UINT")("ppFuncDesc" "VT_PTR.VT_PTR.tagFUNCDESC")("pDummy" "VT_PTR.DWORD")) (FLAGS ( IS-FUNCTION ))) ((NAME . "RemoteGetVarDesc") (RIID . #x60010003) (OFFSET . #x18) (RETURNS . "VT_HRESULT")(PARAMS ("index" "VT_UINT")("ppVarDesc" "VT_PTR.VT_PTR.tagVARDESC")("pDummy" "VT_PTR.DWORD")) (FLAGS ( IS-FUNCTION ))) ((NAME . "RemoteGetNames") (RIID . #x60010004) (OFFSET . #x1c) (RETURNS . "VT_HRESULT")(PARAMS ("memid" "VT_I4")("rgBstrNames" "VT_PTR.VT_BSTR")("cMaxNames" "VT_UINT")("pcNames" "VT_PTR.VT_UINT")) (FLAGS ( IS-FUNCTION ))) ((NAME . "GetRefTypeOfImplType") (RIID . #x60010005) (OFFSET . #x20) (RETURNS . "VT_HRESULT")(PARAMS ("index" "VT_UINT")("pRefType" "VT_PTR.VT_UI4")) (FLAGS ( IS-FUNCTION ))) ((NAME . "GetImplTypeFlags") (RIID . #x60010006) (OFFSET . #x24) (RETURNS . "VT_HRESULT")(PARAMS ("index" "VT_UINT")("pImplTypeFlags" "VT_PTR.VT_INT")) (FLAGS ( IS-FUNCTION ))) ((NAME . "LocalGetIDsOfNames") (RIID . #x60010007) (OFFSET . #x28) (RETURNS . "VT_HRESULT")(PARAMS ) (FLAGS ( IS-FUNCTION ))) ((NAME . "LocalInvoke") (RIID . #x60010008) (OFFSET . #x2c) (RETURNS . "VT_HRESULT")(PARAMS ) (FLAGS ( IS-FUNCTION ))) ((NAME . "RemoteGetDocumentation") (RIID . #x60010009) (OFFSET . #x30) (RETURNS . "VT_HRESULT")(PARAMS ("memid" "VT_I4")("refPtrFlags" "VT_UI4")("pbstrName" "VT_PTR.VT_BSTR")("pBstrDocString" "VT_PTR.VT_BSTR")("pdwHelpContext" "VT_PTR.VT_UI4")("pBstrHelpFile" "VT_PTR.VT_BSTR")) (FLAGS ( IS-FUNCTION ))) ((NAME . "RemoteGetDllEntry") (RIID . #x6001000a) (OFFSET . #x34) (RETURNS . "VT_HRESULT")(PARAMS ("memid" "VT_I4")("invkind" "VT_USERDEFINED.Enum.tagINVOKEKIND")("refPtrFlags" "VT_UI4")("pBstrDllName" "VT_PTR.VT_BSTR")("pbstrName" "VT_PTR.VT_BSTR")("pwOrdinal" "VT_PTR.VT_UI2")) (FLAGS ( IS-FUNCTION ))) ((NAME . "GetRefTypeInfo") (RIID . #x6001000b) (OFFSET . #x38) (RETURNS . "VT_HRESULT")(PARAMS ("hreftype" "VT_UI4")("ppTInfo" "VT_PTR.VT_PTR.ITypeInfo")) (FLAGS ( IS-FUNCTION ))) ((NAME . "LocalAddressOfMember") (RIID . #x6001000c) (OFFSET . #x3c) (RETURNS . "VT_HRESULT")(PARAMS ) (FLAGS ( IS-FUNCTION ))) ((NAME . "RemoteCreateInstance") (RIID . #x6001000d) (OFFSET . #x40) (RETURNS . "VT_HRESULT")(PARAMS ("riid" "VT_PTR.GUID")("ppvObj" "VT_PTR.VT_UNKNOWN")) (FLAGS ( IS-FUNCTION ))) ((NAME . "GetMops") (RIID . #x6001000e) (OFFSET . #x44) (RETURNS . "VT_HRESULT")(PARAMS ("memid" "VT_I4")("pBstrMops" "VT_PTR.VT_BSTR")) (FLAGS ( IS-FUNCTION ))) ((NAME . "RemoteGetContainingTypeLib") (RIID . #x6001000f) (OFFSET . #x48) (RETURNS . "VT_HRESULT")(PARAMS ("ppTLib" "VT_PTR.VT_PTR.ITypeLib")("pIndex" "VT_PTR.VT_UINT")) (FLAGS ( IS-FUNCTION ))) ((NAME . "LocalReleaseTypeAttr") (RIID . #x60010010) (OFFSET . #x4c) (RETURNS . "VT_HRESULT")(PARAMS ) (FLAGS ( IS-FUNCTION ))) ((NAME . "LocalReleaseFuncDesc") (RIID . #x60010011) (OFFSET . #x50) (RETURNS . "VT_HRESULT")(PARAMS ) (FLAGS ( IS-FUNCTION ))) ((NAME . "LocalReleaseVarDesc") (RIID . #x60010012) (OFFSET . #x54) (RETURNS . "VT_HRESULT")(PARAMS ) (FLAGS ( IS-FUNCTION ))))) ("tagTYPEATTR" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagTYPEKIND" (TYPE . "Enum")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagTYPEDESC" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("__MIDL_IOleAutomationTypes_0005" (TYPE . "Union")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagARRAYDESC" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagSAFEARRAYBOUND" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagIDLDESC" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("ULONG_PTR" (TYPE . "Typedef")(GUID . "{00000000-0000-0000-0000-000000000000}")VT_UI4)) (FUNCTIONS )) ("DWORD" (TYPE . "Typedef")(GUID . "{00000000-0000-0000-0000-000000000000}")VT_UI4)) (FUNCTIONS )) ("ITypeComp" (TYPE . "Interface")(GUID . "{00020403-0000-0000-C000-000000000046}")(FUNCTIONS ((NAME . "RemoteBind") (RIID . #x60010000) (OFFSET . #xc) (RETURNS . "VT_HRESULT")(PARAMS ("szName" "VT_LPWSTR")("lHashVal" "VT_UI4")("wFlags" "VT_UI2")("ppTInfo" "VT_PTR.VT_PTR.ITypeInfo")("pDescKind" "VT_PTR.tagDESCKIND")("ppFuncDesc" "VT_PTR.VT_PTR.tagFUNCDESC")("ppVarDesc" "VT_PTR.VT_PTR.tagVARDESC")("ppTypeComp" "VT_PTR.VT_PTR.ITypeComp")("pDummy" "VT_PTR.DWORD")) (FLAGS ( IS-FUNCTION ))) ((NAME . "RemoteBindType") (RIID . #x60010001) (OFFSET . #x10) (RETURNS . "VT_HRESULT")(PARAMS ("szName" "VT_LPWSTR")("lHashVal" "VT_UI4")("ppTInfo" "VT_PTR.VT_PTR.ITypeInfo")) (FLAGS ( IS-FUNCTION ))))) ("tagDESCKIND" (TYPE . "Enum")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagFUNCDESC" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagELEMDESC" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagPARAMDESC" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagPARAMDESCEX" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagFUNCKIND" (TYPE . "Enum")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagINVOKEKIND" (TYPE . "Enum")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagCALLCONV" (TYPE . "Enum")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagVARDESC" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("__MIDL_IOleAutomationTypes_0006" (TYPE . "Union")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagVARKIND" (TYPE . "Enum")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("ITypeLib" (TYPE . "Interface")(GUID . "{00020402-0000-0000-C000-000000000046}")(FUNCTIONS ((NAME . "RemoteGetTypeInfoCount") (RIID . #x60010000) (OFFSET . #xc) (RETURNS . "VT_HRESULT")(PARAMS ("pcTInfo" "VT_PTR.VT_UINT")) (FLAGS ( IS-FUNCTION ))) ((NAME . "GetTypeInfo") (RIID . #x60010001) (OFFSET . #x10) (RETURNS . "VT_HRESULT")(PARAMS ("index" "VT_UINT")("ppTInfo" "VT_PTR.VT_PTR.ITypeInfo")) (FLAGS ( IS-FUNCTION ))) ((NAME . "GetTypeInfoType") (RIID . #x60010002) (OFFSET . #x14) (RETURNS . "VT_HRESULT")(PARAMS ("index" "VT_UINT")("pTKind" "VT_PTR.tagTYPEKIND")) (FLAGS ( IS-FUNCTION ))) ((NAME . "GetTypeInfoOfGuid") (RIID . #x60010003) (OFFSET . #x18) (RETURNS . "VT_HRESULT")(PARAMS ("guid" "VT_PTR.GUID")("ppTInfo" "VT_PTR.VT_PTR.ITypeInfo")) (FLAGS ( IS-FUNCTION ))) ((NAME . "RemoteGetLibAttr") (RIID . #x60010004) (OFFSET . #x1c) (RETURNS . "VT_HRESULT")(PARAMS ("ppTLibAttr" "VT_PTR.VT_PTR.tagTLIBATTR")("pDummy" "VT_PTR.DWORD")) (FLAGS ( IS-FUNCTION ))) ((NAME . "GetTypeComp") (RIID . #x60010005) (OFFSET . #x20) (RETURNS . "VT_HRESULT")(PARAMS ("ppTComp" "VT_PTR.VT_PTR.ITypeComp")) (FLAGS ( IS-FUNCTION ))) ((NAME . "RemoteGetDocumentation") (RIID . #x60010006) (OFFSET . #x24) (RETURNS . "VT_HRESULT")(PARAMS ("index" "VT_INT")("refPtrFlags" "VT_UI4")("pbstrName" "VT_PTR.VT_BSTR")("pBstrDocString" "VT_PTR.VT_BSTR")("pdwHelpContext" "VT_PTR.VT_UI4")("pBstrHelpFile" "VT_PTR.VT_BSTR")) (FLAGS ( IS-FUNCTION ))) ((NAME . "RemoteIsName") (RIID . #x60010007) (OFFSET . #x28) (RETURNS . "VT_HRESULT")(PARAMS ("szNameBuf" "VT_LPWSTR")("lHashVal" "VT_UI4")("pfName" "VT_PTR.VT_I4")("pBstrLibName" "VT_PTR.VT_BSTR")) (FLAGS ( IS-FUNCTION ))) ((NAME . "RemoteFindName") (RIID . #x60010008) (OFFSET . #x2c) (RETURNS . "VT_HRESULT")(PARAMS ("szNameBuf" "VT_LPWSTR")("lHashVal" "VT_UI4")("ppTInfo" "VT_PTR.VT_PTR.ITypeInfo")("rgMemId" "VT_PTR.VT_I4")("pcFound" "VT_PTR.VT_UI2")("pBstrLibName" "VT_PTR.VT_BSTR")) (FLAGS ( IS-FUNCTION ))) ((NAME . "LocalReleaseTLibAttr") (RIID . #x60010009) (OFFSET . #x30) (RETURNS . "VT_HRESULT")(PARAMS ) (FLAGS ( IS-FUNCTION ))))) ("tagTLIBATTR" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagSYSKIND" (TYPE . "Enum")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("_wireSAFEARR_BRECORD" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("_wireSAFEARR_HAVEIID" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("_BYTE_SIZEDARR" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("_SHORT_SIZEDARR" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("_LONG_SIZEDARR" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("_HYPER_SIZEDARR" (TYPE . "Structure")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("CSCardCmd" (TYPE . "Coclass")(DESCRIPTION . "SCardCmd Class")(GUID . "{D5778AE7-43DE-11D0-9171-00AA00C18068}")(ALIASES "ISCardCmd") (FUNCTIONS )) ("ISCardCmd" (TYPE . "Interface")(DESCRIPTION . "ISCardCmd Interface")(GUID . "{D5778AE3-43DE-11D0-9171-00AA00C18068}")(FUNCTIONS ((NAME . "Apdu") (RIID . #x00000000) (OFFSET . #x1c) (RETURNS . "VT_HRESULT")(PARAMS ("ppApdu" "VT_PTR.VT_PTR.IByteBuffer")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Get the raw ISO 7816 APDU string")) ((NAME . "Apdu") (RIID . #x00000000) (OFFSET . #x20) (RETURNS . "VT_HRESULT")(PARAMS ("ppApdu" "VT_PTR.IByteBuffer")) (FLAGS ( IS-SET ))(DESCRIPTION . "Get the raw ISO 7816 APDU string")) ((NAME . "ApduLength") (RIID . #x00000001) (OFFSET . #x24) (RETURNS . "VT_HRESULT")(PARAMS ("plSize" "VT_PTR.VT_I4")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Get the byte count (size) of the raw ISO 7816 APDU string")) ((NAME . "ApduReply") (RIID . #x00000002) (OFFSET . #x28) (RETURNS . "VT_HRESULT")(PARAMS ("ppReplyApdu" "VT_PTR.VT_PTR.IByteBuffer")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Get the raw reply ISO 7816 APDU string")) ((NAME . "ApduReply") (RIID . #x00000002) (OFFSET . #x2c) (RETURNS . "VT_HRESULT")(PARAMS ("ppReplyApdu" "VT_PTR.IByteBuffer")) (FLAGS ( IS-SET ))(DESCRIPTION . "Get the raw reply ISO 7816 APDU string")) ((NAME . "ApduReplyLength") (RIID . #x00000003) (OFFSET . #x30) (RETURNS . "VT_HRESULT")(PARAMS ("plSize" "VT_PTR.VT_I4")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Get the byte count (size) of the raw reply ISO 7816 APDU string")) ((NAME . "ApduReplyLength") (RIID . #x00000003) (OFFSET . #x34) (RETURNS . "VT_HRESULT")(PARAMS ("plSize" "VT_I4")) (FLAGS ( IS-SET ))(DESCRIPTION . "Get the byte count (size) of the raw reply ISO 7816 APDU string")) ((NAME . "ClassId") (RIID . #x00000004) (OFFSET . #x38) (RETURNS . "VT_HRESULT")(PARAMS ("pbyClass" "VT_PTR.BYTE")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Get the current class ID of the ISO 7816 APDU header")) ((NAME . "ClassId") (RIID . #x00000004) (OFFSET . #x3c) (RETURNS . "VT_HRESULT")(PARAMS ("pbyClass" "VT_USERDEFINED.Typedef.BYTE")) (FLAGS ( IS-SET ))(DESCRIPTION . "Get the current class ID of the ISO 7816 APDU header")) ((NAME . "Data") (RIID . #x00000005) (OFFSET . #x40) (RETURNS . "VT_HRESULT")(PARAMS ("ppData" "VT_PTR.VT_PTR.IByteBuffer")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Get the current data portion of the ISO 7816 APDU string")) ((NAME . "Data") (RIID . #x00000005) (OFFSET . #x44) (RETURNS . "VT_HRESULT")(PARAMS ("ppData" "VT_PTR.IByteBuffer")) (FLAGS ( IS-SET ))(DESCRIPTION . "Get the current data portion of the ISO 7816 APDU string")) ((NAME . "InstructionId") (RIID . #x00000006) (OFFSET . #x48) (RETURNS . "VT_HRESULT")(PARAMS ("pbyIns" "VT_PTR.BYTE")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Get the current instruction ID of the ISO 7816 APDU header")) ((NAME . "InstructionId") (RIID . #x00000006) (OFFSET . #x4c) (RETURNS . "VT_HRESULT")(PARAMS ("pbyIns" "VT_USERDEFINED.Typedef.BYTE")) (FLAGS ( IS-SET ))(DESCRIPTION . "Get the current instruction ID of the ISO 7816 APDU header")) ((NAME . "LeField") (RIID . #x00000007) (OFFSET . #x50) (RETURNS . "VT_HRESULT")(PARAMS ("plSize" "VT_PTR.VT_I4")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Get the Le parameter (expected length of reply data) of the ISO 7816 APDU")) ((NAME . "P1") (RIID . #x00000008) (OFFSET . #x54) (RETURNS . "VT_HRESULT")(PARAMS ("pbyP1" "VT_PTR.BYTE")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Get the first parameter of the ISO 7816 APDU header")) ((NAME . "P1") (RIID . #x00000008) (OFFSET . #x58) (RETURNS . "VT_HRESULT")(PARAMS ("pbyP1" "VT_USERDEFINED.Typedef.BYTE")) (FLAGS ( IS-SET ))(DESCRIPTION . "Get the first parameter of the ISO 7816 APDU header")) ((NAME . "P2") (RIID . #x00000009) (OFFSET . #x5c) (RETURNS . "VT_HRESULT")(PARAMS ("pbyP2" "VT_PTR.BYTE")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Get the second parameter of the ISO 7816 APDU header")) ((NAME . "P2") (RIID . #x00000009) (OFFSET . #x60) (RETURNS . "VT_HRESULT")(PARAMS ("pbyP2" "VT_USERDEFINED.Typedef.BYTE")) (FLAGS ( IS-SET ))(DESCRIPTION . "Get the second parameter of the ISO 7816 APDU header")) ((NAME . "P3") (RIID . #x0000000a) (OFFSET . #x64) (RETURNS . "VT_HRESULT")(PARAMS ("pbyP3" "VT_PTR.BYTE")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Get the third parameter of the ISO 7816 APDU header")) ((NAME . "ReplyStatus") (RIID . #x0000000b) (OFFSET . #x68) (RETURNS . "VT_HRESULT")(PARAMS ("pwStatus" "VT_PTR.VT_UI2")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Get the reply status word")) ((NAME . "ReplyStatus") (RIID . #x0000000b) (OFFSET . #x6c) (RETURNS . "VT_HRESULT")(PARAMS ("pwStatus" "VT_UI2")) (FLAGS ( IS-SET ))(DESCRIPTION . "Get the reply status word")) ((NAME . "ReplyStatusSW1") (RIID . #x0000000c) (OFFSET . #x70) (RETURNS . "VT_HRESULT")(PARAMS ("pbySW1" "VT_PTR.BYTE")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Get the reply status SW1 byte.")) ((NAME . "ReplyStatusSW2") (RIID . #x0000000d) (OFFSET . #x74) (RETURNS . "VT_HRESULT")(PARAMS ("pbySW2" "VT_PTR.BYTE")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Get the reply status SW2 byte.")) ((NAME . "type") (RIID . #x0000000e) (OFFSET . #x78) (RETURNS . "VT_HRESULT")(PARAMS ("pType" "VT_PTR.ISO_APDU_TYPE")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Get the current ISO 7816-4 type of the encapsulated APDU.")) ((NAME . "Nad") (RIID . #x00000012) (OFFSET . #x7c) (RETURNS . "VT_HRESULT")(PARAMS ("pbNad" "VT_PTR.BYTE")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Get the T=1 Node Address")) ((NAME . "Nad") (RIID . #x00000012) (OFFSET . #x80) (RETURNS . "VT_HRESULT")(PARAMS ("pbNad" "VT_USERDEFINED.Typedef.BYTE")) (FLAGS ( IS-SET ))(DESCRIPTION . "Get the T=1 Node Address")) ((NAME . "ReplyNad") (RIID . #x00000013) (OFFSET . #x84) (RETURNS . "VT_HRESULT")(PARAMS ("pbNad" "VT_PTR.BYTE")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Get the T=1 Reply Node Address")) ((NAME . "ReplyNad") (RIID . #x00000013) (OFFSET . #x88) (RETURNS . "VT_HRESULT")(PARAMS ("pbNad" "VT_USERDEFINED.Typedef.BYTE")) (FLAGS ( IS-SET ))(DESCRIPTION . "Get the T=1 Reply Node Address")) ((NAME . "BuildCmd") (RIID . #x0000000f) (OFFSET . #x8c) (RETURNS . "VT_HRESULT")(PARAMS ("byClassId" "VT_USERDEFINED.Typedef.BYTE")("byInsId" "VT_USERDEFINED.Typedef.BYTE")("byP1" "VT_USERDEFINED.Typedef.BYTE")("byP2" "VT_USERDEFINED.Typedef.BYTE")("pbyData" "VT_PTR.IByteBuffer")("plLe" "VT_PTR.VT_I4")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Build a valid ISO 7816 APDU string")) ((NAME . "Clear") (RIID . #x00000010) (OFFSET . #x90) (RETURNS . "VT_HRESULT")(PARAMS ) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Clear the current APDU data")) ((NAME . "Encapsulate") (RIID . #x00000011) (OFFSET . #x94) (RETURNS . "VT_HRESULT")(PARAMS ("pApdu" "VT_PTR.IByteBuffer")("ApduType" "VT_USERDEFINED.Typedef.ISO_APDU_TYPE")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Encapsulate onother APDU into this one as data")) ((NAME . "AlternateClassId") (RIID . #x00000014) (OFFSET . #x98) (RETURNS . "VT_HRESULT")(PARAMS ("pbyClass" "VT_PTR.BYTE")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Get the alternate class ID of the ISO 7816 APDU header")) ((NAME . "AlternateClassId") (RIID . #x00000014) (OFFSET . #x9c) (RETURNS . "VT_HRESULT")(PARAMS ("pbyClass" "VT_USERDEFINED.Typedef.BYTE")) (FLAGS ( IS-SET ))(DESCRIPTION . "Get the alternate class ID of the ISO 7816 APDU header")))) ("ISO_APDU_TYPE" (TYPE . "Typedef")(DESCRIPTION . "ISO 7816-4 APDU Case types.")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagISO_APDU_TYPE" (TYPE . "Enum")(DESCRIPTION . "ISO 7816-4 APDU Case types.")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("CSCardISO7816" (TYPE . "Coclass")(DESCRIPTION . "SCardISO7816 Class")(GUID . "{53B6AA6C-3F56-11D0-916B-00AA00C18068}")(ALIASES "ISCardISO7816") (FUNCTIONS )) ("ISCardISO7816" (TYPE . "Interface")(DESCRIPTION . "ISCardISO7816 Interface")(GUID . "{53B6AA68-3F56-11D0-916B-00AA00C18068}")(FUNCTIONS ((NAME . "AppendRecord") (RIID . #x00000000) (OFFSET . #x1c) (RETURNS . "VT_HRESULT")(PARAMS ("byRefCtrl" "VT_USERDEFINED.Typedef.BYTE")("pData" "VT_PTR.IByteBuffer")("ppCmd" "VT_PTR.VT_PTR.ISCardCmd")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Write a record to the end of an EF of linear structure of location one of a cyclic structure")) ((NAME . "EraseBinary") (RIID . #x00000001) (OFFSET . #x20) (RETURNS . "VT_HRESULT")(PARAMS ("byP1" "VT_USERDEFINED.Typedef.BYTE")("byP2" "VT_USERDEFINED.Typedef.BYTE")("pData" "VT_PTR.IByteBuffer")("ppCmd" "VT_PTR.VT_PTR.ISCardCmd")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Set part of an EF file content to its erased state sequentially")) ((NAME . "ExternalAuthenticate") (RIID . #x00000002) (OFFSET . #x24) (RETURNS . "VT_HRESULT")(PARAMS ("byAlgorithmRef" "VT_USERDEFINED.Typedef.BYTE")("bySecretRef" "VT_USERDEFINED.Typedef.BYTE")("pChallenge" "VT_PTR.IByteBuffer")("ppCmd" "VT_PTR.VT_PTR.ISCardCmd")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Update the card after a GET CHALLENGE command serviced")) ((NAME . "GetChallenge") (RIID . #x00000003) (OFFSET . #x28) (RETURNS . "VT_HRESULT")(PARAMS ("lBytesExpected" "VT_I4")("ppCmd" "VT_PTR.VT_PTR.ISCardCmd")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Issue a challenge for use in a security related procedure")) ((NAME . "GetData") (RIID . #x00000004) (OFFSET . #x2c) (RETURNS . "VT_HRESULT")(PARAMS ("byP1" "VT_USERDEFINED.Typedef.BYTE")("byP2" "VT_USERDEFINED.Typedef.BYTE")("lBytesToGet" "VT_I4")("ppCmd" "VT_PTR.VT_PTR.ISCardCmd")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Retrieve a primitive data object")) ((NAME . "GetResponse") (RIID . #x00000005) (OFFSET . #x30) (RETURNS . "VT_HRESULT")(PARAMS ("byP1" "VT_USERDEFINED.Typedef.BYTE")("byP2" "VT_USERDEFINED.Typedef.BYTE")("lDataLength" "VT_I4")("ppCmd" "VT_PTR.VT_PTR.ISCardCmd")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Retrieve further data")) ((NAME . "InternalAuthenticate") (RIID . #x00000006) (OFFSET . #x34) (RETURNS . "VT_HRESULT")(PARAMS ("byAlgorithmRef" "VT_USERDEFINED.Typedef.BYTE")("bySecretRef" "VT_USERDEFINED.Typedef.BYTE")("pChallenge" "VT_PTR.IByteBuffer")("lReplyBytes" "VT_I4")("ppCmd" "VT_PTR.VT_PTR.ISCardCmd")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Compute authentication data on card using challenge data sent to card")) ((NAME . "ManageChannel") (RIID . #x00000007) (OFFSET . #x38) (RETURNS . "VT_HRESULT")(PARAMS ("byChannelState" "VT_USERDEFINED.Typedef.BYTE")("byChannel" "VT_USERDEFINED.Typedef.BYTE")("ppCmd" "VT_PTR.VT_PTR.ISCardCmd")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Open or close a logical channel")) ((NAME . "PutData") (RIID . #x00000008) (OFFSET . #x3c) (RETURNS . "VT_HRESULT")(PARAMS ("byP1" "VT_USERDEFINED.Typedef.BYTE")("byP2" "VT_USERDEFINED.Typedef.BYTE")("pData" "VT_PTR.IByteBuffer")("ppCmd" "VT_PTR.VT_PTR.ISCardCmd")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Write a primitive data object")) ((NAME . "ReadBinary") (RIID . #x00000009) (OFFSET . #x40) (RETURNS . "VT_HRESULT")(PARAMS ("byP1" "VT_USERDEFINED.Typedef.BYTE")("byP2" "VT_USERDEFINED.Typedef.BYTE")("lBytesToRead" "VT_I4")("ppCmd" "VT_PTR.VT_PTR.ISCardCmd")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Read part of the content of an EF with transparent structure")) ((NAME . "ReadRecord") (RIID . #x0000000a) (OFFSET . #x44) (RETURNS . "VT_HRESULT")(PARAMS ("byRecordId" "VT_USERDEFINED.Typedef.BYTE")("byRefCtrl" "VT_USERDEFINED.Typedef.BYTE")("lBytesToRead" "VT_I4")("ppCmd" "VT_PTR.VT_PTR.ISCardCmd")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Read contents of a specified record from an EF")) ((NAME . "SelectFile") (RIID . #x0000000b) (OFFSET . #x48) (RETURNS . "VT_HRESULT")(PARAMS ("byP1" "VT_USERDEFINED.Typedef.BYTE")("byP2" "VT_USERDEFINED.Typedef.BYTE")("pData" "VT_PTR.IByteBuffer")("lBytesToRead" "VT_I4")("ppCmd" "VT_PTR.VT_PTR.ISCardCmd")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Set a current file within a logical channel")) ((NAME . "SetDefaultClassId") (RIID . #x0000000c) (OFFSET . #x4c) (RETURNS . "VT_HRESULT")(PARAMS ("byClass" "VT_USERDEFINED.Typedef.BYTE")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Change the default class ID used in command construction")) ((NAME . "UpdateBinary") (RIID . #x0000000d) (OFFSET . #x50) (RETURNS . "VT_HRESULT")(PARAMS ("byP1" "VT_USERDEFINED.Typedef.BYTE")("byP2" "VT_USERDEFINED.Typedef.BYTE")("pData" "VT_PTR.IByteBuffer")("ppCmd" "VT_PTR.VT_PTR.ISCardCmd")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Update bits already present in an EF with command APDU bits")) ((NAME . "UpdateRecord") (RIID . #x0000000e) (OFFSET . #x54) (RETURNS . "VT_HRESULT")(PARAMS ("byRecordId" "VT_USERDEFINED.Typedef.BYTE")("byRefCtrl" "VT_USERDEFINED.Typedef.BYTE")("pData" "VT_PTR.IByteBuffer")("ppCmd" "VT_PTR.VT_PTR.ISCardCmd")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Update a specific record with the APDU bits")) ((NAME . "Verify") (RIID . #x0000000f) (OFFSET . #x58) (RETURNS . "VT_HRESULT")(PARAMS ("byRefCtrl" "VT_USERDEFINED.Typedef.BYTE")("pData" "VT_PTR.IByteBuffer")("ppCmd" "VT_PTR.VT_PTR.ISCardCmd")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Compare the verification data sent to the card with its stored reference data")) ((NAME . "WriteBinary") (RIID . #x00000010) (OFFSET . #x5c) (RETURNS . "VT_HRESULT")(PARAMS ("byP1" "VT_USERDEFINED.Typedef.BYTE")("byP2" "VT_USERDEFINED.Typedef.BYTE")("pData" "VT_PTR.IByteBuffer")("ppCmd" "VT_PTR.VT_PTR.ISCardCmd")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Write binary values into an EF")) ((NAME . "WriteRecord") (RIID . #x00000011) (OFFSET . #x60) (RETURNS . "VT_HRESULT")(PARAMS ("byRecordId" "VT_USERDEFINED.Typedef.BYTE")("byRefCtrl" "VT_USERDEFINED.Typedef.BYTE")("pData" "VT_PTR.IByteBuffer")("ppCmd" "VT_PTR.VT_PTR.ISCardCmd")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Write to the specified record in an EF")))) ("CSCard" (TYPE . "Coclass")(DESCRIPTION . "SCard Class")(GUID . "{1461AAC7-6810-11D0-918F-00AA00C18068}")(ALIASES "ISCard") (FUNCTIONS )) ("ISCard" (TYPE . "Interface")(DESCRIPTION . "ISCard Interface")(GUID . "{1461AAC3-6810-11D0-918F-00AA00C18068}")(FUNCTIONS ((NAME . "Atr") (RIID . #x00000000) (OFFSET . #x1c) (RETURNS . "VT_HRESULT")(PARAMS ("ppAtr" "VT_PTR.VT_PTR.IByteBuffer")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Retrieve the ATR string for the Smart Card")) ((NAME . "CardHandle") (RIID . #x00000001) (OFFSET . #x20) (RETURNS . "VT_HRESULT")(PARAMS ("pHandle" "VT_PTR.HSCARD")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Retrieve the current card handle.")) ((NAME . "Context") (RIID . #x00000002) (OFFSET . #x24) (RETURNS . "VT_HRESULT")(PARAMS ("pContext" "VT_PTR.HSCARDCONTEXT")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Retrieve the current context handle.")) ((NAME . "Protocol") (RIID . #x00000003) (OFFSET . #x28) (RETURNS . "VT_HRESULT")(PARAMS ("pProtocol" "VT_PTR.SCARD_PROTOCOLS")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Retrieve the protocol in use on the Smart Card")) ((NAME . "Status") (RIID . #x00000004) (OFFSET . #x2c) (RETURNS . "VT_HRESULT")(PARAMS ("pStatus" "VT_PTR.SCARD_STATES")) (FLAGS ( RETURNS-IN-LAST IS-GET ))(DESCRIPTION . "Retrieve the current state that the Smart Card is in")) ((NAME . "AttachByHandle") (RIID . #x00000005) (OFFSET . #x30) (RETURNS . "VT_HRESULT")(PARAMS ("hCard" "VT_USERDEFINED.Typedef.HSCARD")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Attach an open SCard handle to this object")) ((NAME . "AttachByReader") (RIID . #x00000006) (OFFSET . #x34) (RETURNS . "VT_HRESULT")(PARAMS ("bstrReaderName" "VT_BSTR")("ShareMode" "VT_USERDEFINED.Typedef.SCARD_SHARE_MODES")("PrefProtocol" "VT_USERDEFINED.Typedef.SCARD_PROTOCOLS")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Open a connection to a card in the named reader")) ((NAME . "Detach") (RIID . #x00000007) (OFFSET . #x38) (RETURNS . "VT_HRESULT")(PARAMS ("Disposition" "VT_USERDEFINED.Typedef.SCARD_DISPOSITIONS")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Close a connection to an open card")) ((NAME . "LockSCard") (RIID . #x00000008) (OFFSET . #x3c) (RETURNS . "VT_HRESULT")(PARAMS ) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Acquire exclusive access and use of the open Smart Card")) ((NAME . "ReAttach") (RIID . #x00000009) (OFFSET . #x40) (RETURNS . "VT_HRESULT")(PARAMS ("ShareMode" "VT_USERDEFINED.Typedef.SCARD_SHARE_MODES")("InitState" "VT_USERDEFINED.Typedef.SCARD_DISPOSITIONS")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Reattach an existing connection to an in use Smart Card ")) ((NAME . "Transaction") (RIID . #x0000000a) (OFFSET . #x44) (RETURNS . "VT_HRESULT")(PARAMS ("ppCmd" "VT_PTR.VT_PTR.ISCardCmd")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Execute a card transaction with a card command interface")) ((NAME . "UnlockSCard") (RIID . #x0000000b) (OFFSET . #x48) (RETURNS . "VT_HRESULT")(PARAMS ("Disposition" "VT_USERDEFINED.Typedef.SCARD_DISPOSITIONS")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Release the exclusive access lock on the Smart Card")))) ("HSCARD" (TYPE . "Typedef")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("HSCARDCONTEXT" (TYPE . "Typedef")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("SCARD_PROTOCOLS" (TYPE . "Typedef")(DESCRIPTION . "SCard Protocols")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagSCARD_PROTOCOLS" (TYPE . "Enum")(DESCRIPTION . "SCard Protocols")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("SCARD_STATES" (TYPE . "Typedef")(DESCRIPTION . "SCard States")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagSCARD_STATES" (TYPE . "Enum")(DESCRIPTION . "SCard States")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("SCARD_SHARE_MODES" (TYPE . "Typedef")(DESCRIPTION . "SCard Share Modes")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagSCARD_SHARE_MODES" (TYPE . "Enum")(DESCRIPTION . "SCard Share Modes")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("SCARD_DISPOSITIONS" (TYPE . "Typedef")(DESCRIPTION . "SCard Dispositions")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagSCARD_DISPOSITIONS" (TYPE . "Enum")(DESCRIPTION . "SCard Dispositions")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("CSCardDatabase" (TYPE . "Coclass")(DESCRIPTION . "SCardDatabase Class")(GUID . "{1461AACC-6810-11D0-918F-00AA00C18068}")(ALIASES "ISCardDatabase") (FUNCTIONS )) ("ISCardDatabase" (TYPE . "Interface")(DESCRIPTION . "ISCardDatabase Interface")(GUID . "{1461AAC8-6810-11D0-918F-00AA00C18068}")(FUNCTIONS ((NAME . "GetProviderCardId") (RIID . #x00000000) (OFFSET . #x1c) (RETURNS . "VT_HRESULT")(PARAMS ("bstrCardName" "VT_BSTR")("ppguidProviderId" "VT_PTR.VT_PTR.GUID")) (FLAGS ( RETURNS-IN-LAST IS-FUNCTION ))(DESCRIPTION . "Retrieve the provider ID for the named card")) ((NAME . "ListCardInterfaces") (RIID . #x00000001) (OFFSET . #x20) (RETURNS . "VT_HRESULT")(PARAMS ("bstrCardName" "VT_BSTR")("ppInterfaceGuids" "VT_PTR.wirePSAFEARRAY")) (FLAGS ( RETURNS-IN-LAST IS-FUNCTION ))(DESCRIPTION . "Retrieve a list of the interfaces (GUIDs) for the named card")) ((NAME . "ListCards") (RIID . #x00000002) (OFFSET . #x24) (RETURNS . "VT_HRESULT")(PARAMS ("pAtr" "VT_PTR.IByteBuffer")("pInterfaceGuids" "VT_USERDEFINED.Typedef.wirePSAFEARRAY")("localeId" "VT_I4")("ppCardNames" "VT_PTR.wirePSAFEARRAY")) (FLAGS ( RETURNS-IN-LAST IS-FUNCTION ))(DESCRIPTION . "Retrieve a list of the names of the defined cards")) ((NAME . "ListReaderGroups") (RIID . #x00000003) (OFFSET . #x28) (RETURNS . "VT_HRESULT")(PARAMS ("localeId" "VT_I4")("ppReaderGroups" "VT_PTR.wirePSAFEARRAY")) (FLAGS ( RETURNS-IN-LAST IS-FUNCTION ))(DESCRIPTION . "Retrieve a list of the names of the defined card reader groups")) ((NAME . "ListReaders") (RIID . #x00000004) (OFFSET . #x2c) (RETURNS . "VT_HRESULT")(PARAMS ("localeId" "VT_I4")("ppReaders" "VT_PTR.wirePSAFEARRAY")) (FLAGS ( RETURNS-IN-LAST IS-FUNCTION ))(DESCRIPTION . "Retrieve a list of the names of the defined card readers")))) ("CSCardLocate" (TYPE . "Coclass")(DESCRIPTION . "SCardLocate Class")(GUID . "{1461AAD1-6810-11D0-918F-00AA00C18068}")(ALIASES "ISCardLocate") (FUNCTIONS )) ("ISCardLocate" (TYPE . "Interface")(DESCRIPTION . "ISCardLocate Interface")(GUID . "{1461AACD-6810-11D0-918F-00AA00C18068}")(FUNCTIONS ((NAME . "ConfigureCardGuidSearch") (RIID . #x00000000) (OFFSET . #x1c) (RETURNS . "VT_HRESULT")(PARAMS ("pCardGuids" "VT_USERDEFINED.Typedef.wirePSAFEARRAY")("pGroupNames" "VT_USERDEFINED.Typedef.wirePSAFEARRAY")("bstrTitle" "VT_BSTR")("lFlags" "VT_I4")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Configure the search based on the card GUIDs")) ((NAME . "ConfigureCardNameSearch") (RIID . #x00000001) (OFFSET . #x20) (RETURNS . "VT_HRESULT")(PARAMS ("pCardNames" "VT_USERDEFINED.Typedef.wirePSAFEARRAY")("pGroupNames" "VT_USERDEFINED.Typedef.wirePSAFEARRAY")("bstrTitle" "VT_BSTR")("lFlags" "VT_I4")) (FLAGS ( IS-FUNCTION ))(DESCRIPTION . "Configure the search based on card names")) ((NAME . "FindCard") (RIID . #x00000002) (OFFSET . #x24) (RETURNS . "VT_HRESULT")(PARAMS ("ShareMode" "VT_USERDEFINED.Typedef.SCARD_SHARE_MODES")("Protocols" "VT_USERDEFINED.Typedef.SCARD_PROTOCOLS")("lFlags" "VT_I4")("ppCardInfo" "VT_PTR.VT_PTR.SCARDINFO")) (FLAGS ( RETURNS-IN-LAST IS-FUNCTION ))(DESCRIPTION . "Find and open a connection to the named Smart Card")))) ("SCARDINFO" (TYPE . "Typedef")(DESCRIPTION . "FindCard returned information structure.")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) ("tagSCARDINFO" (TYPE . "Structure")(DESCRIPTION . "FindCard returned information structure.")(GUID . "{00000000-0000-0000-0000-000000000000}")(FUNCTIONS )) )))