共用方式為


IOCTL_VOLUME_IS_CSV控制項程式碼

判斷磁片區是否為 CSV 磁片區。

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

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

參數

hDevice

磁片區的控制碼。 若要擷取磁片區控制碼,請呼叫 CreateFile 函式。 只有系統管理員可以開啟磁片區控制碼。

dwIoControlCode

作業的控制程式代碼。 針對此作業使用 IOCTL_VOLUME_IS_CSV

lpInBuffer

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

nInBufferSize

未搭配此作業使用;設定為零 (0) 。

lpOutBuffer

如果磁片區是 CSV 磁片區,則為 TRUE 的指標;否則,函式呼叫會失敗。

nOutBufferSize

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

lpBytesReturned

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

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

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

lpOverlapped

重迭結構的指標。

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

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

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

傳回值

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

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

規格需求

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

另請參閱

CreateFile

DeviceIoControl

磁碟區管理控制碼