DXGKDDI_START_DEVICE función de devolución de llamada (dispmprt.h)
La función DxgkDdiStartDevice prepara un adaptador de pantalla para recibir solicitudes de E/S.
Sintaxis
DXGKDDI_START_DEVICE DxgkddiStartDevice;
NTSTATUS DxgkddiStartDevice(
[in] IN_CONST_PVOID MiniportDeviceContext,
[in] IN_PDXGK_START_INFO DxgkStartInfo,
[in] IN_PDXGKRNL_INTERFACE DxgkInterface,
[out] OUT_PULONG NumberOfVideoPresentSources,
[out] OUT_PULONG NumberOfChildren
)
{...}
Parámetros
[in] MiniportDeviceContext
Identificador de un bloque de contexto asociado a un adaptador de pantalla. La función DxgkDdiAddDevice del controlador de miniporte de pantalla proporcionó anteriormente este identificador al subsistema del kernel de gráficos de DirectX.
[in] DxgkStartInfo
Puntero a una estructura de DXGK_START_INFO que contiene información que el controlador de miniporte de pantalla necesita para la inicialización.
[in] DxgkInterface
Puntero a una estructura de DXGKRNL_INTERFACE que contiene punteros a funciones, implementadas por el subsistema del kernel de gráficos de DirectX, a la que puede llamar el controlador de miniporte de pantalla.
[out] NumberOfVideoPresentSources
Puntero a una variable ULONG que recibe el número de orígenes de vídeo presentes admitidos por el adaptador de pantalla. Para obtener más información sobre los orígenes de vídeo presentes, vea Multiple Monitors y Video Present Networks.
[out] NumberOfChildren
Puntero a una variable ULONG que recibe el número total de dispositivos que son elementos secundarios del adaptador de pantalla representados por MiniportDeviceContext. Este recuento debe incluir posibles dispositivos secundarios, así como dispositivos secundarios que están presentes actualmente. Por ejemplo, si acoplar un equipo portátil hará que haya salidas de vídeo adicionales disponibles, esas salidas de vídeo deben contarse independientemente de si el equipo portátil está actualmente acoplado. Para obtener más información sobre los dispositivos secundarios, vea Dispositivos secundarios del adaptador de pantalla.
Valor devuelto
DxgkDdiStartDevice devuelve STATUS_SUCCESS si se realiza correctamente; de lo contrario, devuelve uno de los códigos de error definidos en Ntstatus.h.
Comentarios
La función DxgkDdiStartDevice debe realizar las siguientes acciones:
- Guarde los punteros de función proporcionados por la estructura DXGKRNL_INTERFACE que se pasa al parámetro DxgkInterface . Guarde también el miembro DeviceHandle de la estructura DXGKRNL_INTERFACE ; Necesitará ese identificador para volver a llamar al subsistema del kernel de gráficos de DirectX.
- Asigne una estructura de DXGK_DEVICE_INFO y llame a DxgkCbGetDeviceInformation para rellenar los miembros de esa estructura, que incluyen la ruta de acceso del Registro, el PDO y una lista de recursos traducidos para el adaptador de pantalla representado por MiniportDeviceContext. Guarde los miembros seleccionados (los que necesitará el controlador de miniporte para mostrar más adelante) de la estructura de DXGK_DEVICE_INFO en el bloque de contexto representado por MiniportDeviceContext.
- Asigne recursos de memoria al espacio del sistema llamando a la función DxgkCbMapMemory .
- Inicialice el bloque de contexto representado por MiniportDeviceContext con cualquier estado necesario para preparar el hardware para recibir solicitudes de E/S.
- Establezca NumberOfVideoPresentSources en el número de orígenes de vídeo presentes admitidos por el adaptador de pantalla representado por MiniportDeviceContext.
- Establezca NumberOfChildren en el número de dispositivos que son (o podrían convertirse) secundarios del adaptador de pantalla representado por MiniportDeviceContext.
- Habilite las interrupciones para el adaptador de pantalla representado por MiniportDeviceContext.
La función DxgkDdiStartDevice debe ser paginable.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows Vista. |
Plataforma de destino | Escritorio |
Encabezado | dispmprt.h |
IRQL | PASSIVE_LEVEL |