Condividi tramite


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.
I privilegi sono descritti nella documentazione di Microsoft Windows SDK.

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