IOCTL_VMGENCOUNTER_READ IOCTL (vmgenerationcounter.h)
El código de control IOCTL_VMGENCOUNTER_READ recupera un identificador de generación de máquinas virtuales.
Búfer de entrada
No se usa con esta operación; se establece en NULL.
Longitud del búfer de entrada
No se utiliza con esta operación; se establece en cero.
Búfer de salida
Puntero a un búfer que recibe una estructura de datos VM_GENCOUNTER .
Longitud del búfer de salida
Tamaño del búfer de salida, en bytes.
Comentarios
Para realizar esta operación, llame a la función DeviceIoControl con los siguientes parámetros.
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
Parámetros | Descripción |
---|---|
hDevice [in] | Identificador del dispositivo. Para obtener un identificador de dispositivo, llame a la función CreateFile . |
dwIoControlCode [in] | Código de control de la operación. Use IOCTL_VMGENCOUNTER_READ para esta operación. |
lpInBuffer | No se usa con esta operación; se establece en NULL. |
nInBufferSize [in] | No se utiliza con esta operación; se establece en cero. |
lpOutBuffer [out] | Puntero a un búfer que recibe una estructura de datos VM_GENCOUNTER . |
nOutBufferSize [in] | Tamaño del búfer de salida, en bytes. |
lpBytesReturned [out] |
LPDWORD
Puntero a una variable que recibe el tamaño de los datos almacenados en el búfer de salida, en bytes. Si el búfer de salida es demasiado pequeño, se produce un error en la llamada, GetLastError devuelve ERROR_INSUFFICIENT_BUFFER y lpBytesReturned es cero. Si lpOverlapped es NULL, lpBytesReturned no puede ser NULL. Incluso cuando una operación no devuelve datos de salida y lpOutBuffer es NULL, DeviceIoControl usa lpBytesReturned. Después de esta operación, el valor de lpBytesReturned no tiene sentido. Si lpOverlapped no es NULL, lpBytesReturned puede ser NULL. Si este parámetro no es NULL y la operación devuelve datos, lpBytesReturned no tiene sentido hasta que se haya completado la operación superpuesta. Para recuperar el número de bytes devueltos, llame a GetOverlappedResult. Si el parámetro hDevice está asociado a un puerto de finalización de E/S, puede recuperar el número de bytes devueltos llamando a GetQueuedCompletionStatus. |
lpOverlapped [in] |
LPOVERLAPPED
Puntero a una estructura OVERLAPPED. Si hDevice se abrió sin especificar FILE_FLAG_OVERLAPPED, se omite lpOverlapped. Si hDevice se abrió con la marca FILE_FLAG_OVERLAPPED, la operación se realiza como una operación superpuesta (asincrónica). En este caso, lpOverlapped debe apuntar a una estructura SUPERPUESTA válida que contenga un identificador para un objeto de evento. De lo contrario, se producirá un error en la función de formas impredecibles. En el caso de las operaciones superpuestas, se devuelve inmediatamente DeviceIoControl y se señala el objeto de evento cuando se ha completado la operación. De lo contrario, la función no se devuelve hasta que se haya completado la operación o hasta que se produzca un error. |
Para obtener información sobre el identificador de generación de máquinas virtuales, consulte Identificador de generación de máquinas virtuales.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2012 [solo aplicaciones de escritorio] |
Encabezado | vmgenerationcounter.h |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de