IEnumPortableDeviceConnectors::Next-Methode
Die Next-Methode ruft das nächste oder mehrere IPortableDeviceConnector-Objekte in der Enumerationssequenz ab.
Syntax
HRESULT Next(
[in] UINT32 cRequested,
[out] IPortableDeviceConnector **pConnectors,
[in, out] UINT32 *pcFetched
);
Parameter
-
cRequested [ In]
-
Die Anzahl der angeforderten Geräte. Dieser Wert gibt auch die Anzahl der Elemente im vom Aufrufer zugewiesenen Array an, die durch den pConnectors-Parameter angegeben werden.
-
pConnectors [ out]
-
Ein Array von IPortableDeviceConnector-Zeigern, die jeweils ein gekoppeltes MTP-Bluetooth Gerät angeben. Der Aufrufer muss ein Array von IPortableDeviceConnector-Zeigern mit der vom cRequested-Parameter angegebenen Arraylänge zuordnen. Bei erfolgreicher Rückgabe muss der Aufrufer sowohl das Array als auch die zurückgegebenen Zeiger freigeben. Die IPortableDeviceConnector-Schnittstellen werden durch Aufrufen der IUnknown::Release-Methode freigegeben.
-
pcFetched [ in, out]
-
Die Anzahl der IPortableDeviceConnector-Schnittstellen, die tatsächlich abgerufen werden. Wenn keine IPortableDeviceConnector-Schnittstellen abgerufen werden und der Rückgabewert S _ FALSE lautet, müssen keine IPortableDeviceConnector-Schnittstellen mehr aufzählen.
Rückgabewert
Die Methode gibt ein HRESULT zurück. Mögliches Werte (aber nicht die Einzigen) sind die in der folgenden Tabelle.
| Rückgabecode | Beschreibung |
|---|---|
|
Die Methode wurde erfolgreich ausgeführt. |
|
Es sind keine MTP-Bluetooth geräte mehr aufzuzählen. |
Beispiele
Im folgenden Beispiel wird die Verwendung dieser Methode veranschaulicht, um gekoppelte MTP-/Bluetooth-Geräte aufzuzählen und jeweils eine asynchrone Verbindungsanforderung zu senden.
IEnumPortableDeviceConnectors* pEnum = NULL;
HRESULT hrEnum = S_OK;
HRESULT hr = CoCreateInstance(CLSID_EnumBthMtpConnectors, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pEnum));
if (SUCCEEDED(hr))
{
while (S_OK == hrEnum)
{
UINT32 uFetched = 0;
LPWSTR wszDevicePnPID = NULL;
IPortableDeviceConnector* pDevice = NULL;
hrEnum = pEnum->Next(1, &spDevice, &uFetched);
if (hrEnum == S_OK && uFetched == 1)
{
// Send an asynchronous connect request.
hr = pDevice ->Connect(NULL);
// Release the device when done
pDevice->Release();
pDevice = NULL;
}
} // while S_OK == hrEnum
// Release the enumerator when done
if (pEnum)
{
pEnum->Release();
pEnum = NULL;
}
}
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
nur Windows 7 [ Desktop-Apps] |
| Unterstützte Mindestversion (Server) |
Nicht unterstützt |
| Header |
|
| Idl |
|
| Bibliothek |
|