ISCardTypeConv::ConvertSafeArrayToByteBuffer 方法

[ ConvertSafeArrayToByteBuffer 方法可用于“要求”部分中指定的操作系统。 它不适用于 Windows Server 2003 Service Pack 1 (SP1) 及更高版本、Windows Vista、Windows Server 2008 和操作系统的后续版本。 智能卡模块提供类似的功能。]

ConvertSafeArrayToByteBuffer 方法将定义为 SAFEARRAY 的字节数组转换为 IStream 对象) (字节的通用缓冲区。

创建的字节缓冲区是在内存块上映射的流。 若要访问或管理缓冲区,请使用 IStream 接口提供的方法。 此数组实现的一个独特功能是,在调用 IStream::Release 方法时,将释放基础内存。

语法

HRESULT ConvertSafeArrayToByteBuffer(
  [in]  LPSAFEARRAY  pbyArray,
  [out] LPBYTEBUFFER *ppbyBuff
);

parameters

pbyArray [in]

指向要转换的 SAFEARRAY 的指针。

ppbyBuff [out]

指向要返回的 IStream 对象的指针。

返回值

方法返回以下可能值之一:

返回代码 说明
S_OK
已成功分配内存。
E_INVALIDARG
传入函数的一个或多个参数有问题。
E_POINTER
指针类型的参数不正确。
E_OUTOFMEMORY
可用内存不足,无法满足请求。

 

备注

分配的内存是可移动的。 使用 IStream::Release 方法释放内存。

要求

要求
最低受支持的客户端
Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
客户端支持终止
Windows XP
终止服务器支持
Windows Server 2003
标头
Scarddat.h
类型库
Scarddat.tlb
DLL
Scardssp.dll
IID
IID_ISCardTypeConv定义为 53B6AA63-3F56-11D0-916B-00AA00C18068

另请参阅

ISCardTypeConv

智能卡返回值