IPortableDeviceResources::GetStream 方法 (portabledeviceapi.h)

GetStream 方法获取 IStream 接口,用于读取或写入设备上的 对象中的内容数据。 检索到的接口使你能够读取或写入对象数据。

语法

HRESULT GetStream(
  [in]      LPCWSTR        pszObjectID,
  [in]      REFPROPERTYKEY Key,
  [in]      const DWORD    dwMode,
  [in, out] DWORD          *pdwOptimalBufferSize,
  [out]     IStream        **ppStream
);

参数

[in] pszObjectID

指向以 null 结尾的字符串的指针,该字符串包含对象的对象 ID。

[in] Key

一个 REFPROPERTYKEY ,指定要读取的资源。 可以通过调用 GetSupportedResources 来检索对象的所有资源的键。

[in] dwMode

以下访问模式之一:

  • STGM_READ (只读 access.)
  • STGM_WRITE (只写访问。)
  • STGM_READWRITE (读/写 access.)

[in, out] pdwOptimalBufferSize

指向 DWORD 的可选指针,指定在使用 ppStream 读取或写入数据时要使用的最佳缓冲区大小的估计值。 需要驱动程序才能支持此值。

[out] ppStream

指向 IStream 接口指针的指针。 此接口用于将数据读取和写入对象。 调用方在使用完此接口后必须释放此接口。

返回值

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
方法成功。
E_POINTER
至少一个必需的指针参数为 NULL

注解

检索的流无法以递归方式读取文件夹的内容。 若要复制对象中的所有资源,请为 Key 指定WPD_RESOURCE_DEFAULT

如果对象不支持资源,此方法将返回错误, ppStream 将为 NULL

为读取或写入操作分配缓冲区时,应用程序应使用 pdwOptimalBufferSize 返回的缓冲区大小。

要求

要求
目标平台 Windows
标头 portabledeviceapi.h
Library PortableDeviceGUIDs.lib

另请参阅

IPortableDeviceResources 接口