RPC client processes use RpcBindingInqOption to determine current values of the binding options that are specific to the ncadg_mq message-queuing transport. This function is supported only on Windows NT, version 4.0 with Service Pack 3. Support for Windows 95 will be available with a forthcoming version of DCOM 95.
#include <rpc.h>
RPC_STATUS RPC_ENTRY RpcBindingInqOption(
RPC_BINDING_HANDLE hBinding,
unsigned long Option,
unsigned long * pOptionValue
);
Value | Meaning |
---|---|
RPC_S_OK | Success. |
RPC_S_CANNOT_SUPPORT | The function is not supported for either the operating system or the transport. Note that calling RpcBindingInqOption on binding handles that use any protocol sequence other than ncadg_mq will fail and return this value. |
When you use the Microsoft Message Queue Server (MSMQ)as the transport mechanism for your RPC application, and you use asynchronous message calls, the client process can control certain binding-specific options that affect queue operation.
Client processes call RpcBindingInqOption to determine the current settings of the message options. To inquire about authentication settings, the client must call RpcBindingInqAuthClient. The following table describes the message options and their possible values.
Option | OptionValue | Description |
---|---|---|
RPC_C_OPT_MQ _DELIVERY |
RPC_C_MQ_EXPRESS (The default value.) | Remote calls to the server remain in active memory as they pass through the network. |
RPC_C_MQ _RECOVERABLE |
Remote calls to the server are stored on disk until they are delivered and executed. This guarantees delivery even if the server goes down. | |
RPC_C_OPT_MQ _PRIORITY |
0-7 (The default is 3.) | Calls with a higher priority number have precedence over calls with a lower priority number. |
RPC_C_OPT_MQ _JOURNAL |
RPC_MQ_JOURNAL _NONE (The default value.) |
Calls are never logged |
RPC_C_MQ_JOURNAL _DEADLETTER |
Calls are logged only when the message cannot be delivered. This can occur when the time specified in RPC_C_MQ_TIME_TO_ REACH_QUEUE or RPC_C_MQ_TIME_TO_BE_ RECEIVED expires before the message is delivered to the server, or the target queue no longer (of the server) no longer exists. |
|
RPC_MQ_JOURNAL _ALWAYS |
Calls are always logged at the originating machine. | |
RPC_C_OPT_MQ _ACKNOWLEDGE |
FALSE (The default value.) | Control returns to the client process immediately after the MSMQ transport receives the call. |
TRUE | The remote call blocks until it receives an acknowledgment that the call reached the server's receive queue. | |
RPC_C_OPT_MQ _TIME_TO_REACH _QUEUE |
Time in seconds. The default value is INFINITE. | The amount of time allowed for a call to reach the Queue Manager on the target system. If the call times out before reaching the target system, it is discarded. |
RPC_C_OPT_MQ _TIME_TO_ BE_RECEIVED |
Time in seconds. The default value is INFINITE. | The amount of time allowed for a call to reach the server-process receive queue on the target system. If the call times out before the RPC server application receives it, it is discarded. |
RpcBindingSetOption, RpcBindingInqOption, RpcBindingSetAuthInfo, RpcBindingInqAuthClient, message, RPC Message Queuing