/protocol switch
L'opzione /protocol specifica il protocollo di collegamento supportato dallo stub generato.
midl /protocol (dce | ndr64 | all)
Opzioni switch
-
Dce
-
Lo stub generato supporta solo il protocollo DCE.
-
ndr64
-
Lo stub generato supporta solo il protocollo Microsoft NDR64.
-
Tutti
-
Lo stub generato supporta tutti i protocolli disponibili per un determinato ambiente.
Commenti
Marshalling RPC e unmarshals dati in base a un protocollo di collegamento rigoroso, chiamato anche sintassi di trasferimento, che definisce la rappresentazione in transito dei dati, ad esempio l'ordine in cui i membri dati vengono sottoposto a marshalling, l'allineamento dei dati in transito, informazioni aggiuntive incluse nei dati, tra le altre. Microsoft RPC è compatibile con il protocollo NDR (Network Data Representation) di OSF DCE. Nella versione a 64 bit di Windows XP, Microsoft introduce un protocollo sperimentale NDR64 ottimizzato per il trasferimento di dati a 64 bit. NDR64 non è compatibile con le versioni precedenti con il protocollo DCE.
Il protocollo dce è compatibile con la sintassi di trasferimento NDR di OSF DCE. Questo protocollo è ottimizzato per il trasferimento di dati a 32 bit.
Il protocollo ndr64 è attualmente supportato solo se usato in combinazione con l'opzione /win64 . Se un client ndr64 tenta di connettersi a un server solo dce o viceversa, la chiamata viene rifiutata con RPC_S_UNSUPPORTED_TRANS_SYN.
L'opzione all crea uno stub che può usare qualsiasi protocollo disponibile. Per gli stub a 32 bit, l'unico protocollo attualmente disponibile è DCE. Per gli stub a 64 bit, creati usando l'opzione /win64 , sono disponibili sia DCE che NDR64.
Esempio
midl /protocol all /win64 filename.idl
Vedi anche