banner art

Previous Next


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


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



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


[in] Reserved for future use.


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


[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   L"file://"

                    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;

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


Header: datacontainer.h.

Library: WMSServerTypeLib.dll.

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

See Also

Previous Next