Funzione DetachVirtualDisk (virtdisk.h)
Scollega un disco rigido virtuale (VHD) o un file di immagine CD o DVD (ISO) individuando un provider di dischi virtuali appropriato per eseguire l'operazione.
Sintassi
DWORD DetachVirtualDisk(
[in] HANDLE VirtualDiskHandle,
[in] DETACH_VIRTUAL_DISK_FLAG Flags,
[in] ULONG ProviderSpecificFlags
);
Parametri
[in] VirtualDiskHandle
Handle per un disco virtuale aperto, che deve essere stato aperto usando il flag VIRTUAL_DISK_ACCESS_DETACH impostato nel parametro VirtualDiskAccessMask sulla funzione OpenVirtualDisk . Per informazioni su come aprire un disco virtuale, vedere la funzione OpenVirtualDisk .
[in] Flags
Combinazione valida di valori dell'enumerazione DETACH_VIRTUAL_DISK_FLAG .
[in] ProviderSpecificFlags
Flag specifici del tipo di disco virtuale da scollegare. Può essere zero se non è necessario alcuno.
Valore restituito
Stato della richiesta.
Se la funzione ha esito positivo, il valore restituito viene ERROR_SUCCESS.
Se la funzione ha esito negativo, il valore restituito è un codice di errore. Per altre informazioni, vedere Codici di errore di sistema.
Commenti
Se la funzione DetachVirtualDisk ha esito negativo con un valore di codice di errore di ERROR_INVALID_PARAMETER, la causa può essere dovuta a una delle condizioni seguenti:
- Il parametro VirtualDiskHandle non è un handle valido creato dalla funzione OpenVirtualDisk .
- Il parametro Flags è impostato su un valore diverso da DETACH_VIRTUAL_DISK_FLAG_NONE (0).
Tutti gli altri handle aperti per il disco virtuale devono essere chiusi prima che la funzione DetachVirtualDisk possa avere esito positivo.
Se il disco virtuale è collegato e un altro handle usato per collegarlo è stato chiuso, perché è stato specificato il flag ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME . In questo caso, la funzione DetachVirtualDisk può avere esito positivo, ma il disco rigido virtuale rimarrà collegato. Se il ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME non è stato specificato, il disco virtuale verrà scollegato automaticamente alla chiusura dell'ultimo handle aperto.
Questa funzione avrà esito negativo se non è possibile trovare un provider, se il file di immagine non è valido, se l'immagine non è collegata o se il chiamante non dispone di diritti di accesso SE_MANAGE_VOLUME_PRIVILEGE in un sistema operativo Windows Server. Per altre informazioni sulla sicurezza dei file, vedere Protezione file e diritti di accesso.
I file di immagine CD e DVD (ISO) non sono supportati prima di Windows 8 e Windows Server 2012.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7 |
Server minimo supportato | Windows Server 2008 R2 |
Piattaforma di destinazione | Windows |
Intestazione | virtdisk.h |
Libreria | VirtDisk.lib |
DLL | VirtDisk.dll |