Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Cancels the current command execution.
Syntax
HRESULT Cancel();
Parameters
None.
Return Code
S_OK
The method succeeded.The command was not executing.
E_FAIL
A provider-specific error occurred.DB_E_CANTCANCEL
The executing command cannot be canceled.
Comments
ICommand::Cancel may be called on a separate thread after ICommand::Execute has been called and before the method has returned. If the executing command can be canceled, the method returns S_OK and Execute returns DB_E_CANCELED. If the executing command cannot be canceled, Cancel returns DB_E_CANTCANCEL and Execute continues. If the Execute method has not been called or has already returned, the method returns S_OK.
If the DBPROPVAL_ASYNCH_INITIALIZE bit in the DBPROP_ROWSET_ASYNCH property has been set prior to execution of the command, ICommand::Execute may return with DB_S_ASYNCHRONOUS before the command has fully executed. Calling ICommand::Cancel after the Execute method has returned has no effect on any asynchronously executing commands. Once the Execute method has returned DB_S_ASYNCHRONOUS, the command can be canceled only by calling IDBAsynchStatus::Abort on the returned object.