共用方式為


DA_GET_NFS_ATTRIBUTES控制項程式碼

DA_GET_NFS_ATTRIBUTES控制程式代碼會查詢 NFS 共用的其他資訊。

若要執行這項作業,請使用下列參數呼叫 DeviceIoControl 函 式。

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

參數

hDevice [in]

NFS 共用上檔案的控制碼。 若要取得此控制碼,請呼叫 CreateFile 函式。

dwIoControlCode [in]

作業的控制程式代碼。 使用此作業 DA_GET_NFS_ATTRIBUTES

lpInBuffer

未與這項作業搭配使用;設定為 Null

nInBufferSize [in]

未與這項作業搭配使用;設定為零。

lpOutBuffer [out]

輸出緩衝區的指標,其中包含 NFS_FILE_ATTRIBUTES 結構。 如需詳細資訊,請參閱<備註>一節。

nOutBufferSize [in]

輸出緩衝區的大小 (以位元組為單位)。

lpBytesReturned [out]

變數的指標,接收儲存在輸出緩衝區中的資料大小,以位元組為單位。

如果輸出緩衝區太小,呼叫就會失敗, GetLastError 會傳回 ERROR_INSUFFICIENT_BUFFER,而 lpBytesReturned 為零。

如果 lpOverlappedNull則 lpBytesReturned 不能是 Null。 即使作業未傳回任何輸出資料且 lpOutBufferNullDeviceIoControl 仍會使用 lpBytesReturned。 在這類作業之後, lpBytesReturned 的值是無意義的。

如果 lpOverlapped 不是 Null則 lpBytesReturned 可以是 Null。 如果此參數不是 Null ,而且作業會傳回資料, 則 lpBytesReturned 在重迭的作業完成之前是無意義的。 若要擷取傳回的位元組數目,請呼叫 GetOverlappedResult。 如果 hDevice 參數與 I/O 完成埠相關聯,您可以呼叫 GetQueuedCompletionStatus來擷取傳回的位元組數目。

lpOverlapped [in]

重迭結構的指標。

如果 開啟 hDevice 而不指定 FILE_FLAG_OVERLAPPED,則會忽略 lpOverlapped

如果 hDevice 是以 FILE_FLAG_OVERLAPPED 旗標開啟,則會以重迭的 (非同步) 作業來執行。 在此情況下, lpOverlapped 必須指向包含事件物件控制碼的有效 OVERLAPPED 結構。 否則,函式會以無法預期的方式失敗。

針對重迭的作業, DeviceIoControl 會立即傳回,而且當作業完成時會發出事件物件的訊號。 否則,函式不會在作業完成或發生錯誤之前傳回。

傳回值

如果作業順利完成, DeviceIoControl 會傳回非零值。

如果作業失敗或擱置中, DeviceIoControl 會 傳回零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

此控制項程式碼沒有相關聯的標頭檔。 您必須定義控制項程式碼和資料結構,如下所示。

#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;

結構成員可描述如下。

SpecData1

不透明值,用於特殊檔案類型,例如區塊特殊、字元特殊和 FIFO 檔案。

SpecData2

不透明值,用於特殊檔案類型,例如區塊特殊、字元特殊和 FIFO 檔案。

64 位值,表示自 1970 年 1 月 1 日起的秒數, (UTC) 。

nSeconds

要加入至 Seconds 成員的奈秒數。

FileType

共用的 NFS 檔案類型。

NFS 檔案類型 描述
NFS_TYPE_REG
一般檔案。
NFS_TYPE_DIR
目錄。
NFS_TYPE_BLK
區塊特殊檔案。
NFS_TYPE_CHR
字元特殊檔案。
NFS_TYPE_LNK
符號連結。
NFS_TYPE_SOCK
Windows 通訊端。
NFS_TYPE_FIFO
FIFO 檔案。

 

模式

檔案模式。

NLink

共用的連結數目。

Uid

UNIX 使用者識別碼 (UID) 。

Gid

UNIX 群組識別碼 (GID) 。

大小

檔案大小,以位元組為單位。

使用

所使用的檔案大小,以位元組為單位。 這與檔案大小相同。

Rdev

裝置識別碼。

Fsid

檔案系統識別碼。

FileId

檔案識別碼。

AccessTime

上次存取時間。

ModifyTime

上次修改時間。

ChangeTime

上次變更時間。

FileAttributes

NFS_FILE_ATTRIBUTES結構。

注意

如需此結構成員的詳細描述,請參閱RFC 1813) 中所定義的 NFS 第 3 版通訊協定規格 (中的)

 

版本

指定建立 NFS 共用控制碼的連接是透過 NFS 第 2 版或 NFS 第 3 版通訊協定。

描述
2
NFS 第 2 版
3
NFS 第 3 版

 

規格需求

需求
最低支援的用戶端
都不支援
最低支援的伺服器
Windows Server 2008
用戶端支援結束
都不支援
伺服器終止支援
Windows Server 2008 R2

另請參閱

DeviceIoControl