Función RxCreateSrvCall (fcb.h)
RxCreateSrvCall crea una estructura de SRV_CALL e inserta el nombre en la tabla de nombres de red mantenida por RDBSS.
Sintaxis
PSRV_CALL RxCreateSrvCall(
IN PRX_CONTEXT RxContext,
IN PUNICODE_STRING Name,
IN PUNICODE_STRING InnerNamePrefix,
IN PRX_CONNECTION_ID RxConnectionId
);
Parámetros
RxContext
[in] Puntero a la estructura de RX_CONTEXT que contiene el IRP que describe una operación de creación.
Name
[in] Puntero al nombre que se va a insertar en la tabla de nombres.
InnerNamePrefix
Puntero a un nombre de prefijo interno opcional que se va a insertar en la tabla de nombres con el nombre.
RxConnectionId
[in] Puntero al identificador de conexión que se va a asociar con el nombre que se va a insertar en la tabla de nombres de prefijo. Este parámetro puede ser NULL en cuyo caso no se asociará ningún identificador de conexión con el nombre insertado en la tabla de nombres de prefijo.
Valor devuelto
RxCreateSrvCall devuelve un puntero a una estructura de datos SRV_CALL recién creada cuando se ejecuta correctamente o un puntero NULL en caso de error.
Comentarios
Normalmente, los controladores de minidirector de red no llaman a la rutina RxCreateSrvCall . RDBSS llama a esta rutina internamente cuando se recibe un paquete de solicitud de E/S para IRP_MJ_CREATE y se debe crear un SRV_CALL. RDBSS recibe normalmente este IRP en respuesta a una aplicación en modo de usuario que solicita una operación de creación de archivos en un recurso compartido de red. También es posible que otro controlador de kernel emita este tipo de IRP.
Antes de llamar a RxCreateSrvCall, se debe adquirir un bloqueo en la tabla de nombres asociada al miembro del objeto de dispositivo del parámetro RxContext en modo exclusivo.
RxCreateSrvCall inicializa los parámetros de llamada del servidor pasados a través de atributos extendidos como parte de la estructura de RX_CONTEXT asociada. Actualmente, esto incluye inicializar el miembro pPrincipalName del SRV_CALL que pasa el controlador DFS.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | fcb.h (incluya Rxcontx.h, Mrxfcb.h, Prefix.h, Fcb.h) |
IRQL | <= APC_LEVEL |