다음을 통해 공유


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 를 호출할 수 있습니다.

참고 알림 콜백에서 추가 RPC 호출, 차단 또는 장기 실행 작업을 수행하는 것은 권장되지 않습니다.
 

설명

Windows Vista 및 이전 버전의 Windows 이전에는 RPC_ASYNC_NOTIFICATION_INFO 공용 구조체가 RPC_ASYNC_STATE 구조의 일부였습니다. 자세한 내용은 RPC_ASYNC_STATE 항목을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 WINDOWS XP SP2 [데스크톱 앱만 해당]
지원되는 최소 서버 WINDOWS Server 2003 SP1 [데스크톱 앱만 해당]
머리글 rpcasync.h(Rpc.h 포함)

추가 정보

RPC_ASYNC_STATE