Metode IWDFDevice2::CreateRemoteInterface (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 CreateRemoteInterface membuat objek antarmuka jarak jauh yang mewakili antarmuka perangkat.

Sintaks

HRESULT CreateRemoteInterface(
  [in]           IWDFRemoteInterfaceInitialize *pRemoteInterfaceInit,
  [in, optional] IUnknown                      *pCallbackInterface,
  [out]          IWDFRemoteInterface           **ppRemoteInterface
);

Parameter

[in] pRemoteInterfaceInit

Penunjuk ke antarmuka IWDFRemoteInterfaceInitialize yang diterima oleh fungsi panggilan balik IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival driver.

[in, optional] pCallbackInterface

Penunjuk ke antarmuka panggilan balik opsional yang disediakan driver. Metode IUnknown::QueryInterface antarmuka ini harus mengembalikan pointer ke antarmuka IRemoteInterfaceCallbackEvent dan IRemoteInterfaceCallbackRemoval driver, jika driver mendukung antarmuka tersebut. Parameter ini bersifat opsional dan dapat berupa NULL.

[out] ppRemoteInterface

Pointer ke lokasi yang disediakan driver yang menerima pointer ke antarmuka IWDFRemoteInterface dari objek antarmuka jarak jauh baru.

Nilai kembali

CreateRemoteInterface 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.

Keterangan

Jika driver Anda memanggil CreateRemoteInterface, driver harus melakukannya dari dalam fungsi panggilan balik IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival .

Untuk informasi selengkapnya tentang CreateRemoteInterface dan menggunakan antarmuka perangkat, lihat Menggunakan Antarmuka Perangkat di Driver berbasis UMDF

Contoh

Contoh kode berikut menunjukkan fungsi panggilan balik IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival yang membuat objek antarmuka jarak jauh, membuat objek target jarak jauh, dan membuka target jarak jauh untuk operasi I/O.

void 
STDMETHODCALLTYPE
CMyDevice::OnRemoteInterfaceArrival(
    __in IWDFRemoteInterfaceInitialize * FxRemoteInterfaceInit
    )
{
    HRESULT hr = S_OK;

    //
    // Create a new remote interface object and provide a callback 
    // object to handle remote interface events.
    //
    CComPtr<IWDFRemoteInterface> fxRemoteInterface;
    hr = m_FxDevice->CreateRemoteInterface(FxRemoteInterfaceInit, 
                                           MyRemoteInterfaceIUnknown, 
                                           &fxRemoteInterface);
    if (FAILED(hr)) goto Error;
    //
    // Create a new remote target object and provide a callback 
    // object to handle remote target events.
    //
    CComPtr<IWDFRemoteTarget> fxTarget;
    hr = m_FxDevice->CreateRemoteTarget(MyRemoteTargetIUnknown,
                                        fxRemoteInterface,
                                        &fxTarget);
    if (FAILED(hr)) goto Error;

    //
    // Open the remote interface with read/write access.
    //
    hr = FxTarget->OpenRemoteInterface(fxRemoteInterface, 
                                       NULL,
                                       GENERIC_READ | GENERIC_WRITE,
                                       NULL);
    if (FAILED(hr)) goto 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

IWDFDevice2

IWDFDevice2::CreateRemoteTarget

IWDFRemoteTarget::OpenRemoteInterface