Funzione RpcNsBindingUnexportA (rpcnsi.h)
La funzione RpcNsBindingUnexport rimuove gli handle di associazione per un'interfaccia e gli oggetti da una voce nel database name-service.
Sintassi
RPC_STATUS RpcNsBindingUnexportA(
unsigned long EntryNameSyntax,
RPC_CSTR EntryName,
RPC_IF_HANDLE IfSpec,
UUID_VECTOR *ObjectUuidVec
);
Parametri
EntryNameSyntax
Sintassi di EntryName.
Per usare la sintassi specificata nella voce del valore del Registro di sistema HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\NameService\DefaultSyntax, specificare un valore di RPC_C_NS_SYNTAX_DEFAULT.
EntryName
Puntatore al nome della voce da cui rimuovere handle di associazione e UUID oggetto.
IfSpec
Specifica dell'interfaccia per gli handle di associazione da rimuovere dal database del servizio dei nomi. Un valore di parametro Null indica che non è possibile annullare eventuali handle di associazione (solo gli UUID dell'oggetto devono essere non visualizzati).
ObjectUuidVec
Puntatore a un vettore di UUID oggetto che il server non vuole più offrire. L'applicazione costruisce questo vettore. Un valore Null indica che non sono presenti UUID oggetto da annullare (solo gli handle di associazione devono essere non visualizzati).
Valore restituito
Valore | Significato |
---|---|
|
La chiamata ha avuto esito positivo. |
|
L'opzione versione non è valida. |
|
La sintassi del nome non è valida. |
|
La sintassi del nome non è supportata. |
|
Il nome è incompleto. |
|
Non è stata trovata la voce nome-servizio. |
|
Il servizio nome non è disponibile. |
|
L'interfaccia non è stata trovata. |
|
Non tutti gli oggetti non visualizzati. |
Commenti
La funzione RpcNsBindingUnexport consente a un'applicazione server di rimuovere gli handle di associazione e gli UUID di oggetti delle risorse da una voce del database del servizio nome. Un'applicazione server può annullare l'interfaccia e gli oggetti specificati in una singola chiamata a RpcNsBindingUnexport oppure può annullarle separatamente. Solo gli handle di associazione che corrispondono all'UUID dell'interfaccia e ai numeri di versione principali e secondari trovati nel parametro IfSpec non vengono visualizzati. Usare la funzione RpcNsMgmtBindingUnexport per rimuovere più versioni di un'interfaccia.
Efficace con Windows 2000, l'ambiente di runtime RPC usa Active Directory come database name-service. Ciò significa che le voci non esportate autorizzate verranno rimosse dalla cache locale e da Active Directory. I non autorizzati non autorizzati verranno rimossi solo dalla cache locale. Per altre informazioni sull'autorizzazione e sull'Controllo di accesso Elenchi, vedere Controllo di accesso nella sezione Sicurezza di Platform Software Development Kit (SDK).
Se RpcNsBindingUnexport non trova alcun handle di associazione per l'interfaccia specificata, la funzione restituisce un codice di stato RPC_S_INTERFACE_NOT_FOUND e non annulla l'exportazione degli UUID dell'oggetto, se specificato.
Se vengono trovati uno o più handle di associazione per l'interfaccia specificata e non vengono visualizzati senza errori, RpcNsBindingUnexport unexports dell'oggetto specificato, se presente.
Se uno degli UUID dell'oggetto specificato non è stato trovato, RpcNsBindingUnexport restituisce il codice di stato RPC_S_NOT_ALL_OBJS_UNEXPORTED.
Oltre a chiamare RpcNsBindingUnexport, un server deve anche chiamare la funzione RpcEpUnregister per annullare la registrazione degli endpoint registrati in precedenza con il database del mapping dell'endpoint locale.
Una volta creata, una voce del server persiste, anche quando vengono rimossi tutti gli handle di associazione e gli UUID. Una voce del server deve avere almeno un handle di associazione da esistere. Di conseguenza, l'esportazione di solo UUID in una voce non existing non ha alcun effetto e l'esportazione di tutti gli handle di associazione elimina la voce.
Usare RpcNsBindingUnexport judiciously . Per mantenere disponibile un server attivato automaticamente, è necessario lasciare i relativi handle di associazione nel database nome-servizio tra i tempi in cui vengono attivati i processi del server. Tuttavia, con associazioni dinamiche, se non si annullano gli handle di associazione, Active Directory può diventare così grande come non gestibile.
Pertanto, prima di chiamare questa funzione, tenere presente quanto tempo si prevede che il server non sia disponibile e il tipo di associazione in uso. Se si usano associazioni statiche, riservare questa funzione per quando si prevede che un server non sia disponibile per un periodo di tempo esteso, ad esempio quando viene rimosso definitivamente dal servizio.
Nota
L'intestazione rpcnsi.h definisce RpcNsBindingUnexport come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | rpcnsi.h (include Rpc.h) |
Libreria | Rpcns4.lib |
DLL | Rpcns4.dll |