WdfPdoInitAssignInstanceID-Funktion (wdfpdo.h)

[Gilt nur für KMDF]

Die WdfPdoInitAssignInstanceID-Methode aktualisiert die instance-ID für ein untergeordnetes Gerät.

Syntax

NTSTATUS WdfPdoInitAssignInstanceID(
  [in] PWDFDEVICE_INIT  DeviceInit,
  [in] PCUNICODE_STRING InstanceID
);

Parameter

[in] DeviceInit

Ein Zeiger auf eine WDFDEVICE_INIT-Struktur .

[in] InstanceID

Ein Zeiger auf eine UNICODE_STRING-Struktur, die eine instance-ID-Zeichenfolge enthält. Der Treiber kann den Puffer der Zeichenfolge aus einem ausgelagerten Pool zuordnen.

Rückgabewert

Wenn der Vorgang erfolgreich ist, gibt die Methode STATUS_SUCCESS zurück. Weitere Rückgabewerte sind:

Rückgabecode Beschreibung
STATUS_INVALID_DEVICE_REQUEST
Der Treiber initialisiert eine FDO anstelle einer PDO.
STATUS_INSUFFICIENT_RESOURCES
Der Treiber konnte keinen Speicherplatz zum Speichern der instance-ID-Zeichenfolge zuweisen.
 

Die -Methode gibt möglicherweise auch andere NTSTATUS-Werte zurück.

Hinweise

Weitere Informationen zu instance IDs finden Sie unter Geräteidentifikationszeichenfolgen.

Der Treiber muss WdfPdoInitAssignInstanceID aufrufen, bevor WdfDeviceCreate aufgerufen wird. Weitere Informationen zum Aufrufen von WdfDeviceCreate finden Sie unter Erstellen eines Framework-Geräteobjekts.

Beispiele

Im folgenden Codebeispiel wird die Seriennummer eines Geräts in eine Unicode-Zeichenfolge konvertiert und dann die Unicode-Zeichenfolge als instance-ID des Geräts registriert.

DECLARE_UNICODE_STRING_SIZE(instanceID, INSTANCEID_LENGTH);

status =  RtlIntegerToUnicodeString(
                                    SerialNo,
                                    BASE_DEC,
                                    &instanceID
                                    );
status = WdfPdoInitAssignInstanceID(
                                    pDeviceInit,
                                    &instanceID
                                    );

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 ChildDeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf)

Weitere Informationen

RtlIntegerToUnicodeString

WdfPdoInitAddCompatibleID

WdfPdoInitAddHardwareID

WdfPdoInitAssignDeviceID