从设备检索指定的模式页。
语法
HRESULT GetModePage(
  [in]  IMAPI_MODE_PAGE_TYPE         requestedModePage,
  [in]  IMAPI_MODE_PAGE_REQUEST_TYPE requestType,
  [out] BYTE                         **modePageData,
  [out] ULONG_IMAPI2_MODE_PAGE       *byteSize
);
parameters
[in] requestedModePage
要检索的模式页。 有关可能的值,请参阅 IMAPI_MODE_PAGE_TYPE 枚举类型。
[in] requestType
要检索的模式页数据的类型,例如,当前设置或启用写入的设置。 有关可能的值,请参阅 IMAPI_MODE_PAGE_REQUEST_TYPE 枚举类型。
[out] modePageData
包含模式页的数据缓冲区。 有关数据缓冲区内容的详细信息,请参阅 ftp://ftp.t10.org/t10/drafts/mmc5 中 MMC 规范的最新版本中的 MODE SENSE (10 ) 命令。
此方法在返回缓冲区之前删除标头信息和其他非页数据。
完成后,调用 CoTaskMemFree 函数以释放内存。
[out] byteSize
modePageData 数据缓冲区的大小(以字节为单位)。
返回值
S_OK成功后返回,但其他成功代码可能由于实现而返回。 以下错误代码通常在操作失败时返回,但不表示唯一可能的错误值:
| 返回代码 | 说明 | 
|---|---|
  | 
一个或多个参数无效。
 值:0x80070057  | 
  | 
指针无效。
 值:0x80004003  | 
  | 
未知故障。
 值:0x80004005  | 
  | 
未能分配所需的内存。
 值:0x8007000E  | 
  | 
设备未能在超时期限内接受命令。 这可能是由于设备进入了不一致状态,或者可能需要增加命令的超时值。
 值:0xC0AA020D  | 
  | 
设备报告了命令的意外或无效数据。
 值:0xC0AA02FF  | 
  | 
媒体是倒置插入的。
 值:0xC0AA0204  | 
  | 
驱动器报告它正在准备就绪。 请稍后重试请求。
 值:0xC0AA0205  | 
  | 
设备中没有媒体。
 值:0xC0AA0202  | 
  | 
媒体当前正在格式化。 请等待格式完成,然后再尝试使用媒体。
 值:0xC0AA0206  | 
  | 
驱动器报告它正在执行长时间运行的操作,例如完成写入。 驱动器可能长时间不可用。
 值:0xC0AA0207  | 
  | 
写入失败,因为驱动器接收数据的速度不够快,无法继续写入。 将源数据移动到本地计算机、降低写入速度或启用“缓冲区不足可用”设置可以解决此问题。
 值:0xC0AA0300  | 
  | 
媒体不兼容或物理格式未知。
 值:0xC0AA0203  | 
  | 
不存在 DVD 结构。 这可能是由于使用的驱动器/介质不兼容造成的。
 值:0xC0AA020E  | 
  | 
设备报告请求的模式页 (不存在,类型) 不存在。
 值:0xC0AA0201  | 
  | 
驱动器报告不支持 MODE SELECT 命令的模式页中提供的参数组合。
 值:0xC0AA0208  | 
  | 
驱动器报告媒体受到写入保护。
 值:0xC0AA0209  | 
  | 
媒体的速度与设备不兼容。 这可能是由于使用高于或低于设备支持的速度范围的媒体造成的。
 值:0xC0AA020F  | 
  | 
指定的句柄无效。
 值:6  | 
  | 
指定的网络资源或设备不再可用。
 值:55  | 
  | 
上次操作期间与此记录器关联的设备已被独占锁定,导致此操作失败。
 值:0xC0AA0210  | 
  | 
设备报告请求的模式页 (不存在,类型) 不存在。
 值:0xC0AA0201  | 
要求
| 最低受支持的客户端 | Windows Vista、Windows XP 和 SP2 [仅限桌面应用] | 
| 最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] | 
| 目标平台 | Windows | 
| 标头 | imapi2.h | 
另请参阅
IDiscRecorder2Ex::GetSupportedModePages
IMAPI_MODE_PAGE_TYPE