Share via


IWMSDataSourcePlugin::DeleteDataContainer

banner art

Previous Next

IWMSDataSourcePlugin::DeleteDataContainer

The server calls the DeleteDataContainer method to delete a data container.

Syntax

  HRESULT DeleteDataContainer(
  LPWSTR  pszContainerName,
  DWORD  dwFlags,
  IWMSDataSourcePluginCallback*  pCallback,
  QWORD  qwContext
);

Parameters

pszContainerName

[in] Pointer to a null-terminated string containing the name of the container.

dwFlags

[in] Reserved for future use.

pCallback

[in] Pointer to an IWMSDataSourcePluginCallback interface. The plug-in calls IWMSDataSourcePluginCallback::OnDeleteDataContainer to return results to the server.

qwContext

[in] QWORD containing a value defined by the server to identify which DeleteDataContainer request the plug-in is responding to when it calls IWMSDataSourcePluginCallback::OnDeleteDataContainer. The plug-in must pass this value back unaltered.

Return Values

If the method succeeds, the plug-in must return S_OK. To report an error, the plug-in can return any HRESULT other than S_OK. If the plug-in uses the IWMSEventLog interface to log error information directly to the Windows Event Viewer, it is recommended that it return NS_E_PLUGIN_ERROR_REPORTED. Typically, the server attempts to make plug-in error information available to the server object model, the Windows Event Viewer, and the troubleshooting list in the details pane of the Windows Media Services MMC. However, if the plug-in uses the IWMSEventLog interface to send custom error information to the Windows Event Viewer, returning NS_E_PLUGIN_ERROR_REPORTED stops the server from also logging to the event viewer. For more information about retrieving plug-in error information, see Identifying Plug-in Errors.

Example Code

The following example illustrates a possible implementation of DeleteDataContainer for an NTFS data source plug-in.

#define URL_SCHEME_LENGTH   7
#define URL_SCHEME   L"file://"

HRESULT STDMETHODCALLTYPE 
CDataSourcePlugin::DeleteDataContainer( 
                    LPWSTR pszContainerName,
                    DWORD dwFlags,
                    IWMSDataSourcePluginCallback *pCallback,
                    QWORD qwContext
                    )
{
    // Declare variables.
    HRESULT hr = S_OK;
    BOOL fSuccess;
    LPWSTR pszNtfsPathname = NULL;

    // Specify the path name and delete the file. Drop
    // the scheme type from the path name.
    pszNtfsPathname = pszContainerName + URL_SCHEME_LENGTH;
    fSuccess = DeleteFile( pszNtfsPathname );

    // Return the result to the server.
    hr = pCallback->OnDeleteDataContainer( hr, qwContext );
    if (FAILED(hr)) goto EXIT;

EXIT:
    // TODO: Release temporary objects.
    return( hr );
}

Requirements

Header: datacontainer.h.

Library: WMSServerTypeLib.dll.

Platform: Windows Server 2003, Enterprise Edition; Windows Server 2003, Datacenter Edition; Windows Server 2008.

See Also

Previous Next