RPC_ASYNC_NOTIFICATION_INFO 공용 구조체(rpcasync.h)
RPC_ASYNC_NOTIFICATION_INFO 공용 구조체에는 비동기 원격 프로시저 호출에 대한 알림 정보가 포함되어 있습니다. 이 알림 정보는 IOC(I/O 완료 포트), Windows APC(비동기 프로시저 호출), Windows 메시징 및 Windows 이벤트 알림에 대해 구성할 수 있습니다.
구문
typedef union _RPC_ASYNC_NOTIFICATION_INFO {
struct {
PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine;
HANDLE hThread;
} APC;
struct {
HANDLE hIOPort;
DWORD dwNumberOfBytesTransferred;
DWORD_PTR dwCompletionKey;
LPOVERLAPPED lpOverlapped;
} IOC;
struct {
HWND hWnd;
UINT Msg;
} HWND;
HANDLE hEvent;
PKEVENT Event;
PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine;
} RPC_ASYNC_NOTIFICATION_INFO, *PRPC_ASYNC_NOTIFICATION_INFO;
멤버
APC
Windows APC(비동기 프로시저 호출) 알림에 사용되는 구조입니다.
APC.NotificationRoutine
사용자 정의 APC 알림 루틴을 호출합니다.
APC.hThread
알림 APC를 게시해야 하는 스레드에 대한 핸들입니다. 값이 0이면 현재 스레드가 표시됩니다.
IOC
I/O 완료 포트의 알림에 사용되는 구조입니다.
IOC.hIOPort
I/O 완료 포트에 대한 핸들입니다.
IOC.dwNumberOfBytesTransferred
비동기 호출이 시작되기 전에 RPC 클라이언트에서 설정합니다. 알림이 완료 포트로 전달되면 이 값은 GetQueuedCompletionStatus 함수의 lpNumberOfBytesTransferred 매개 변수가 가리키는 위치에 채워집니다.
IOC.dwCompletionKey
비동기 호출이 시작되기 전에 RPC 클라이언트에서 설정합니다. 알림이 완료 포트로 전달되면 이 값은 GetQueuedCompletionStatus 함수의 lpCompletionKey 매개 변수가 가리키는 위치에 채워집니다.
IOC.lpOverlapped
비동기 호출이 시작되기 전에 RPC 클라이언트에서 설정합니다. 알림이 완료 포트로 전달되면 이 값은 GetQueuedCompletionStatus 함수의 lpOverlapped 매개 변수가 가리키는 위치에 채워집니다.
HWND
Windows 메시지의 알림에 사용되는 필드입니다. RPC 런타임이 메시지를 게시하면 wParam 은 0이고 lParam 은 호출에 대한 비동기 핸들( RPC_ASYNC_STATE)을 가리킵니다.
Windows Server 2003 이상: HWND를 통한 알림은 더 이상 사용되지 않습니다. 이 멤버를 사용하지 마세요.
HWND.hWnd
메시지를 게시할 창을 식별합니다.
HWND.Msg
게시할 메시지입니다.
hEvent
이벤트의 알림에 사용되는 핸들입니다.
Event
NotificationRoutine
Windows Vista 또는 이전 버전의 Windows: COM은 이를 내부적으로 직접 콜백에 사용합니다. 이 멤버를 사용하지 마세요.
Windows 7 이상 버전의 Windows: RPC 호출 완료를 기반으로 빌드된 사용자 정의 알림 체계에 대한 선택적 함수 포인터입니다. 예를 들어 애플리케이션은 알림 콜백에서 SubmitThreadpoolWork 를 호출할 수 있습니다.
설명
Windows Vista 및 이전 버전의 Windows 이전에는 RPC_ASYNC_NOTIFICATION_INFO 공용 구조체가 RPC_ASYNC_STATE 구조의 일부였습니다. 자세한 내용은 RPC_ASYNC_STATE 항목을 참조하세요.
요구 사항
지원되는 최소 클라이언트 | WINDOWS XP SP2 [데스크톱 앱만 해당] |
지원되는 최소 서버 | WINDOWS Server 2003 SP1 [데스크톱 앱만 해당] |
머리글 | rpcasync.h(Rpc.h 포함) |