Share via


RPC_ASYNC_STATE結構 (rpcasync.h)

RPC_ASYNC_STATE 結構會保存異步遠程過程調用的狀態。 RPC_ASYNC_STATE 是這個結構的句柄,用來等候、查詢、回復或取消異步呼叫。

語法

typedef struct _RPC_ASYNC_STATE {
  unsigned int                Size;
  unsigned long               Signature;
  long                        Lock;
  unsigned long               Flags;
  void                        *StubInfo;
  void                        *UserInfo;
  void                        *RuntimeInfo;
  RPC_ASYNC_EVENT             Event;
  RPC_NOTIFICATION_TYPES      NotificationType;
  RPC_ASYNC_NOTIFICATION_INFO u;
  LONG_PTR                    Reserved[4];
} RPC_ASYNC_STATE, *PRPC_ASYNC_STATE;

成員

Size

這個 結構的大小,以位元組為單位。 呼叫 RpcAsyncInitializeHandle 時,環境會設定此成員。 請勿修改此成員。

Signature

運行時間環境會在呼叫 RpcAsyncInitializeHandle 時設定此成員。 請勿修改此成員。

Lock

運行時間環境會在呼叫 RpcAsyncInitializeHandle 時設定此成員。 請勿修改此成員。

Flags

旗標成員可以設定為下列值。

常數 意義
RPC_C_NOTIFY_ON_SEND_COMPLETE
在異步操作完成時張貼通知訊息。
 

這些旗標會與 DCE 管道搭配使用,可讓應用程式在多個區塊中傳送或接收數據。 程式可以傳送連續數據流,或等候傳送下一個區塊之前傳送每個區塊。 如果未等候,RPC 運行時間連結庫會緩衝輸出,直到可以傳送為止。 當數據傳輸完成時,RPC 連結庫會傳送通知給應用程式。 如果應用程式指定RPC_C_NOTIFY_ON_SEND_COMPLETE旗標,RPC 連結庫會在完成每個傳送作業之後,將 RPC_NOTIFICATION_TYPES 列舉的成員傳送給它。

StubInfo

保留供存根使用。 請勿使用此成員。

UserInfo

將此成員用於您想要在此結構中追蹤的任何應用程式特定資訊。

RuntimeInfo

保留供 RPC 執行時間環境使用。 請勿使用此成員。

Event

發生的事件類型。 RPC 運行時間環境會將此字段設定為 RPC_ASYNC_EVENT 列舉的成員。

NotificationType

RPC 運行時間應該用來通知用戶端發生事件的通知類型,例如呼叫完成或事件完成。

意義
RpcNotificationTypeNone
未指定通知; RPC_ASYNC_NOTIFICATION_INFO 未初始化。
RpcNotificationTypeEvent
通知機制是 Windows 事件。
RpcNotificationTypeApc
通知機制是 Windows 異步過程調用。
RpcNotificationTypeIoc
通知機制是 I/O 完成埠。
RpcNotificationTypeHwnd
通知機制是 Windows 系統訊息。

Windows Server 2003 或更新版本: 透過 HWND 的通知已被取代。 請勿使用此值。

RpcNotificationTypeCallback
通知機制是函式回呼。

u

包含針對 NotificationType 中指定的機制類型格式化的異步通知資訊。

注意 在 Windows Vista 之前,這個成員包含 目前由RPC_ASYNC_NOTIFICATION_INFO 等位所指定之等位的特定語法。
 

Reserved[4]

保留供未來版本相容,如果有的話。 請勿使用此成員。

備註

用戶端會為 RPC_ASYNC_STATE 結構和相關聯的句柄配置空間,並呼叫 RpcAsyncInitializeHandle 來初始化結構。 在運行時間環境成功初始化結構之後,用戶端會初始化 NotificationType,以及 RPC_ASYNC_NOTIFICATION_INFO等位 中的下列其中一個結構:Windows 異步過程調用的 APC 、I/O 完成埠的 IOC 、Windows 系統訊息的 HWND 或 Windows 事件的 hEvent 。 如果所選的通知方法是 RpcNotificationTypeNone,則不需要初始化等位的字段。 RPC 用戶端也可以選擇性地初始化 UserInfo 欄位。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
標頭 rpcasync.h (包含 Rpc.h)

另請參閱

異步 RPC

RpcAsyncAbortCall

RpcAsyncCancelCall

RpcAsyncCompleteCall

RpcAsyncGetCallHandle

RpcAsyncGetCallStatus

RpcAsyncInitializeHandle

RpcServerTestCancel