CM_Request_Device_Eject_ExA-Funktion (cfgmgr32.h)
[Ab Windows 8 und Windows Server 2012 ist diese Funktion veraltet. Verwenden Sie stattdessen CM_Request_Device_Eject .]
Die CM_Request_Device_Eject_Ex-Funktion bereitet ein lokales oder ein Remotegerät instance für die sichere Entfernung vor, wenn das Gerät wechselbar ist. Wenn das Gerät physisch ausgeworfen werden kann, ist es dies.
Syntax
CMAPI CONFIGRET CM_Request_Device_Eject_ExA(
[in] DEVINST dnDevInst,
[out, optional] PPNP_VETO_TYPE pVetoType,
[out, optional] LPSTR pszVetoName,
[in] ULONG ulNameLength,
[in] ULONG ulFlags,
[in, optional] HMACHINE hMachine
);
Parameter
[in] dnDevInst
Vom Aufrufer bereitgestelltes Gerät instance Handle, das an das von hMachine bereitgestellte Maschinenhandle gebunden ist.
[out, optional] pVetoType
(Optional.) Wenn nicht NULL, verweist dies auf einen Speicherort, der, wenn die Entfernungsanforderung fehlschlägt, einen PNP_VETO_TYPE typisierten Wert empfängt, der den Grund für den Fehler angibt.
[out, optional] pszVetoName
(Optional.) Wenn nicht NULL, ist dies ein vom Aufrufer bereitgestellter Zeiger auf einen Zeichenfolgenpuffer, der eine Textzeichenfolge empfängt. Der Typ der Informationen, die diese Zeichenfolge bereitstellt, hängt vom Wert ab, der von pVetoType empfangen wird. Informationen zu diesen Zeichenfolgen finden Sie unter PNP_VETO_TYPE.
[in] ulNameLength
(Optional.) Vom Aufrufer bereitgestellter Wert, der die Länge des von pszVetoName bereitgestellten Zeichenfolgenpuffers darstellt. Dies sollte auf MAX_PATH festgelegt werden.
[in] ulFlags
Wird nicht verwendet.
[in, optional] hMachine
Vom Aufrufer bereitgestelltes Computerhandle, an das das vom Aufrufer bereitgestellte Gerät instance Handle gebunden ist.
Rückgabewert
Wenn der Vorgang erfolgreich ist, gibt die Funktion CR_SUCCESS zurück. Andernfalls wird einer der in Cfgmgr32.h definierten Fehlercodes mit CR_ Präfix zurückgegeben.
Hinweise
Wenn pszVetoNameNULL ist, zeigt der PnP-Manager dem Benutzer eine Meldung an, die angibt, dass das Gerät entfernt wurde, oder, wenn die Anforderung fehlgeschlagen ist, den Grund für den Fehler identifiziert. Wenn pszVetoName nicht NULL ist, zeigt der PnP-Manager keine Meldung an. (Beachten Sie jedoch, dass der PnP-Manager nur für Microsoft Windows 2000 eine Meldung anzeigt, auch wenn pszVetoName nicht NULL ist, wenn die CM_DEVCAP_DOCKDEVICE-Funktion des Geräts festgelegt ist.)
Bei Remotecomputern funktioniert diese Funktion nur für "Dock"-Geräteinstanzen. Das heißt, die Funktion kann nur remote verwendet werden, um einen Computer abzudocken. In diesem Fall muss der Aufrufer über SeUndockPrivilege verfügen.
Aufrufer von CM_Request_Eject_Ex benötigen manchmal SeUndockPrivilege oder SeLoadDriverPrivilege, wie folgt:
- Wenn die CM_DEVCAP_DOCKDEVICE-Funktion des Geräts festgelegt ist (das Gerät ist ein "Dock"-Gerät), müssen Anrufer über SeUndockPrivilege verfügen. (SeLoadDriverPrivilege ist nicht erforderlich.)
- Wenn die CM_DEVCAP_DOCKDEVICE-Funktion des Geräts nicht festgelegt ist (das Gerät ist kein "Dock"-Gerät), und wenn der Aufrufvorgang entweder nicht interaktiv ist oder in einer Mehrbenutzerumgebung in einer Sitzung ausgeführt wird, die nicht an die physische Konsole angefügt ist (z. B. eine Remoteterminaldienste-Sitzung), müssen Aufrufer dieser Funktion SeLoadDriverPrivilege aufweisen.
Informationen zur Verwendung von Geräte- instance Handles, die an einen lokalen oder Remotecomputer gebunden sind, finden Sie unter CM_Get_Child_Ex.
Die Funktionalität für den Zugriff auf Remotecomputer wurde in Den Betriebssystemen Windows 8 und Windows Server 2012 und höher entfernt, sodass Sie nicht auf Remotecomputer zugreifen können, wenn sie unter diesen Versionen von Windows ausgeführt werden.
Anforderungen
Unterstützte Mindestversion (Client) | Verfügbar in Microsoft Windows 2000 und höheren Versionen von Windows. |
Zielplattform | Desktop |
Kopfzeile | cfgmgr32.h (include Cfgmgr32.h) |
Bibliothek | Cfgmgr32.lib |
Weitere Informationen
CM_Get_Child_Ex
CM_Query_And_Remove_SubTreeCM_Query_And_Remove_SubTree_ExCM_Request_Device_Eject