función CM_Request_Device_EjectW (cfgmgr32.h)
La función CM_Request_Device_Eject prepara una instancia de dispositivo local 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_EjectW(
[in] DEVINST dnDevInst,
[out, optional] PPNP_VETO_TYPE pVetoType,
[out, optional] LPWSTR pszVetoName,
[in] ULONG ulNameLength,
[in] ULONG ulFlags
);
Parámetros
[in] dnDevInst
Identificador de instancia de dispositivo proporcionado por el autor de la llamada que está enlazado al equipo local.
[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, vea 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.
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 CR_ prefijo 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, lo que identifica el motivo del error. Si pszVetoName no es NULL, el administrador de PnP no muestra un mensaje. (Sin embargo, tenga en cuenta que solo para Microsoft Windows 2000, el administrador de PnP muestra un mensaje incluso si pszVetoName no es NULL, si se establece la funcionalidad de CM_DEVCAP_DOCKDEVICE del dispositivo).
Los autores de llamadas de CM_Request_Device_Eject 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 "dock"), 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 "dock", y si el proceso de llamada no es interactivo o se ejecuta en un entorno de varios usuarios en una sesión no conectada a la consola física (por ejemplo, una sesión remota de Terminal Services), los autores de llamadas de esta función deben tener SeLoadDriverPrivilege.
Para obtener información sobre el uso de identificadores de instancia de dispositivo enlazados a la máquina local, consulte CM_Get_Child.
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 |