Condividi tramite


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

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

Vedi anche

CM_Get_Child

CM_Query_And_Remove_SubTree

CM_Query_And_Remove_SubTree_Ex

CM_Request_Device_Eject_Ex