다음을 통해 공유


DdeEnableCallback 함수(ddeml.h)

호출 애플리케이션에서 현재 설정된 특정 대화 또는 모든 대화에 대해 트랜잭션을 사용하거나 사용하지 않도록 설정합니다.

구문

BOOL DdeEnableCallback(
  [in] DWORD idInst,
  [in] HCONV hConv,
  [in] UINT  wCmd
);

매개 변수

[in] idInst

형식:DWORD

DdeInitialize 함수에 대한 이전 호출에서 얻은 애플리케이션 instance 식별자입니다.

[in] hConv

형식: HCONV

사용하거나 사용하지 않도록 설정할 대화에 대한 핸들입니다. 이 매개 변수가 NULL이면 함수는 모든 대화에 영향을 줍니다.

[in] wCmd

형식: UINT

함수 코드입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
EC_ENABLEALL
0
지정된 대화에 대해 모든 트랜잭션을 사용하도록 설정합니다.
EC_ENABLEONE
0x0080
지정된 대화에 대해 하나의 트랜잭션을 사용하도록 설정합니다.
EC_DISABLE
0x0008
지정된 대화에 대해 차단 가능한 모든 트랜잭션을 사용하지 않도록 설정합니다.

서버 애플리케이션은 다음 트랜잭션을 사용하지 않도록 설정할 수 있습니다.

클라이언트 애플리케이션은 다음 트랜잭션을 사용하지 않도록 설정할 수 있습니다.
EC_QUERYWAITING
2
지정된 대화의 큐에 트랜잭션이 있는지 여부를 확인합니다.

반환 값

형식: BOOL

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다.

wCmd 매개 변수가 EC_QUERYWAITING 애플리케이션 트랜잭션 큐에 처리되지 않는 처리되지 않은 트랜잭션이 하나 이상 포함된 경우 반환 값은 TRUE입니다. 그렇지 않으면 FALSE입니다.

DdeGetLastError 함수를 사용하여 다음 값 중 하나일 수 있는 오류 코드를 가져올 수 있습니다.

설명

애플리케이션은 DDE(동적 데이터 교환) 콜백 함수에서 CBR_BLOCK 반환 코드를 반환하여 특정 대화에 대한 트랜잭션을 사용하지 않도록 설정할 수 있습니다. DdeEnableCallback 함수를 사용하여 대화를 다시 활성화하면 운영 체제는 대화가 비활성화되었을 때 프로세스에 있던 것과 동일한 트랜잭션을 생성합니다.

EC_QUERYWAITING 플래그를 사용하면 대화의 사용 상태가 변경되지 않으며 DdeEnableCallback 호출의 컨텍스트 내에서 트랜잭션이 실행되지 않습니다.

DdeEnableCallbackEC_QUERYWAITING 사용하여 호출되고 함수가 0이 아닌 값을 반환하는 경우 애플리케이션은 신속하게 메시지 처리를 허용하거나, 콜백에서 반환하거나, 콜백을 사용하도록 설정해야 합니다. 이러한 결과는 후속 콜백이 수행될 것이라고 보장하지 않습니다. EC_QUERYWAITING 사용하여 DdeEnableCallback을 호출하면 차단된 콜백이 있는 애플리케이션에서 차단된 대화에 보류 중인 트랜잭션이 있는지 여부를 확인할 수 있습니다. 물론 이러한 호출이 0을 반환하더라도 애플리케이션은 항상 적시에 메시지를 처리해야 합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 ddeml.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll

추가 정보

개념

DdeConnect

DdeConnectList

DdeDisconnect

DdeInitialize

동적 데이터 교환 관리 라이브러리

참조