IOCTL_VMGENCOUNTER_READ IOCTL (vmgenerationcounter.h)

IOCTL_VMGENCOUNTER_READ控制程式代碼會擷取虛擬機產生標識碼。

輸入緩衝區

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

輸入緩衝區長度

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

輸出緩衝區

接收 VM_GENCOUNTER 數據結構的緩衝區指標。

輸出緩衝區長度

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

備註

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

BOOL 
   WINAPI 
   DeviceIoControl( (HANDLE)       hDevice,         // handle to device
                    (DWORD)        IOCTL_VMGENCOUNTER_READ, // dwIoControlCode(LPDWORD)      lpInBuffer,      // input buffer
                    (DWORD)        nInBufferSize,   // size of input buffer
                    (LPDWORD)      lpOutBuffer,     // output buffer
                    (DWORD)        nOutBufferSize,  // size of output buffer
                    (LPDWORD)      lpBytesReturned, // number of bytes returned
                    (LPOVERLAPPED) lpOverlapped );  // OVERLAPPED structure
參數 描述
hDevice [in] 裝置的句柄。 若要取得裝置句柄,請呼叫 CreateFile 函式。
dwIoControlCode [in] 作業的控制程序代碼。 針對此作業使用 IOCTL_VMGENCOUNTER_READ
lpInBuffer 未搭配此作業使用;設定為 NULL
nInBufferSize [in] 未搭配此作業使用;設定為零。
lpOutBuffer [out] 接收 VM_GENCOUNTER 數據結構的緩衝區指標。
nOutBufferSize [in] 輸出緩衝區的大小 (以位元組為單位)。
lpBytesReturned [out] LPDWORD

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

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

如果 lpOverlappedNULL則 lpBytesReturned 不能是 NULL。 即使作業未傳回任何輸出數據且 lpOutBufferNULL,DeviceIoControl 仍會使用 lpBytesReturned 在這類作業之後, lpBytesReturned 的值就沒有意義。

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

lpOverlapped [in] LPOVERLAPPED

重疊結構的指標。

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

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

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

 

如需虛擬機產生標識碼的相關信息,請參閱 虛擬機產生標識碼

規格需求

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

另請參閱

DeviceIoControl

VM_GENCOUNTER