Bagikan melalui


Metode IWDFRemoteInterfaceInitialize::RetrieveSymbolicLink (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 RetrieveSymbolicLink mengambil nama tautan simbolis yang ditetapkan sistem operasi ke antarmuka perangkat.

Sintaks

HRESULT RetrieveSymbolicLink(
  [out, optional] PWSTR pSymbolicLink,
  [in, out]       DWORD *pdwSymbolicLinkLengthInChars
);

Parameter

[out, optional] pSymbolicLink

Penunjuk ke buffer yang menerima string karakter Unicode yang dihentikan null yang mewakili nama tautan simbolis. Atur penunjuk ini ke NULL untuk mendapatkan ukuran buffer yang diperlukan.

[in, out] pdwSymbolicLinkLengthInChars

Penunjuk ke lokasi yang dialokasikan penelepon. Pada input, lokasi ini harus berisi panjang buffer yang disediakan pemanggil yang dituju pSymbolicLink . Pada output, lokasi menerima panjang, dalam karakter, dari nama tautan simbolis, termasuk karakter penghentian NULL .

Nilai kembali

RetrieveSymbolicLink mengembalikan S_OK jika operasi berhasil. Jika tidak, metode mungkin mengembalikan nilai berikut:

Menampilkan kode Deskripsi
E_NOT_SUFFICIENT_BUFFER
Buffer yang menunjuk pSymbolicLink terlalu kecil. Dalam hal ini, kerangka kerja menyimpan ukuran buffer yang diperlukan di lokasi yang ditunjuk oleh pdwSymbolicLinkLengthInChars .
 

Metode ini mungkin mengembalikan salah satu nilai lain yang dikandung Winerror.h.

Keterangan

Nama tautan simbolis dapat menyertakan karakter garis miring terbelakang yang ditambahkan (), diikuti dengan string referensi khusus instans.

Biasanya, driver Anda harus memanggil RetrieveSymbolicLink dua kali, sebagai berikut:

  1. Atur parameter pSymbolicLink ke NULL dan panggil RetrieveSymbolicLink. Lokasi yang ditujukan pdwSymbolicLinkLengthInChars untuk menerima jumlah karakter yang dikandung nama tautan simbolis.
  2. Alokasikan buffer yang cukup besar untuk menerima nama tautan simbolis.
  3. Panggil RetrieveSymbolicLink lagi, dan atur parameter pSymbolicLink ke alamat buffer yang Anda alokasikan.
Untuk informasi selengkapnya tentang metode RetrieveSymbolicLink , lihat Menggunakan Antarmuka Perangkat di Driver berbasis UMDF.

Contoh

Contoh kode berikut menunjukkan bagaimana fungsi panggilan balik IPnpCallbackRemoteInterfaceNotification::OnRemoteInterfaceArrival driver dapat menentukan panjang nama tautan simbolis antarmuka perangkat, mengalokasikan buffer untuk nama tersebut, lalu mengambil nama.

void 
STDMETHODCALLTYPE
CMyDevice::OnRemoteInterfaceArrival(
    __in IWDFRemoteInterfaceInitialize  *FxRemoteInterfaceInit
    )
{
    HRESULT hr;
    INT BufferSize;
    hr= FxRemoteInterfaceInit->RetrieveSymbolicLink(NULL,
                                                    &BufferSize);
    if (FAILED(hr)) goto Error;
    hr = FxDriver->CreateWdfMemory(BufferSize, 
                                   NULL, 
                                   FxRemoteInterface, 
                                   &FxSymLinkBuffer);
    if (FAILED(hr)) goto Error;
    hr= FxRemoteInterfaceInit->RetrieveSymbolicLink(FxSymLinkBuffer->GetDataBuffer(NULL),
                                                    &BufferSize);
    if (FAILED(hr)) goto Error;
...
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

IWDFRemoteInterfaceInitialize

IWDFRemoteInterfaceInitialize::GetInterfaceGuid