Metode IWDFRemoteTarget::OpenRemoteInterface (wudfddi.h)
[Peringatan: UMDF 2 adalah versi terbaru UMDF dan pengganti UMDF 1. Semua driver UMDF baru harus ditulis menggunakan UMDF 2. Tidak ada fitur baru yang ditambahkan ke UMDF 1 dan ada dukungan terbatas untuk UMDF 1 pada versi Windows 10 yang lebih baru. Driver Universal Windows harus menggunakan UMDF 2. Untuk informasi selengkapnya, lihat Mulai menggunakan UMDF.]
Metode OpenRemoteInterface membuka antarmuka perangkat sehingga driver dapat mengirim permintaan I/O ke dalamnya.
Sintaks
HRESULT OpenRemoteInterface(
[in] IWDFRemoteInterface *pRemoteInterface,
[in, optional] PCWSTR pszRelativeFileName,
[in] DWORD DesiredAccess,
[in, optional] PUMDF_IO_TARGET_OPEN_PARAMS pOpenParams
);
Parameter
[in] pRemoteInterface
Pointer ke antarmuka IWDFRemoteInterface yang diperoleh driver dari panggilan sebelumnya ke IWDFDevice2::CreateRemoteInterface.
[in, optional] pszRelativeFileName
Penunjuk opsional ke string yang disediakan penelepon dan dihentikan null yang ditambahkan kerangka kerja ke nama tautan simbolis antarmuka perangkat.
[in] DesiredAccess
Bitmask yang menentukan akses pemanggil yang diinginkan ke file. Untuk informasi selengkapnya tentang anggota ini, lihat parameter DesiredAccess dari CreateFile di Windows SDK.
[in, optional] pOpenParams
Penunjuk ke struktur UMDF_IO_TARGET_OPEN_PARAMS yang dialokasikan penelepon yang berisi parameter tambahan. Parameter ini bersifat opsional dan dapat berupa NULL.
Nilai kembali
OpenRemoteInterface mengembalikan S_OK jika operasi berhasil. Jika tidak, metode mungkin mengembalikan nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Upaya kerangka kerja untuk mengalokasikan memori gagal. |
Metode ini mungkin mengembalikan salah satu nilai lain yang dikandung Winerror.h.
Pemverifikasi kerangka kerja melaporkan kesalahan jika kerangka kerja tidak dapat membuka file.
Keterangan
Setelah fungsi panggilan balik IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival driver menerima pemberitahuan bahwa antarmuka perangkat tersedia, dan setelah driver memanggil IWDFDevice2::CreateRemoteInterface untuk membuat objek antarmuka jarak jauh, driver dapat memanggil OpenRemoteInterface sehingga dapat mengirim permintaan I/O ke antarmuka perangkat.
Antarmuka perangkat harus dapat diakses oleh akun yang memuat driver berbasis UMDF, yang biasanya merupakan akun Layanan Lokal. Namun, jika driver menggunakan peniruan identitas ketika memanggil OpenRemoteInterface, antarmuka perangkat harus dapat diakses oleh akun yang ditiru.
Untuk informasi selengkapnya tentang OpenRemoteInterface dan cara menggunakan antarmuka perangkat di driver berbasis UMDF, lihat Menggunakan Antarmuka Perangkat di Driver berbasis UMDF.
Contoh
Contoh kode berikut menunjukkan bagaimana fungsi panggilan balik IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival dapat membuat antarmuka jarak jauh dan objek target jarak jauh untuk antarmuka perangkat lalu membuka antarmuka untuk operasi I/O.
void
STDMETHODCALLTYPE
CMyDevice::OnRemoteInterfaceArrival(
__in IWDFRemoteInterfaceInitialize * FxRemoteInterfaceInit
)
...
HRESULT hr;
CComPtr<IWDFRemoteInterface> fxRemoteInterface;
CComPtr<IWDFRemoteTarget> m_FxTarget;
hr = m_FxDevice->CreateRemoteInterface(FxRemoteInterfaceInit,
NULL,
&fxRemoteInterface);
if (FAILED(hr)) goto Error;
hr = FxDevice->CreateRemoteTarget(unknown,
fxRemoteInterface,
&m_FxTarget);
if (FAILED(hr)) goto Error;
hr = m_FxTarget->OpenRemoteInterface(fxRemoteInterface,
NULL,
GENERIC_READ | GENERIC_WRITE,
NULL);
...
Error:
...
Persyaratan
Persyaratan | Nilai |
---|---|
Akhir dukungan | Tidak tersedia di UMDF 2.0 dan yang lebih baru. |
Target Platform | Desktop |
Versi UMDF minimum | 1.9 |
Header | wudfddi.h (termasuk Wudfddi.h) |
DLL | WUDFx.dll |