Función PcInitializeAdapterDriver (portcls.h)
La función PcInitializeAdapterDriver enlaza un controlador de adaptador al controlador del sistema PortCls. Los controladores y controladores IRP para la adición y eliminación de dispositivos se instalan en el objeto de controlador. Los controladores de adaptadores que necesitan enlazarse a más de un controlador de clase no deben llamar a esta función.
Sintaxis
PORTCLASSAPI NTSTATUS PcInitializeAdapterDriver(
[in] PDRIVER_OBJECT DriverObject,
[in] PUNICODE_STRING RegistryPathName,
[in] PDRIVER_ADD_DEVICE AddDevice
);
Parámetros
[in] DriverObject
Puntero al objeto de controlador, que es una estructura del sistema de tipo DRIVER_OBJECT. Este puntero se pasa como parámetro a la función DriverEntry del adaptador.
[in] RegistryPathName
Especifica el nombre de la ruta de acceso del Registro que se va a pasar como parámetro a la función DriverEntry del adaptador.
[in] AddDevice
Puntero a la función AddDevice del adaptador. Se trata de un puntero de tipo PDRIVER_ADD_DEVICE, que se define en ntddk.h para que sea:
NTSTATUS
(*PDRIVER_ADD_DEVICE)(
IN struct _DRIVER_OBJECT *DriverObject,
IN struct _DEVICE_OBJECT *PhysicalDeviceObject
);
Valor devuelto
PcInitializeAdapterDriver devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, devuelve un código de error adecuado.
Comentarios
El controlador AddDevice proporcionado en la llamada a esta función debe llamar a PcAddAdapterDevice. Para obtener más información, consulte Secuencia de inicio.
La función PcInitializeAdapterDriver carga punteros a controladores para los siguientes IRP en el objeto de controlador:
- IRP_MJ_CLOSE
- IRP_MJ_CREATE
- IRP_MJ_DEVICE_CONTROL
- IRP_MJ_FLUSH_BUFFERS
- IRP_MJ_PNP
- IRP_MJ_POWER
- IRP_MJ_QUERY_SECURITY
- IRP_MJ_READ
- IRP_MJ_SET_SECURITY
- IRP_MJ_SYSTEM_CONTROL
- IRP_MJ_WRITE
Un controlador de adaptador que sobrescribe uno o varios de los punteros anteriores con un puntero a su propio controlador IRP puede llamar a PcDispatchIrp desde su rutina de controlador para reenviar IRP a PortCls. Para obtener un ejemplo de código, consulta el controlador de audio de ejemplo SB16 en microsoft Windows Driver Kit (WDK).
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | El controlador del sistema PortCls implementa la función PcInitializeAdapterDriver en Microsoft Windows 98/Me y en los sistemas operativos Windows 2000 y versiones posteriores. |
Plataforma de destino | Universal |
Encabezado | portcls.h (incluir Portcls.h) |
Library | Portcls.lib |
IRQL | PASSIVE_LEVEL |