funzione CM_Request_Device_EjectA (cfgmgr32.h)
La funzione CM_Request_Device_Eject prepara un'istanza locale del dispositivo per la rimozione sicura, se il dispositivo è rimovibile. Se il dispositivo può essere fisicamente espulso, sarà.
Sintassi
CMAPI CONFIGRET CM_Request_Device_EjectA(
[in] DEVINST dnDevInst,
[out, optional] PPNP_VETO_TYPE pVetoType,
[out, optional] LPSTR pszVetoName,
[in] ULONG ulNameLength,
[in] ULONG ulFlags
);
Parametri
[in] dnDevInst
Handle di istanza del dispositivo fornito dal chiamante associato al computer locale.
[out, optional] pVetoType
(Facoltativo.) Se non null, questo punta a una posizione che, se la richiesta di rimozione ha esito negativo, riceve un valore PNP_VETO_TYPE tipizzato che indica il motivo dell'errore.
[out, optional] pszVetoName
(Facoltativo.) In caso contrario , questo è un puntatore fornito dal chiamante a un buffer 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. Questa opzione deve essere impostata 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, la gestione 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, la gestione PnP non visualizza un messaggio. Si noti tuttavia che solo per Microsoft Windows 2000, la gestione 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à CM_DEVCAP_DOCKDEVICE del dispositivo è impostata (il dispositivo è un dispositivo "dock"), i chiamanti devono avere SeUndockPrivilege. SeLoadDriverPrivilege non è obbligatorio.
- Se la funzionalità 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 degli 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 |
Vedi anche
CM_Get_Child
CM_Query_And_Remove_SubTree
CM_Query_And_Remove_SubTree_Ex
CM_Request_Device_Eject_Ex