Bagikan melalui


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
E_OUTOFMEMORY
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

Lihat juga

IWDFRemoteTarget

IWDFRemoteTarget::OpenFileByName