Condividi tramite


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.

Nota L'uso di questa funzione per accedere ai computer remoti non è supportato a partire da Windows 8 e Windows Server 2012, perché questa funzionalità è stata rimossa.
 

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

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

Vedi anche

CM_Get_Child_Ex

CM_Query_And_Remove_SubTree

CM_Query_And_Remove_SubTree_Ex

CM_Request_Device_Eject