MCI_RESERVE 命令

MCI_RESERVE 命令为设备驱动程序实例的工作区分配连续磁盘空间,以便用于后续录制。 数字视频设备可识别此命令。

若要发送此命令,请使用以下参数调用 mciSendCommand 函数。

MCIERROR mciSendCommand(
  MCIDEVICEID wDeviceID, 
  MCI_RESERVE, 
  DWORD dwFlags, 
  (DWORD) (LPMCI_DGV_RESERVE_PARMS) lpReserve
);

parameters

wDeviceID

要接收命令消息的 MCI 设备的设备标识符。

dwFlags

MCI_NOTIFY、MCI_WAIT或MCI_TEST。 有关这些标志的信息,请参阅 等待、通知和测试标志

lpReserve

指向 MCI_DGV_RESERVE_PARMS 结构的指针。

返回值

如果成功,则返回零,否则返回错误。

备注

如果工作区包含未保存的数据,则此数据将丢失。 如果在录制之前未保留磁盘空间, 则 MCI_RECORD 命令使用特定于设备的默认参数执行隐式保留。 在某些实现中,不需要保留,设备驱动程序可能会忽略保留。 通过显式预留空间,可以更好地控制磁盘分配延迟的发生时间、分配的空间量以及分配磁盘空间的位置。 可以通过再次发出MCI_RESERVE来更改已为此设备实例保留的磁盘空间量和位置。 在保存任何记录的数据或关闭设备驱动程序实例之前,不会解除分配任何已分配和仍然未使用的磁盘空间。

如果使用 MCI_SETVIDEO 命令的MCI_OFF标志关闭视频,则保留的空间不包括任何视频。 如果使用 MCI_SETAUDIO 命令的 MCI_OFF标志关闭音频,则保留的空间不包括任何音频。 如果音频和视频都已关闭,或者请求的大小为零,则不保留任何空间,并且将解除分配任何现有的保留空间。

以下附加标志适用于数字视频设备:

MCI_DGV_RESERVE_IN

lpReserve 标识的结构的 lpstrPath 成员包含包含临时文件位置的缓冲区的地址。 缓冲区仅包含用于保存记录数据的文件的驱动器和目录路径;文件名由设备驱动程序指定。 关闭设备实例时,除非显式保存,否则会删除此临时文件。 如果省略此标志,则设备驱动程序将指定磁盘空间的分配位置。

MCI_DGV_RESERVE_SIZE

由 lpReserve 标识的结构的 dwSize 成员指定要在工作区中保留用于记录的大致磁盘空间量。 该值以当前时间格式指定。 磁盘空间量是从请求的时间以及文件格式、视频和音频算法以及质量值生效的时间估算的。 如果省略此标志,设备驱动程序可能会使用它定义的默认值。

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Mmsystem.h (包括 Windows.h)

另请参阅

Mci

MCI 命令