IExpressionStore::DeleteExpression
Use this method to delete an existing expression from the expression store.
Definition
HRESULT IExpressionStore::DeleteExpression(longnExprID,longflags);
Parameters
nExprID
[in] A long that specifies the expression to be deleted.
flags
[in] A long that contains the optional control flags. This parameter is currently unused and should be set to zero (0).
Return Values
This method returns an HRESULT indicating whether or not it completed successfully. See the Error Values section for more details.
Error Values
This method returns S_OK (0x00000000) to indicate success and either standard or custom COM HRESULT error values to indicate failure. For more information about standard COM errors, see Standard COM Errors.
The following table shows the custom COM errors that this method can return.
Constant | Value | Description |
E_EXPR_BADCONNECTION | 0x8110001F | Invalid connection |
E_EXPR_BADEXPRID | 0x8110000A | Invalid expression ID specified, or expression ID not found in store |
E_EXPR_EXPRDELFAILED | 0x81100010 | Delete operation failed, possibly due to other expressions having dependencies on this expression |
E_EXPR_NOCONNECTIONSTRING | 0x8110000D | No connection string specified |
Additional information may be available using the global Err object, which can be accessed using the API function GetErrorInfo. In particular, the GetDescription method of the IErrorInfo interface may return a text description of the error.
Remarks
If the specified expression has a non-zero reference count, meaning that other expressions depend on the specified expression, the expression is not deleted.
Call the Connect method before calling the DeleteExpression method.