ISCardTypeConv::GetAtIStreamMemory 方法

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

GetAtIStreamMemory 方法获取指向由 IStream COM 接口管理的 HGLOBAL 内存块的字节指针。

这是一种获取 IStream 下的内存的方法,无需获取内存块的大小值(以字节为单位)并使用 IStream 接口将字节读入临时字节数组。

语法

HRESULT GetAtIStreamMemory(
  [in]  LPSTREAM    pStrm,
  [out] LPBYTEARRAY *ppMem
);

parameters

pStrm [in]

指向管理 HGLOBAL 内存块的 IStream COM 接口的指针。

ppMem [out]

指向 HGLOBAL 内存块的第一个字节(如果成功)的指针;else,如果操作失败, 则为 NULL

返回值

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

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

 

备注

对于获取的每个 ppMem 指针,IStream 引用计数将递增。

要求

要求
最低受支持的客户端
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

智能卡返回值