Freigeben über


WdfPdoInitAllocate-Funktion (wdfpdo.h)

[Gilt nur für KMDF]

Die WdfPdoInitAllocate-Methode ordnet eine WDFDEVICE_INIT-Struktur für einen frameworkbasierten Bustreiber zu, den der Bustreiber beim Melden eines neuen Geräts verwendet.

Syntax

PWDFDEVICE_INIT WdfPdoInitAllocate(
  [in] WDFDEVICE ParentDevice
);

Parameter

[in] ParentDevice

Ein Handle für ein Frameworkgeräteobjekt, das das übergeordnete Gerät des neuen Geräts darstellt. Das Framework-Geräteobjekt muss ein funktionales Geräteobjekt (Functional Device Object, FDO) darstellen.

Rückgabewert

Wenn der Vorgang erfolgreich ist, gibt die -Methode einen Zeiger auf eine vom Framework zugewiesene WDFDEVICE_INIT-Struktur zurück. Andernfalls gibt die Methode NULL zurück.

Hinweise

Wenn ein Bustreiber statische Enumeration verwendet, meldet er ein neues Gerät wie folgt:

  1. Aufrufen von WdfPdoInitAllocate , um eine WDFDEVICE_INIT-Struktur zuzuweisen.
  2. Aufrufen von Framework-Geräteobjektinitialisierungsmethoden und Framework-PDO-Initialisierungsmethoden nach Bedarf, um die WDFDEVICE_INIT-Struktur zu initialisieren. Wenn ein Aufruf einer dieser Methoden fehlschlägt, muss der Treiber WdfDeviceInitFree aufrufen.
  3. Aufrufen von WdfDeviceCreate , um ein Framework-Geräteobjekt zu erstellen, wobei die initialisierte WDFDEVICE_INIT-Struktur als Eingabe bereitgestellt wird.
Weitere Informationen zur statischen Enumeration finden Sie unter Auflisten der Geräte in einem Bus.

Beispiele

Ein Codebeispiel, das WdfPdoInitAllocate verwendet, finden Sie unter WdfFdoAddStaticChild.

Anforderungen

Anforderung Wert
Zielplattform Universell
KMDF-Mindestversion 1.0
Kopfzeile wdfpdo.h (einschließen von Wdf.h)
Bibliothek Wdf01000.sys (siehe Versionsverwaltung der Frameworkbibliothek).)
IRQL PASSIVE_LEVEL
DDI-Complianceregeln AddPdoToStaticChildList(kmdf), DoubleDeviceInitFree(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf), PdoInitFreeDeviceCreateType2(kmdf), PdoInitFreeDeviceCreateType4(kmdf)

Weitere Informationen

WdfControlDeviceInitAllocate