共用方式為


IOCTL_DISK_GET_CLUSTER_INFO控制項程式碼

擷取指定磁片裝置的屬性。

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

BOOL 
WINAPI 
DeviceIoControl( (HANDLE)       hDevice,         // handle to device 
                 IOCTL_DISK_GET_CLUSTER_INFO,    // dwIoControlCode
                 (LPVOID)       NULL,            // lpInBuffer 
                 (DWORD)        0,               // nInBufferSize 
                 (LPVOID)       lpOutBuffer,     // output buffer:GET_DISK_ATTRIBUTES
                 (DWORD)        nOutBufferSize,  // size of output buffer
                 (LPDWORD)      lpBytesReturned, // number of bytes returned
                 (LPOVERLAPPED) lpOverlapped );  // OVERLAPPED structure

參數

hDevice

磁片的控制碼。

若要擷取裝置控制碼,請呼叫 CreateFile 函式。

dwIoControlCode

作業的控制程式代碼。

針對此作業使用 IOCTL_DISK_GET_CLUSTER_INFO

lpInBuffer

未搭配此作業使用。 設定為 Null

nInBufferSize

輸入緩衝區的大小,以位元組為單位。 設定為 0 (零) 。

lpOutBuffer

接收 DISK_CLUSTER_INFO 資料結構的緩衝區指標。

nOutBufferSize

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

lpBytesReturned

未搭配此作業使用。 設定為 Null

lpOverlapped

重迭結構的指標。

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

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

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

傳回值

如果作業順利完成,表示磁片上的所有磁片區都已可供使用, DeviceIoControl 會傳回非零值。

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

規格需求

需求
最低支援的用戶端
都不支援
最低支援的伺服器
Windows Server 2012 [僅限傳統型應用程式]
標頭
Ntdddisk.h

另請參閱

DeviceIoControl

磁片管理控制代碼

DISK_CLUSTER_INFO

IOCTL_DISK_SET_CLUSTER_INFO