funzione CM_Request_Device_Eject_ExW (cfgmgr32.h)
[A partire da Windows 8 e Windows Server 2012, questa funzione è stata deprecata. Usare invece CM_Request_Device_Eject .]
La funzione CM_Request_Device_Eject_Ex prepara un'istanza locale o remota del dispositivo per la rimozione sicura, se il dispositivo è rimovibile. Se il dispositivo può essere fisicamente espulso, sarà.
Sintassi
CMAPI CONFIGRET CM_Request_Device_Eject_ExW(
[in] DEVINST dnDevInst,
[out, optional] PPNP_VETO_TYPE pVetoType,
[out, optional] LPWSTR pszVetoName,
[in] ULONG ulNameLength,
[in] ULONG ulFlags,
[in, optional] HMACHINE hMachine
);
Parametri
[in] dnDevInst
Handle dell'istanza del dispositivo fornita dal chiamante associato all'handle del computer fornito da hMachine.
[out, optional] pVetoType
(Facoltativo). Se non è NULL, punta a un percorso che, se la richiesta di rimozione ha esito negativo, riceve un valore tipizzato PNP_VETO_TYPE che indica il motivo dell'errore.
[out, optional] pszVetoName
(Facoltativo). Se non è NULL, si tratta di un puntatore fornito dal chiamante a un buffer di stringa che riceve una stringa di testo. Il tipo di informazioni fornite da questa stringa dipende dal valore ricevuto da pVetoType. Per informazioni su queste stringhe, vedere PNP_VETO_TYPE.
[in] ulNameLength
(Facoltativo). Valore fornito dal chiamante che rappresenta la lunghezza del buffer stringa fornito da pszVetoName. Deve essere impostato su MAX_PATH.
[in] ulFlags
Non usato.
[in, optional] hMachine
Handle del computer fornito dal chiamante a cui è associato l'handle dell'istanza del dispositivo fornita dal chiamante.
Valore restituito
Se l'operazione ha esito positivo, la funzione restituisce CR_SUCCESS. In caso contrario, restituisce uno dei codici di errore con prefisso CR_ definiti in Cfgmgr32.h.
Commenti
Se pszVetoName è NULL, il gestore PnP visualizza un messaggio all'utente che indica che il dispositivo è stato rimosso o, se la richiesta non è riuscita, identificando il motivo dell'errore. Se pszVetoName non è NULL, il gestore PnP non visualizza un messaggio. Si noti, tuttavia, che solo per Microsoft Windows 2000, il gestore PnP visualizza un messaggio anche se pszVetoName non è NULL, se la funzionalità di CM_DEVCAP_DOCKDEVICE del dispositivo è impostata.
Per i computer remoti, questa funzione funziona solo per le istanze del dispositivo "dock". Ovvero, la funzione può essere usata solo in remoto per scollegare un computer. In tal caso, il chiamante deve avere SeUndockPrivilege.
I chiamanti di CM_Request_Eject_Ex talvolta richiedono SeUndockPrivilege o SeLoadDriverPrivilege, come indicato di seguito:
- Se la funzionalità di CM_DEVCAP_DOCKDEVICE del dispositivo è impostata (il dispositivo è un dispositivo "dock"), i chiamanti devono avere SeUndockPrivilege. SeLoadDriverPrivilege non è obbligatorio.
- Se la funzionalità di CM_DEVCAP_DOCKDEVICE del dispositivo non è impostata (il dispositivo non è un dispositivo "dock") e se il processo chiamante non è interattivo o è in esecuzione in un ambiente multiutente in una sessione non collegata alla console fisica (ad esempio una sessione remota di Servizi terminal) di questa funzione deve avere SeLoadDriverPrivilege.
Per informazioni sull'uso di handle di istanza del dispositivo associati a un computer locale o remoto, vedere CM_Get_Child_Ex.
Le funzionalità per accedere ai computer remoti sono state rimosse in Windows 8 e Windows Server 2012 e sistemi operativi successivi, pertanto non è possibile accedere ai computer remoti durante l'esecuzione in queste versioni di Windows.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Microsoft Windows 2000 e versioni successive di Windows. |
Piattaforma di destinazione | Desktop |
Intestazione | cfgmgr32.h (include Cfgmgr32.h) |
Libreria | Cfgmgr32.lib |