Función de devolución de llamada PFNKSDEVICEPNPSTART (ks.h)

Se llama a la rutina AVStrMiniDeviceStart de un minidriver avStream cuando se envía una solicitud de IRP_MN_START_DEVICE para un dispositivo especificado.

Sintaxis

PFNKSDEVICEPNPSTART Pfnksdevicepnpstart;

NTSTATUS Pfnksdevicepnpstart(
  [in]           PKSDEVICE Device,
  [in]           PIRP Irp,
  [in, optional] PCM_RESOURCE_LIST TranslatedResourceList,
  [in, optional] PCM_RESOURCE_LIST UntranslatedResourceList
)
{...}

Parámetros

[in] Device

Puntero a una estructura KSDEVICE que describe el dispositivo que se va a iniciar.

[in] Irp

Puntero al IRP_MN_START_DEVICE que se recibió.

[in, optional] TranslatedResourceList

Puntero a una estructura de CM_RESOURCE_LIST que contiene la lista de recursos traducida extraída de Irp. Es igual a NULL si el dispositivo no tiene recursos asignados. Opcional.

[in, optional] UntranslatedResourceList

Puntero a una estructura de CM_RESOURCE_LIST que contiene la lista de recursos sin traducir extraída de Irp. Es igual a NULL si el miembro KSDEVICE de esta lista de parámetros no tiene recursos asignados. Opcional.

Valor devuelto

Debe devolver STATUS_SUCCESS o el código de error que se devolvió del intento de realizar la operación. Se garantiza que el inicio es correcto si la rutina devuelve un código de estado correcto. NO devuelva STATUS_PENDING.

Comentarios

Especifique la dirección de esta rutina en el miembro Start de su estructura de KSDEVICE_DISPATCH .

Normalmente, los minidrivers usan esta rutina que deben evaluar los recursos asignados. Las listas de recursos se extraen de Irp para la comodidad del minidriver. Un minidriver puede analizar la lista de recursos para buscar la interrupción asignada al dispositivo, así como la dirección física de los recursos de memoria.

Los minidrivers pueden usar esta rutina para asignar información de contexto que se asocie al dispositivo AVStream. (Esto es similar a un minidriver en la clase de flujo mediante la extensión de dispositivo para almacenar información de contexto).

Tenga en cuenta que STATUS_PENDING no es un código de devolución legal de esta función. Para realizar acciones en el contexto de un subproceso de trabajo antes de que AVStream haya completado acciones de inicio, como habilitar interfaces de dispositivo, use una distribución posterior al inicio. Consulte AVStrMiniDevicePostStart.

Esta rutina es opcional.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Microsoft Windows XP y en sistemas operativos posteriores y DirectX 8.0 y versiones posteriores de DirectX.
Plataforma de destino Escritorio
Encabezado ks.h (incluye Ks.h)

Consulte también

CM_RESOURCE_LIST

KSDEVICE_DISPATCH