Share via


IWMSDataSourcePlugin::DeleteDirectory

banner art

Previous Next

IWMSDataSourcePlugin::DeleteDirectory

The server calls the DeleteDirectory method to remove a directory data container.

Syntax

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

Parameters

pszContainerName

[in] Pointer to a null-terminated string containing the directory path.

dwFlags

[in] DWORD containing the flags.

pCallback

[in] Pointer to an IWMSDataSourcePluginCallback interface. The plug-in calls IWMSDataSourcePluginCallback::OnDeleteDirectory to return a result to the server.

qwContext

[in] QWORD containing a value defined by the server to identify which DeleteDirectory request the plug-in is responding to when it calls IWMSDataSourcePluginCallback::OnDeleteDirectory. 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 DeleteDirectory for an NTFS data source plug-in.

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

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

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

    // Return the result to the server.
    hr = pCallback->OnDeleteDirectory( 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