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 il valore 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 di non esportare alcun handle di associazione (solo gli UUID oggetto devono essere non esportati).
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 esportati.
Valore restituito
Valore | Significato |
---|---|
|
Chiamata riuscita. |
|
L'opzione di versione non è valida. |
|
La sintassi del nome non è valida. |
|
La sintassi del nome non è supportata. |
|
Il nome è incompleto. |
|
Impossibile trovare la voce name-service. |
|
Il servizio dei nomi non è disponibile. |
|
L'interfaccia non è stata trovata. |
|
Non tutti gli oggetti non sono stati esportati. |
Osservazioni
La funzione rpcNsBindingUnexport
A partire da 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. Le esportazioni non autorizzate verranno rimosse solo dalla cache locale. Vedere controllo di accesso nella sezione Sicurezza di Platform Software Development Kit (SDK) per altre informazioni sull'autorizzazione e sugli elenchi di controllo di accesso.
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 esporta gli UUID dell'oggetto, se specificati.
Se vengono trovati uno o più handle di associazione per l'interfaccia specificata senza errori, RpcNsBindingUnexport annullare l'exportazione degli UUID oggetto specificati, se presenti.
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
Una volta creata, una voce del server viene mantenuta, anche quando vengono rimossi tutti gli handle di associazione e gli UUID. Una voce del server deve avere almeno un handle di associazione per esistere. Di conseguenza, l'esportazione solo di UUID in una voce non existing non ha alcun effetto e l'annullamento dell'esportazione di tutti gli handle di associazione elimina la voce.
Usare RpcNsBindingUnexport in modo succoso. Per mantenere disponibile un server attivato automaticamente, è necessario lasciare i relativi handle di associazione nel database name-service tra i momenti in cui vengono attivati i processi del server. Tuttavia, con le associazioni dinamiche, se non si annullano gli handle di associazione, Active Directory può diventare così grande quanto 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 prolungato, 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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 2000 Professional [solo app desktop] |
server minimo supportato | Windows 2000 Server [solo app desktop] |
piattaforma di destinazione | Finestre |
intestazione |
rpcnsi.h (include Rpc.h) |
libreria |
Rpcns4.lib |
dll | Rpcns4.dll |