funzione CM_Request_Device_EjectW (cfgmgr32.h)
La funzione CM_Request_Device_Eject prepara un'istanza del dispositivo locale per la rimozione sicura, se il dispositivo è rimovibile. Se il dispositivo può essere fisicamente espulso, sarà.
Sintassi
CMAPI CONFIGRET CM_Request_Device_EjectW(
[in] DEVINST dnDevInst,
[out, optional] PPNP_VETO_TYPE pVetoType,
[out, optional] LPWSTR pszVetoName,
[in] ULONG ulNameLength,
[in] ULONG ulFlags
);
Parametri
[in] dnDevInst
Handle dell'istanza del dispositivo fornita dal chiamante associato al computer locale.
[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.
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.
I chiamanti di CM_Request_Device_Eject 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 di Servizi terminal remoti), i chiamanti di questa funzione devono avere SeLoadDriverPrivilege.
Per informazioni sull'uso di handle di istanza del dispositivo associati al computer locale, vedere CM_Get_Child.
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 |