Metode IPortableDeviceManager::GetPrivateDevices (portabledeviceapi.h)

Metode GetPrivateDevices mengambil daftar perangkat portabel privat yang terhubung ke komputer. Perangkat privat ini hanya dapat diakses melalui aplikasi yang dirancang untuk perangkat tertentu ini.

Sintaks

HRESULT GetPrivateDevices(
  [in, out] LPWSTR *pPnPDeviceIDs,
  [in, out] DWORD  *pcPnPDeviceIDs
);

Parameter

[in, out] pPnPDeviceIDs

Array penunjuk string yang dialokasikan penelepon yang menyimpan nama Plug and Play dari semua perangkat yang terhubung. Untuk mempelajari ukuran yang diperlukan untuk parameter ini, pertama-tama panggil metode ini dengan parameter ini diatur ke NULL dan pcPnPDeviceID diatur ke nol, lalu alokasikan buffer sesuai dengan nilai yang diambil oleh pcPnPDeviceIDs. Nama-nama ini dapat digunakan oleh IPortableDevice::Open untuk membuat koneksi ke perangkat.

[in, out] pcPnPDeviceIDs

Pada input, jumlah nilai yang dapat dipegang oleh pPnPDeviceIDs . Pada output, pointer ke jumlah perangkat yang benar-benar ditulis ke pPnPDeviceIDs.

Nilai kembali

Metode mengembalikan HRESULT. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut.

Menampilkan kode Deskripsi
S_OK
Metode berhasil.
E_POINTER
Setidaknya salah satu argumen yang diperlukan adalah penunjuk NULL .
S_FALSE
Buffer pPnPDeviceIDs terlalu kecil untuk menahan semua nilai yang diminta, tetapi nilai pcPnPDeviceIDs telah ditulis ke pPnPDeviceIDs.

Keterangan

Untuk menulis aplikasi yang berkomunikasi dengan perangkat privat, Anda harus memiliki pengetahuan tentang fungsionalitas kustom yang diekspos oleh driver perangkat tertentu. Deskripsi fungsi ini harus diperoleh dari produsen perangkat.

Daftar perangkat dihasilkan ketika manajer perangkat dibuat; tidak disegarkan saat perangkat tersambung dan terputus. Untuk merefresh daftar perangkat yang tersambung, panggil RefreshDeviceList.

API mengalokasikan memori untuk setiap string yang diarahkan oleh array pPnPDeviceIDs . Setelah aplikasi Anda tidak lagi membutuhkan string ini, aplikasi harus melakukan iterasi melalui array ini dan membebaskan memori terkait dengan memanggil fungsi CoTaskMemFree .

Perangkat privat mungkin tidak merespons panggilan fungsi Perangkat Portabel Windows standar yang melakukan enumerasi objek, transfer sumber daya, pengambilan kemampuan perangkat, dan sebagainya.

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header portabledeviceapi.h
Pustaka PortableDeviceGUIDs.lib

Lihat juga

Antarmuka IPortableDeviceManager