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 [仅限桌面应用] |
标头 |
|