Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
[Solo se aplica a KMDF]
El método WdfPdoInitAssignInstanceID actualiza el identificador de instancia de para 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 de UNICODE_STRING que contiene un identificador de instancia de cadena. 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 de retorno | 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 puede devolver otros valores de NTSTATUS.
Observaciones
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 | Valor |
|---|---|
| de la plataforma de destino de | Universal |
| versión mínima de KMDF | 1.0 |
| encabezado | wdfpdo.h (incluya Wdf.h) |
| Biblioteca | 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) |