Función WdfPdoInitAssignInstanceID (wdfpdo.h)
[Solo se aplica a KMDF]
El método WdfPdoInitAssignInstanceID actualiza el identificador de instancia de un dispositivo secundario.
Sintaxis
NTSTATUS WdfPdoInitAssignInstanceID(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PCUNICODE_STRING InstanceID
);
Parámetros
[in] DeviceInit
Puntero a una estructura de WDFDEVICE_INIT .
[in] InstanceID
Puntero a una estructura UNICODE_STRING que contiene una cadena de identificador de instancia . El controlador puede asignar el búfer de la cadena desde el grupo paginado.
Valor devuelto
Si la operación se realiza correctamente, el método devuelve STATUS_SUCCESS. Entre los valores devueltos adicionales se incluyen:
Código devuelto | Descripción |
---|---|
|
El controlador está inicializando un FDO en lugar de un PDO. |
|
El controlador no pudo asignar espacio para almacenar la cadena de identificador de instancia. |
El método también podría devolver otros valores NTSTATUS.
Comentarios
Para obtener más información sobre los identificadores de instancia, consulte Cadenas de identificación de dispositivos.
El controlador debe llamar a WdfPdoInitAssignInstanceID antes de llamar a WdfDeviceCreate. Para obtener más información sobre cómo llamar a WdfDeviceCreate, vea Creating a Framework Device Object.
Ejemplos
En el ejemplo de código siguiente se convierte el número de serie de un dispositivo en una cadena Unicode y, a continuación, se registra la cadena Unicode como identificador de instancia del dispositivo.
DECLARE_UNICODE_STRING_SIZE(instanceID, INSTANCEID_LENGTH);
status = RtlIntegerToUnicodeString(
SerialNo,
BASE_DEC,
&instanceID
);
status = WdfPdoInitAssignInstanceID(
pDeviceInit,
&instanceID
);
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Versión mínima de KMDF | 1.0 |
Encabezado | wdfpdo.h (incluya Wdf.h) |
Library | Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos). |
IRQL | PASSIVE_LEVEL |
Reglas de cumplimiento de DDI | ChildDeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf) |