3.2.5.2.1.4 INtmsLibraryControl1::CleanNtmsDrive (Opnum 6)

The CleanNtmsDrive method queues a cleaning request for a drive.

 HRESULT CleanNtmsDrive(
   [in] LPNTMS_GUID lpDriveId
 );

lpDriveId: A pointer to the identifier of a drive.

Return value/code

Description

0x00000000

S_OK

The call was successful.

0x80070005

ERROR_ACCESS_DENIED

Access to an object was denied.

0x80070008

ERROR_NOT_ENOUGH_MEMORY

An allocation failure occurred during processing.

0x8007000F

ERROR_INVALID_DRIVE

The drive identifier is not valid.

0x80070057

ERROR_INVALID_PARAMETER

A parameter is not valid.

0x800710CD

ERROR_INVALID_LIBRARY

The library identifier is not valid.

0x800710D5

ERROR_RESOURCE_DISABLED

The resource required for this operation is disabled.

0x800710D9

ERROR_DATABASE_FAILURE

The database query or update failed.

0x800710DA

ERROR_DATABASE_FULL

The database is full.

0x800710DC

ERROR_RESOURCE_NOT_PRESENT

The resource that is required for this operation does not exist.

0x800710DF

ERROR_DEVICE_NOT_AVAILABLE

The device is not available; it might be disabled or offline.

Upon receiving this message, the server MUST verify that lpDriveId is not NULL. If it is NULL, the server MUST immediately fail the operation and return ERROR_INVALID_PARAMETER (0x80070057).

If the parameter validation succeeds, the server MUST check the access to the library and verify that the library is enabled and online before making the call. If the client does not have the required access rights, NTMS_CONTROL_ACCESS to the library is denied and the server MUST return ERROR_ACCESS_DENIED (0x80070005). Other security errors are possible, but they indicate a security subsystem error. If the library is disabled, the server MUST return ERROR_RESOURCE_DISABLED (0x800710D5). If the library is offline, the server MUST return ERROR_RESOURCE_NOT_PRESENT (0x800710DC).

If the drive selected in the CleanNtmsDrive method is a stand-alone drive, the drive MUST be marked as cleaned and the time is noted in the server database; otherwise, the server MUST check for a cleaner and issue an operator request to mount one.

On completion of an asynchronous operation, notification will be sent with the identifier lpDriveId.