Freigeben über


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.

Hinweis Die Verwendung dieser Funktion für den Zugriff auf Remotecomputer wird ab Windows 8 und Windows Server 2012 nicht unterstützt, da diese Funktionalität entfernt wurde.
 

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.
(Berechtigungen werden in der dokumentation Microsoft Windows SDK beschrieben.)

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