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
S _ OK
Die Methode wurde erfolgreich ausgeführt.
S _ FALSE
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
Devpkey.h;
Portabledeviceconnectapi.h
Idl
Portabledeviceconnectapi.idl
Bibliothek
PortableDeviceGuids.lib

Weitere Informationen

IEnumPortableDeviceConnectors