Compartilhar via


Função WdfPdoInitAllocate (wdfpdo.h)

[Aplica-se somente ao KMDF]

O método WdfPdoInitAllocate aloca uma estrutura de WDFDEVICE_INIT para um driver de barramento baseado em estrutura, que o motorista do barramento usa ao relatar um novo dispositivo.

Sintaxe

PWDFDEVICE_INIT WdfPdoInitAllocate(
  [in] WDFDEVICE ParentDevice
);

Parâmetros

[in] ParentDevice

Um identificador para um objeto de dispositivo de estrutura que representa o dispositivo pai do novo dispositivo. O objeto de dispositivo de estrutura deve representar um FDO (objeto de dispositivo funcional).

Retornar valor

Se a operação for bem-sucedida, o método retornará um ponteiro para uma estrutura de WDFDEVICE_INIT alocada por estrutura. Caso contrário, o método retornará NULL.

Comentários

Se um motorista de ônibus usar enumeração estática, ele relatará um novo dispositivo por:

  1. Chamar WdfPdoInitAllocate para alocar uma estrutura de WDFDEVICE_INIT .
  2. Chamar métodos de inicialização de objeto de dispositivo de estrutura e métodos de inicialização PDO de estrutura, conforme necessário, para inicializar a estrutura WDFDEVICE_INIT. Se uma chamada para um desses métodos falhar, o driver deverá chamar WdfDeviceInitFree.
  3. Chamar WdfDeviceCreate para criar um objeto de dispositivo de estrutura, fornecendo a estrutura de WDFDEVICE_INIT inicializada como entrada.
Para obter mais informações sobre enumeração estática, consulte Enumerando os dispositivos em um barramento.

Exemplos

Para obter um exemplo de código que usa WdfPdoInitAllocate, consulte WdfFdoAddStaticChild.

Requisitos

Requisito Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Cabeçalho wdfpdo.h (include Wdf.h)
Biblioteca Wdf01000.sys (consulte Controle de versão da biblioteca de estrutura.)
IRQL PASSIVE_LEVEL
Regras de conformidade da DDI AddPdoToStaticChildList(kmdf), DoubleDeviceInitFree(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf), PdoInitFreeDeviceCreateType2(kmdf), PdoInitFreeDeviceCreateType4(kmdf)

Confira também

WdfControlDeviceInitAllocate