Funzione RxCreateSrvCall (fcb.h)
RxCreateSrvCall compila una struttura SRV_CALL e inserisce il nome nella tabella net name gestita da RDBSS.
Sintassi
PSRV_CALL RxCreateSrvCall(
IN PRX_CONTEXT RxContext,
IN PUNICODE_STRING Name,
IN PUNICODE_STRING InnerNamePrefix,
IN PRX_CONNECTION_ID RxConnectionId
);
Parametri
RxContext
[in] Puntatore alla struttura RX_CONTEXT contenente l'IRP che descrive un'operazione di creazione.
Name
[in] Puntatore al nome da inserire nella tabella dei nomi.
InnerNamePrefix
Puntatore a un nome di prefisso interno facoltativo da inserire nella tabella dei nomi con il nome.
RxConnectionId
[in] Puntatore all'ID di connessione da associare al nome da inserire nella tabella dei nomi del prefisso. Questo parametro può essere NULL in cui non verrà associato alcun ID di connessione con il nome inserito nella tabella dei nomi del prefisso.
Valore restituito
RxCreateSrvCall restituisce un puntatore a una struttura di dati appena SRV_CALL creata in caso di esito positivo o di un puntatore NULL in caso di errore.
Commenti
La routine RxCreateSrvCall non viene normalmente chiamata dai driver mini-reindirizzamento di rete direttamente. RDBSS chiama questa routine internamente quando viene ricevuto un pacchetto di richiesta di I/O per IRP_MJ_CREATE e deve essere creato un SRV_CALL. Questo servizio IRP viene normalmente ricevuto da RDBSS in risposta a un'applicazione in modalità utente che richiede un'operazione di creazione di file in una condivisione di rete. È anche possibile che un altro driver del kernel esecchi tale IRP.
Prima di chiamare RxCreateSrvCall, è necessario acquisire un blocco nella tabella dei nomi associata al membro dell'oggetto dispositivo del parametro RxContext in modalità esclusiva.
RxCreateSrvCall inizializza i parametri delle chiamate del server passati tramite attributi estesi come parte della struttura RX_CONTEXT associata. Attualmente questo include l'inizializzazione del membro pPrincipalName del SRV_CALL passato dal driver DFS.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | fcb.h (include Rxcontx.h, Mrxfcb.h, Prefix.h, Fcb.h) |
IRQL | <= APC_LEVEL |