DVDGetDriveStatus

C Specification

#include <revolution/dvd.h>
s32 DVDGetDriveStatus(void);

Arguments

None.

Return Values

DVD_STATE_FATAL_ERROR A fatal error occurred.
DVD_STATE_END Request complete or no request.
DVD_STATE_BUSY The request is currently processing.
DVD_STATE_NO_DISK No disk in the drive.
DVD_STATE_WRONG_DISK Wrong disk in the drive.
DVD_STATE_MOTOR_STOPPED Motor stopped.
DVD_STATE_PAUSING The device driver is paused using the DVDPause function.
DVD_STATE_RETRY Retry error occurred.

Note: The error message DVD_STATE_COVER_OPEN used in GameCube was deleted.

Note: If the release version of the DVD library is used and the DVDFileInfo structure is accidently used in a program, DVD_STATE_WAITING may be returned. This situation can occur if the DVDFileInfo structure is reused in a new DVD command similar to the current DVD transfer. In the debug version of the library, this case causes an assert error.

Description

Gets the current status of the drive. In the case that a DVD request is currently executing, this function is the same as specifying the command block of this request using the DVDGetCommandBlockStatus function. Depending on the pause state of the device driver and if no outstanding requests exist, the DVDGetDriveStatus function returns DVD_STATE_END or DVD_STATE_PAUSING. For more information about the pause state, see the DVDPause function.

If this function is called in a callback, it returns DVD_STATE_END even if requests exist in the queue. This return code is returned because the previous request has completed processing but the next request in the queue has not yet started processing.

If no DVD command is processing, this function returns DVD_STATE_END or DVD_STATE_PAUSING. If no DVD command is currently processing, the DVDGetDriveStatus function will not return an error even if the player removes the disc.

These statuses (no disc, wrong disc, etc.) are returned only if a DVD command is processing, but can’t complete because of these statuses.

See Also

DVDGetCommandBlockStatus

Revision History

03/01/2006 Initial version.