función CM_Request_Device_Eject_ExW (cfgmgr32.h)

[A partir de Windows 8 y Windows Server 2012, esta función ha quedado en desuso. Use CM_Request_Device_Eject en su lugar.

La función CM_Request_Device_Eject_Ex prepara una instancia de dispositivo local o remota para la eliminación segura, si el dispositivo es extraíble. Si el dispositivo se puede expulsar físicamente, será.

Sintaxis

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
);

Parámetros

[in] dnDevInst

Identificador de instancia de dispositivo proporcionado por el autor de la llamada que está enlazado al controlador de máquina proporcionado por hMachine.

[out, optional] pVetoType

(Opcional). Si no es NULL, esto apunta a una ubicación que, si se produce un error en la solicitud de eliminación, recibe un valor con tipo PNP_VETO_TYPE que indica el motivo del error.

[out, optional] pszVetoName

(Opcional). Si no es NULL, se trata de un puntero proporcionado por el autor de la llamada a un búfer de cadena que recibe una cadena de texto. El tipo de información que proporciona esta cadena depende del valor recibido por pVetoType. Para obtener información sobre estas cadenas, consulte PNP_VETO_TYPE.

[in] ulNameLength

(Opcional). Valor proporcionado por el autor de la llamada que representa la longitud del búfer de cadena proporcionado por pszVetoName. Debe establecerse en MAX_PATH.

[in] ulFlags

No se usa.

[in, optional] hMachine

Identificador de máquina proporcionado por el autor de la llamada al que está enlazado el identificador de instancia de dispositivo proporcionado por el autor de la llamada.

Nota No se admite el uso de esta función para acceder a máquinas remotas a partir de Windows 8 y Windows Server 2012, ya que esta funcionalidad se ha quitado.
 

Valor devuelto

Si la operación se realiza correctamente, la función devuelve CR_SUCCESS. De lo contrario, devuelve uno de los códigos de error con prefijo CR_ definidos en Cfgmgr32.h.

Comentarios

Si pszVetoName es NULL, el administrador de PnP muestra un mensaje al usuario que indica que se quitó el dispositivo o, si se produjo un error en la solicitud, identificando el motivo del error. Si pszVetoName no es NULL, el administrador de PnP no muestra un mensaje. (Tenga en cuenta, sin embargo, que solo para Microsoft Windows 2000, el administrador de PnP muestra un mensaje aunque pszVetoName no sea NULL, si se establece la funcionalidad CM_DEVCAP_DOCKDEVICE del dispositivo).

En el caso de las máquinas remotas, esta función solo funciona para las instancias de dispositivo "dock". Es decir, la función solo se puede usar de forma remota para deshacer una máquina. En ese caso, el autor de la llamada debe tener SeUndockPrivilege.

Los autores de llamadas de CM_Request_Eject_Ex a veces requieren SeUndockPrivilege o SeLoadDriverPrivilege, como se indica a continuación:

  • Si se establece la funcionalidad de CM_DEVCAP_DOCKDEVICE del dispositivo (el dispositivo es un dispositivo de "acoplamiento"), los llamadores deben tener SeUndockPrivilege. (No se requiere SeLoadDriverPrivilege ).
  • Si la funcionalidad de CM_DEVCAP_DOCKDEVICE del dispositivo no está establecida (el dispositivo no es un dispositivo "acoplado") y si el proceso de llamada no es interactivo o se ejecuta en un entorno multiusuario en una sesión no conectada a la consola física (por ejemplo, una sesión remota de Terminal Services), los autores de llamada de esta función deben tener SeLoadDriverPrivilege.
(Los privilegios se describen en la documentación de Microsoft Windows SDK).

Para obtener información sobre el uso de identificadores de instancia de dispositivo enlazados a un equipo local o remoto, consulte CM_Get_Child_Ex.

La funcionalidad para acceder a las máquinas remotas se ha quitado en Windows 8 y sistemas operativos Windows Server 2012 y versiones posteriores, por lo que no se puede acceder a las máquinas remotas cuando se ejecutan en estas versiones de Windows.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Microsoft Windows 2000 y versiones posteriores de Windows.
Plataforma de destino Escritorio
Encabezado cfgmgr32.h (incluya Cfgmgr32.h)
Library Cfgmgr32.lib

Consulte también

CM_Get_Child_Ex

CM_Query_And_Remove_SubTree

CM_Query_And_Remove_SubTree_Ex

CM_Request_Device_Eject