Metode IWDFFile::RetrieveFileName (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 RetrieveFileName mengambil nama lengkap file yang terkait dengan perangkat mode kernel yang mendasar.
Sintaks
HRESULT RetrieveFileName(
[out] PWSTR pFileName,
[in, out] DWORD *pdwFileNameLengthInChars
);
Parameter
[out] pFileName
Penunjuk ke buffer yang disediakan penelepon yang menerima string yang dihentikan NULL yang mewakili nama lengkap file yang terkait dengan perangkat mode kernel yang mendasar, jika penunjuk yang disediakan non-NULL dan RetrieveFileName berhasil.
[in, out] pdwFileNameLengthInChars
Penunjuk ke variabel yang disediakan penelepon yang menerima ukuran, dalam karakter, dari nama file lengkap yang diunjukkan pFileName . Jika buffer di pFileName bukan NULL, kerangka kerja mengembalikan ukuran, dalam karakter, dari string nama file.
Pada input, driver mengatur variabel ini ke ukuran, dalam karakter, dari buffer yang dirujuk pFileName . Jika driver menyediakan NULL untuk pFileName dan nol untuk variabel yang dituju pdwFileNameLengthInChars , kerangka kerja mengatur variabel ke ukuran, dalam karakter, yang diperlukan string nama file.
Nilai kembali
RetrieveFileName mengembalikan S_OK untuk skenario berikut:
- Buffer yang ditunjukkan parameter pFileName adalah non-NULL dan cukup besar untuk menahan string nama, termasuk karakter NULL , dan kerangka kerja berhasil menyalin string ke dalam buffer yang disediakan dan mengatur variabel yang ditunjukkan oleh parameter pdwFileNameLengthInChars ke jumlah karakter dalam string.
- Buffer di pFileName adalah NULL, driver mengatur variabel di pdwFileNameLengthInChars ke 0, dan kerangka kerja mengatur variabel di pdwFileNameLengthInChars ke jumlah karakter yang diperlukan untuk string.
RetrieveFileName mungkin juga mengembalikan nilai HRESULT lainnya.
Keterangan
Driver Anda mungkin memanggil RetrieveFileName dari fungsi panggilan balik IQueueCallbackCreate::OnCreateFile . Untuk informasi selengkapnya, lihat Menggunakan Antarmuka Perangkat di Driver UMDF.
Contoh
Contoh kode berikut menunjukkan cara mengambil nama file.
ULONG fileNameCch = 0;
PWSTR fileName = NULL;
ULONG index;
CComObject<CUmdfHidFile> *file = NULL;
HRESULT hr;
// Get the length of the file name to allocate a buffer.
hr = WdfFile->RetrieveFileName(NULL, &fileNameCch);
//
// Allocate the buffer.
//
if (SUCCEEDED(hr))
{
fileName = new WCHAR[fileNameCch];
if (fileName == NULL)
{
hr = E_OUTOFMEMORY;
}
}
//
// Get the file name.
//
if (SUCCEEDED(hr))
{
hr = WdfFile->RetrieveFileName(fileName, &fileNameCch);
}
Persyaratan
Persyaratan | Nilai |
---|---|
Akhir dukungan | Tidak tersedia di UMDF 2.0 dan yang lebih baru. |
Target Platform | Desktop |
Versi UMDF minimum | 1,5 |
Header | wudfddi.h (termasuk Wudfddi.h) |
DLL | WUDFx.dll |