Microsoft DirectX 8.1 (C++) |
The GetCurrentUOPS method retrieves a set of flags indicating which navigation commands, if any, the content authors have explicitly disabled for the current disc location.
Syntax
HRESULT GetCurrentUOPS(
ULONG *pulUOPs
);
Parameters
pulUOPs
[out] Pointer to a variable of type ULONG that is a bitwise OR of VALID_UOP_FLAG values. Each bit represents the state (valid or not valid) of a user operation (UOP). If the bit is set, then that user operation is prohibited. See Remarks.
Return Values
Returns one of the following HRESULT values.
Return code | Description |
S_OK | Success. |
E_POINTER | pulUOPs is not a valid pointer. |
Remarks
DVD authors can insert UOP commands at almost any place on the disc to disallow a navigation command that would otherwise be permitted within the current DVD domain. In other words, UOP commands enable disc authors to override the usual navigation permissions.
A DVD player application should normally never have to use this method because the DVD Navigator automatically checks all UOP permissions before proceeding with any command, and will return VFW_E_DVD_OPERATION_INHIBITED from any method if the command is invalid under the current UOP. If your application needs to track the current UOP permissions itself, you can call GetCurrentUOPS whenever the current UOP permissions are required, or you can handle the EC_DVD_VALID_UOPS_CHANGE event notification in your message loop and retrieve the UOP information from the lParam1 parameter. The latter approach is generally more efficient.
See Also