fonction CM_Request_Device_EjectW (cfgmgr32.h)
La fonction CM_Request_Device_Eject prépare un instance d’appareil local pour une suppression sécurisée, si l’appareil est amovible. Si l’appareil peut être physiquement éjecté, il le sera.
Syntaxe
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
);
Paramètres
[in] dnDevInst
L’appareil fourni par l’appelant instance handle lié à l’ordinateur local.
[out, optional] pVetoType
(Facultatif.) Si ce n’est pas NULL, cela pointe vers un emplacement qui, si la demande de suppression échoue, reçoit une valeur de type PNP_VETO_TYPE indiquant la raison de l’échec.
[out, optional] pszVetoName
(Facultatif.) S’il n’est pas NULL, il s’agit d’un pointeur fourni par l’appelant vers une mémoire tampon de chaîne qui reçoit une chaîne de texte. Le type d’informations fournies par cette chaîne dépend de la valeur reçue par pVetoType. Pour plus d’informations sur ces chaînes, consultez PNP_VETO_TYPE.
[in] ulNameLength
(Facultatif.) Valeur fournie par l’appelant représentant la longueur de la mémoire tampon de chaîne fournie par pszVetoName. Cette valeur doit être définie sur MAX_PATH.
[in] ulFlags
Non utilisé.
Valeur retournée
Si l’opération réussit, la fonction retourne CR_SUCCESS. Sinon, il retourne l’un des codes d’erreur CR_ préfixés définis dans Cfgmgr32.h.
Remarques
Si pszVetoName a la valeur NULL, le gestionnaire PnP affiche un message à l’utilisateur indiquant que l’appareil a été supprimé ou, si la demande a échoué, identifiant la raison de l’échec. Si pszVetoName n’a pas la valeur NULL, le gestionnaire PnP n’affiche pas de message. (Notez toutefois que pour Microsoft Windows 2000 uniquement, le gestionnaire PnP affiche un message même si pszVetoName n’a pas la valeur NULL, si la fonctionnalité de CM_DEVCAP_DOCKDEVICE de l’appareil est définie.)
Les appelants de CM_Request_Device_Eject nécessitent parfois SeUndockPrivilege ou SeLoadDriverPrivilege, comme suit :
- Si la fonctionnalité de CM_DEVCAP_DOCKDEVICE de l’appareil est définie (l’appareil est un appareil « dock »), les appelants doivent disposer de SeUndockPrivilege. (SeLoadDriverPrivilege n’est pas obligatoire.)
- Si la fonctionnalité de CM_DEVCAP_DOCKDEVICE de l’appareil n’est pas définie (l’appareil n’est pas un appareil « dock ») et si le processus d’appel n’est pas interactif ou s’exécute dans un environnement multi-utilisateur dans une session non attachée à la console physique (telle qu’une session des services Terminal Server distante), les appelants de cette fonction doivent disposer de SeLoadDriverPrivilege.
Pour plus d’informations sur l’utilisation de handles de instance d’appareil liés à l’ordinateur local, consultez CM_Get_Child.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Microsoft Windows 2000 et versions ultérieures de Windows. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | cfgmgr32.h (inclure Cfgmgr32.h) |
Bibliothèque | Cfgmgr32.lib |