Função de retorno de chamada PFNKSDEVICEPNPSTART (ks.h)

Uma rotina AVStrMiniDeviceStart de um minidriver AVStream é chamada quando uma solicitação de IRP_MN_START_DEVICE é enviada para um dispositivo especificado.

Sintaxe

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

Ponteiro para uma estrutura KSDEVICE que descreve o dispositivo a ser iniciado.

[in] Irp

Ponteiro para o IRP_MN_START_DEVICE que foi recebido.

[in, optional] TranslatedResourceList

Ponteiro para uma estrutura de CM_RESOURCE_LIST que contém a lista de recursos traduzidos extraída do Irp. É igual a NULL se o dispositivo não tiver recursos atribuídos. Opcional.

[in, optional] UntranslatedResourceList

Ponteiro para uma estrutura CM_RESOURCE_LIST que contém a lista de recursos não traduzidos extraída do Irp. É igual a NULL se o membro KSDEVICE dessa lista de parâmetros não tiver recursos atribuídos. Opcional.

Retornar valor

Deve retornar STATUS_SUCCESS ou o código de erro retornado da tentativa de executar a operação. A inicialização terá êxito se a rotina retornar um código de status bem-sucedido. NÃO retorne STATUS_PENDING.

Comentários

Especifique o endereço dessa rotina no membro Iniciar de sua estrutura de KSDEVICE_DISPATCH .

Normalmente, essa rotina é usada por minidrivers que devem avaliar os recursos atribuídos. As listas de recursos são extraídas do Irp para a conveniência do minidriver. Um minidriver pode analisar a lista de recursos para localizar a interrupção atribuída ao dispositivo, bem como o endereço físico dos recursos de memória.

Os minidrivers podem usar essa rotina para alocar informações de contexto para associar ao dispositivo AVStream. (Isso é semelhante a um minidriver em classe de fluxo usando a extensão do dispositivo para armazenar informações de contexto.)

Observe que STATUS_PENDING não é um código de retorno legal dessa função. Para executar ações no contexto de um thread de trabalho antes que o AVStream conclua as ações de início, como habilitar interfaces de dispositivo, use uma expedição pós-início. Consulte AVStrMiniDevicePostStart.

Essa rotina é opcional.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Microsoft Windows XP e em sistemas operacionais posteriores e no DirectX 8.0 e versões posteriores do DirectX.
Plataforma de Destino Área de Trabalho
Cabeçalho ks.h (inclua Ks.h)

Confira também

CM_RESOURCE_LIST

KSDEVICE_DISPATCH