Metodo IVdsOpenVDisk::Attach (vds.h)

[A partire da Windows 8 e Windows Server 2012, l'interfaccia COM del servizio disco virtuale viene sostituita dall'API gestione archiviazione di Windows.]

Collega un disco virtuale.

Sintassi

HRESULT Attach(
  [in]  LPWSTR                   pStringSecurityDescriptor,
  [in]  ATTACH_VIRTUAL_DISK_FLAG Flags,
  [in]  ULONG                    ProviderSpecificFlags,
  [in]  ULONG                    TimeoutInMs,
  [out] IVdsAsync                **ppAsync
);

Parametri

[in] pStringSecurityDescriptor

Stringa contenente il descrittore di sicurezza per il disco virtuale. Se non specificato, il descrittore di sicurezza in uso è: "D:P(A;; ; GA;;; WD)" in Windows 7 e "D:P(A;; GA;;; WD)(A;; GA;;; AC)" in Windows 8.1 e versioni successive.

[in] Flags

Maschera di bit di ATTACH_VIRTUAL_DISK_FLAG valori di enumerazione che specificano la modalità di collegamento del disco virtuale. Di seguito sono indicati alcuni valori possibili.

Valore Significato
ATTACH_VIRTUAL_DISK_FLAG_NONE
0x00000000
Nessun flag specificato.
ATTACH_VIRTUAL_DISK_FLAG_READ_ONLY
0x00000001
Collegare il disco virtuale come di sola lettura.
ATTACH_VIRTUAL_DISK_FLAG_NO_DRIVE_LETTER
0x00000002
Montare tutti i volumi sul disco virtuale collegato senza assegnarvi lettere di unità.
ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME
0x00000004
Il servizio VDS imposta automaticamente questo flag in modo che il disco rigido virtuale rimanga collegato fino a quando non viene chiamato il metodo IVdsOpenVDisk::D etach per scollegarlo.
ATTACH_VIRTUAL_DISK_FLAG_NO_LOCAL_HOST
0x00000008
Riservato. Non usare.

[in] ProviderSpecificFlags

Maschera di bit di flag specifici del tipo di disco virtuale collegato. Questi flag sono specifici del provider. Per il provider di dischi virtuali Microsoft, questo parametro deve essere zero.

[in] TimeoutInMs

Questo parametro è riservato per usi futuri.

[out] ppAsync

Puntatore a un'interfaccia IVdsAsync che al completamento riceve l'interfaccia IVdsAsync per monitorare e controllare questa operazione. I chiamanti devono rilasciare l'interfaccia ricevuta al termine dell'operazione. Se il metodo IVdsAsync::Wait viene chiamato sull'interfaccia e viene restituito un valore HRESULT riuscito, le interfacce restituite nella struttura VDS_ASYNC_OUTPUT devono essere rilasciate chiamando il metodo IUnknown::Release su ogni puntatore di interfaccia. Tuttavia, se Wait restituisce un valore HRESULT non riuscito o se il parametro pHrResult di Wait riceve un valore HRESULT non riuscito, i puntatori di interfaccia nella struttura VDS_ASYNC_OUTPUT sono NULL e non devono essere rilasciati. È possibile verificare l'esito positivo o negativo dei valori HRESULT usando le macro SUCCEEDED e FAILED definite in Winerror.h.

Valore restituito

Questo metodo può restituire valori HRESULT standard, ad esempio E_INVALIDARG o E_OUTOFMEMORY e valori restituiti specifici di VDS. Può anche restituire codici di errore di sistema convertiti usando la macro HRESULT_FROM_WIN32 . Gli errori possono provenire dal VDS stesso o dal provider VDS sottostante in uso. I valori restituiti possibili includono quanto segue.

Codice restituito Descrizione
S_OK
Metodo completato correttamente.

Commenti

Quando un disco virtuale è collegato, il chiamante può ricevere una o tutte le notifiche seguenti:

  • Se il chiamante è registrato per le notifiche VDS, il chiamante riceve una notifica di arrivo del disco. Per altre informazioni, vedere Notifiche VDS.
  • Se il chiamante è registrato per le notifiche PnP, il chiamante riceve una notifica di arrivo del disco PnP. Per altre informazioni, vedere RegisterDeviceNotification.
Le applicazioni devono inizializzare la sicurezza a livello di processo chiamando la funzione CoInitializeSecurity . Il parametro dwImpLevel deve essere impostato su RPC_C_IMP_LEVEL_IMPERSONATE.

Windows Server 2008, Windows Vista e Windows Server 2003: Queste azioni non sono necessarie fino a Windows 7 e Windows Server 2008 R2.

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione vds.h
Libreria Uuid.lib

Vedi anche

IVdsOpenVDisk