DdeInitializeW 함수(ddeml.h)
DDEML( 동적 데이터 교환 관리 라이브러리 )에 애플리케이션을 등록합니다. 애플리케이션은 다른 DDEML(동적 데이터 교환 관리 라이브러리) 함수를 호출하기 전에 이 함수를 호출해야 합니다.
구문
UINT DdeInitializeW(
[in, out] LPDWORD pidInst,
[in] PFNCALLBACK pfnCallback,
[in] DWORD afCmd,
DWORD ulRes
);
매개 변수
[in, out] pidInst
형식: LPDWORD
애플리케이션 instance 식별자입니다. 초기화 시 이 매개 변수는 0을 가리킵니다. 함수가 성공하면 이 매개 변수는 애플리케이션의 instance 식별자를 가리킵니다. 이 값은 필요한 다른 모든 DDEML 함수에서 idInst 매개 변수로 전달되어야 합니다. 애플리케이션이 DDEML DLL(동적 연결 라이브러리)의 여러 인스턴스를 사용하는 경우 애플리케이션은 각 instance 대해 다른 콜백 함수를 제공해야 합니다.
pidInst가 0이 아닌 값을 가리키는 경우 DDEML의 다시 초기화가 암시됩니다. 이 경우 pidInst는 유효한 애플리케이션 instance 식별자를 가리킵니다.
[in] pfnCallback
형식: PFNCALLBACK
애플리케이션 정의 DDE 콜백 함수에 대한 포인터입니다. 이 함수는 시스템에서 보낸 DDE 트랜잭션을 처리합니다. 자세한 내용은 DdeCallback 콜백 함수를 참조하세요.
[in] afCmd
형식:DWORD
APPCMD_, CBF_ 및 MF_ 플래그 집합입니다. APPCMD_ 플래그는 DdeInitialize에 대한 특별한 지침을 제공합니다. CBF_ 플래그는 특정 유형의 트랜잭션이 콜백 함수에 도달하지 못하도록 하는 필터를 지정합니다. MF_ 플래그는 DDE 모니터링 애플리케이션이 모니터링하는 DDE 작업의 유형을 지정합니다. 이러한 플래그를 사용하면 콜백 함수에 대한 불필요한 호출을 제거하여 DDE 애플리케이션의 성능을 향상시킵니다.
이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.
값 | 의미 |
---|---|
|
애플리케이션이 시스템에서 DDE 작업을 모니터링할 수 있도록 합니다. 이 플래그는 DDE 모니터링 애플리케이션에서 사용하기 위한 것입니다. 애플리케이션은 하나 이상의 모니터 플래그를 APPCLASS_MONITOR 플래그와 결합하여 모니터링할 DDE 작업의 유형을 지정합니다. 자세한 내용은 다음 주의 섹션을 참조하세요. |
|
애플리케이션을 표준(비모니터링) DDEML 애플리케이션으로 등록합니다. |
|
애플리케이션이 DDE 대화의 서버가 되는 것을 방지합니다. 애플리케이션은 클라이언트만 될 수 있습니다. 이 플래그는 DDEML에 의한 리소스 소비를 줄입니다. 여기에는 CBF_FAIL_ALLSVRXACTIONS 플래그의 기능이 포함됩니다. |
|
애플리케이션이 문자열 핸들을 만들고 서비스 이름을 등록하거나 DdeNameService 또는 DdeInitialize 함수에 대한 후속 호출을 통해 필터링을 해제할 때까지 DDEML이 애플리케이션에 XTYP_CONNECT 및 XTYP_WILDCONNECT 트랜잭션을 보내지 못하도록 합니다. 이 플래그는 애플리케이션이 플래그를 지정하는지 여부에 관계없이 애플리케이션이 처음으로 DdeInitialize 를 호출할 때 항상 적용됩니다. DdeInitialize에 대한 후속 호출에서 이 플래그를 지정하지 않으면 애플리케이션의 서비스 이름 필터가 꺼지지만 지정하면 애플리케이션의 서비스 이름 필터가 켜집니다. |
|
콜백 함수가 서버 트랜잭션을 수신하지 못하도록 합니다. 시스템은 이 애플리케이션에 트랜잭션을 보내는 각 클라이언트에 DDE_FNOTPROCESSED 반환합니다. 이 플래그는 모든 CBF_FAIL_ 플래그를 결합하는 것과 같습니다. |
|
콜백 함수가 XTYP_ADVSTART 및 XTYP_ADVSTOP 트랜잭션을 수신하지 못하도록 합니다. 시스템은 XTYP_ADVSTART 또는 XTYP_ADVSTOP 트랜잭션을 서버에 보내는 각 클라이언트에 DDE_FNOTPROCESSED 반환합니다. |
|
콜백 함수가 XTYP_CONNECT 및 XTYP_WILDCONNECT 트랜잭션을 수신하지 못하도록 합니다. |
|
콜백 함수가 XTYP_EXECUTE 트랜잭션을 수신하지 못하도록 합니다. 시스템은 서버에 XTYP_EXECUTE 트랜잭션을 보내는 클라이언트에 DDE_FNOTPROCESSED 반환합니다. |
|
콜백 함수가 XTYP_POKE 트랜잭션을 수신하지 못하도록 합니다. 시스템은 서버에 XTYP_POKE 트랜잭션을 보내는 클라이언트에 DDE_FNOTPROCESSED 반환합니다. |
|
콜백 함수가 XTYP_REQUEST 트랜잭션을 수신하지 못하도록 합니다. 시스템은 서버에 XTYP_REQUEST 트랜잭션을 보내는 클라이언트에 DDE_FNOTPROCESSED 반환합니다. |
|
콜백 함수가 애플리케이션의 자체 instance XTYP_CONNECT 트랜잭션을 수신하지 못하도록 합니다. 이 플래그는 애플리케이션이 자체 instance DDE 대화를 설정하지 못하도록 합니다. 애플리케이션 자체의 다른 인스턴스와 통신 해야 하지만 자체와 통신 해야 하는 경우이 플래그를 사용 해야 합니다. |
|
콜백 함수가 알림을 받지 못하도록 합니다. 이 플래그는 모든 CBF_SKIP_ 플래그를 결합하는 것과 같습니다. |
|
콜백 함수가 XTYP_CONNECT_CONFIRM 알림을 받지 못하도록 합니다. |
|
콜백 함수가 XTYP_DISCONNECT 알림을 받지 못하도록 합니다. |
|
콜백 함수가 XTYP_REGISTER 알림을 받지 못하도록 합니다. |
|
콜백 함수가 XTYP_UNREGISTER 알림을 받지 못하도록 합니다. |
|
트랜잭션이 시스템의 DDE 콜백 함수로 전송 될 때마다 콜백 함수를 알 수 있습니다. |
|
대화가 설정되거나 종료될 때마다 콜백 함수에 알립합니다. |
|
DDE 오류가 발생할 때마다 콜백 함수에 알깁니다. |
|
DDE 애플리케이션이 문자열 핸들의 사용 횟수를 만들거나 해제하거나 증가하거나 DdeUninitialize 함수에 대한 호출의 결과로 문자열 핸들을 해제할 때마다 콜백 함수에 알깁니다. |
|
advise 루프가 시작되거나 종료될 때마다 콜백 함수에 알합니다. |
|
시스템 또는 애플리케이션이 DDE 메시지를 게시할 때마다 콜백 함수에 알 수 있습니다. |
|
시스템 또는 애플리케이션이 DDE 메시지를 보낼 때마다 콜백 함수에 알 보냅니다. |
ulRes
형식:DWORD
예약; 를 0으로 설정해야 합니다.
반환 값
형식: UINT
함수가 성공하면 반환 값이 DMLERR_NO_ERROR.
함수가 실패하면 반환 값은 다음 값 중 하나입니다.
설명
DDEML의 여러 인스턴스를 사용하는 애플리케이션은 인스턴스 간에 DDEML 개체를 전달해서는 안 됩니다.
DDE 모니터링 애플리케이션은 동일한 애플리케이션 instance 컨텍스트 내에서 DDE 작업(대화 설정, 트랜잭션 발급 등)을 수행하려고 시도해서는 안 됩니다.
동일한 작업의 instance 이미 진행 중인 동기 트랜잭션이 있는 경우 동기 트랜잭션이 DMLERR_REENTRANCY 오류와 함께 실패합니다.
CBF_FAIL_ALLSVRXACTIONS 플래그를 사용하면 DDEML이 모든 서버 트랜잭션을 필터링하고 DdeInitialize에 대한 후속 호출을 통해 변경할 수 있습니다. APPCMD_CLIENTONLY 플래그는 DDEML이 서버에 대한 키 리소스를 만들지 못하게 하며 DdeInitialize에 대한 후속 호출로 변경할 수 없습니다.
ANSI 버전과 유니코드 버전의 DdeInitialize가 있습니다. 라는 버전은 DDE 대화(ANSI 또는 유니코드)를 제어하는 데 사용되는 창 프로시저 유형과 CONVCONTEXT 구조체(CP_WINANSI 또는 CP_WINUNICODE)의 iCodePage 멤버에 대한 기본값을 결정합니다.
참고
ddeml.h 헤더는 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 DdeInitialize를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | ddeml.h(Windows.h 포함) |
라이브러리 | User32.lib |
DLL | User32.dll |