Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Kode kontrol DA_GET_NFS_ATTRIBUTES meminta informasi tambahan tentang berbagi NFS.
Untuk melakukan operasi ini, panggil fungsi DeviceIoControl dengan parameter berikut.
BOOL
WINAPI
DeviceIoControl( (HANDLE) hDevice, // handle to device
(DWORD) DA_GET_NFS_ATTRIBUTES, // dwIoControlCode
NULL, // lpInBuffer
0, // nInBufferSize
(LPDWORD) lpOutBuffer, // output buffer
(DWORD) nOutBufferSize, // size of output buffer
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped ); // OVERLAPPED structure
Parameter
-
hDevice [in]
-
Handel ke file pada berbagi NFS. Untuk mendapatkan handel ini, panggil fungsi CreateFile .
-
dwIoControlCode [in]
-
Kode kontrol untuk operasi. Gunakan DA_GET_NFS_ATTRIBUTES untuk operasi ini.
-
lpInBuffer
-
Tidak digunakan dengan operasi ini; atur ke NULL.
-
nInBufferSize [in]
-
Tidak digunakan dengan operasi ini; atur ke nol.
-
lpOutBuffer [out]
-
Penunjuk ke buffer output, yang berisi struktur NFS_FILE_ATTRIBUTES . Untuk informasi lebih lanjut, lihat bagian Keterangan.
-
nOutBufferSize [in]
-
Ukuran buffer output, dalam byte.
-
lpBytesReturned [out]
-
Penunjuk ke variabel yang menerima ukuran data yang disimpan dalam buffer output, dalam byte.
Jika buffer output terlalu kecil, panggilan gagal, GetLastError mengembalikan ERROR_INSUFFICIENT_BUFFER, dan lpBytesReturned adalah nol.
Jika lpOverlappedNULL, lpBytesReturned tidak boleh NULL. Bahkan ketika operasi tidak mengembalikan data output dan lpOutBuffer adalah NULL, DeviceIoControl menggunakan lpBytesReturned. Setelah operasi seperti itu, nilai lpBytesReturned tidak ada artinya.
Jika lpOverlapped bukan NULL, lpBytesReturned bisa NULL. Jika parameter ini bukan NULL dan operasi mengembalikan data, lpBytesReturned tidak berarti sampai operasi yang tumpang tindih telah selesai. Untuk mengambil jumlah byte yang dikembalikan, panggil GetOverlappedResult. Jika parameter hDevice dikaitkan dengan port penyelesaian I/O, Anda dapat mengambil jumlah byte yang dikembalikan dengan memanggil GetQueuedCompletionStatus.
-
lpOverlapped [in]
-
Penunjuk ke struktur YANG TUMPANG TINDIH .
Jika hDevice dibuka tanpa menentukan FILE_FLAG_OVERLAPPED, lpOverlapped diabaikan.
Jika hDevice dibuka dengan bendera FILE_FLAG_OVERLAPPED , operasi dilakukan sebagai operasi yang tumpang tindih (asinkron). Dalam hal ini, lpOverlapped harus menunjuk ke struktur TUMPANG TINDIH yang valid yang berisi handel ke objek peristiwa. Jika tidak, fungsi gagal dengan cara yang tidak dapat diprediksi.
Untuk operasi yang tumpang tindih, DeviceIoControl segera kembali, dan objek peristiwa disinyalir ketika operasi telah selesai. Jika tidak, fungsi tidak kembali sampai operasi selesai atau terjadi kesalahan.
Nilai kembali
Jika operasi berhasil diselesaikan, DeviceIoControl mengembalikan nilai bukan nol.
Jika operasi gagal atau tertunda, DeviceIoControl mengembalikan nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Kode kontrol ini tidak memiliki file header terkait. Anda harus menentukan kode kontrol dan struktur data sebagai berikut.
#define DEVICE_DA_RDR 0x80000
#define DA_GET_NFS_ATTRIBUTES CTL_CODE(DEVICE_DA_RDR, 0x804, METHOD_BUFFERED, FILE_ANY_ACCESS)
typedef struct _NFS_SPEC_DATA {
ULONG SpecData1;
ULONG SpecData2;
} NFS_SPEC_DATA, *PNFS_SPEC_DATA;
typedef struct _NFS_TIME {
ULONG Seconds;
ULONG nSeconds;
} NFS_TIME, *PNFS_TIME;
#define NFS_TYPE_REG 1
#define NFS_TYPE_DIR 2
#define NFS_TYPE_BLK 3
#define NFS_TYPE_CHR 4
#define NFS_TYPE_LNK 5
#define NFS_TYPE_SOCK 6
#define NFS_TYPE_FIFO 7
typedef struct _NFS_FILE_ATTRIBUTES {
ULONG FileType;
ULONG Mode;
ULONG NLink;
ULONG Uid;
ULONG Gid;
ULONGLONG Size;
ULONGLONG Used;
NFS_SPEC_DATA Rdev;
ULONGLONG Fsid;
ULONGLONG FileId;
NFS_TIME AccessTime;
NFS_TIME ModifyTime;
NFS_TIME ChangeTime;
} NFS_FILE_ATTRIBUTES, *PNFS_FILE_ATTRIBUTES;
typedef struct _DA_FILE_ATTRIBUTES {
NFS_FILE_ATTRIBUTES FileAttributes;
ULONG Version;
} DA_FILE_ATTRIBUTES, *PDA_FILE_ATTRIBUTES;
Anggota struktur dapat digambarkan sebagai berikut.
-
SpecData1
-
Nilai buram yang digunakan untuk jenis file khusus seperti file block-special, character-special, dan FIFO.
-
SpecData2
-
Nilai buram yang digunakan untuk jenis file khusus seperti file block-special, character-special, dan FIFO.
-
Detik
-
Nilai 64-bit yang mewakili detik sejak 1 Januari 1970 (UTC).
-
nSeconds
-
Jumlah nanodetik yang akan ditambahkan ke anggota Detik .
-
Filetype
-
Jenis file NFS dari berbagi.
Tipe File NFS Deskripsi NFS_TYPE_REG File reguler. NFS_TYPE_DIR Sebuah direktori. NFS_TYPE_BLK File khusus blok. NFS_TYPE_CHR File khusus karakter. NFS_TYPE_LNK Tautan simbolis. NFS_TYPE_SOCK Soket Windows. NFS_TYPE_FIFO File FIFO. -
Mode
-
Mode file.
-
NLink
-
Jumlah tautan ke berbagi.
-
Uid
-
Pengidentifikasi pengguna UNIX (UID).
-
Gid
-
Pengidentifikasi grup UNIX (GID).
-
Ukuran
-
Ukuran file, dalam byte.
-
Digunakan
-
Ukuran file yang digunakan, dalam byte. Ini sama dengan ukuran file.
-
Rdev
-
Pengidentifikasi perangkat.
-
Fsid
-
Pengidentifikasi sistem file.
-
FileId
-
Pengidentifikasi file.
-
AccessTime
-
Waktu akses terakhir.
-
UbahWaktu
-
Waktu modifikasi terakhir.
-
ChangeTime
-
Waktu perubahan terakhir.
-
FileAttributes
-
Struktur NFS_FILE_ATTRIBUTES .
Catatan
Untuk deskripsi lebih rinci tentang anggota struktur ini, lihat struktur fattr3 dalam Spesifikasi Protokol NFS Versi 3 (seperti yang didefinisikan dalam RFC 1813).
-
Versi
-
Menentukan apakah koneksi tempat handel ke berbagi NFS dibuat melalui protokol NFS Versi 2 atau NFS Versi 3.
Nilai Deskripsi 2 NFS Versi 2 3 NFS Versi 3
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Klien minimum yang didukung |
Tidak ada yang didukung |
| Server minimum yang didukung |
Windows Server 2008 |
| Akhir dukungan klien |
Tidak ada yang didukung |
| Akhir dukungan server |
Windows Server 2008 R2 |
Lihat juga