IDataModelScript::Execute 메서드(dbgmodel.h)
Execute 메서드는 마지막으로 성공한 Populate 호출에서 지시한 대로 스크립트의 콘텐츠를 실행하고 해당 콘텐츠에 따라 디버거의 개체 모델을 수정합니다. 언어(또는 스크립트 공급자)가 사용자 인터페이스에서 가상의 "스크립트 실행" 단추를 클릭할 때 작성자가 호출할 "main 함수"를 정의하는 경우 이러한 "main 함수"는 실행 작업 중에 호출되지 않습니다. 실행 작업은 초기화 및 개체 모델 조작만 수행하는 것으로 간주될 수 있습니다(예: 루트 코드 실행 및 확장성 지점 설정). 스크립트 실행은 스크립트 공급자와 스크립트 클라이언트 간의 양방향 통신입니다. 오류, 디버깅 컨트롤 및 기타 의미 체계는 IDataModelScriptIDataModelScriptClient간의 통신 채널을 통해 전달됩니다.
실행 작업의 성공 여부에 따라 다음 두 가지 중 하나가 발생합니다.
성공적인 반환:
- 스크립트의 이전에 실행된 콘텐츠가 플러시되고 잊혀집니다.
- 스크립트의 이전 실행 결과로 변경된 개체 모델 조작 또는 확장성 지점은 실행 취소됩니다.
- 스크립트의 새 실행의 개체 모델 조작 및 확장성 지점이 활성 상태입니다.
실패한 반환의 경우:
- 스크립트의 새 실행 시도에 대한 조작 또는 확장 지점은 실행 취소됩니다.
- 스크립트의 이전 상태가 복원됩니다. 모든 개체 모델 조작 및 확장성 지점이 복원됩니다.
- 상태는 채우기 호출이 성공한 후와 마찬가지로 실행 호출 전이어야 합니다.
제대로 작성된 스크립트 공급자 및 스크립팅 환경의 경우 채우기 또는 연결 해제에 대한 중간 호출 없이 Execute 메서드를 여러 번 호출하는 것은 idempotent여야 합니다. 즉, 한 행에서 N번 실행 호출은 Execute를 한 번 호출하는 것과 동일하게 사용자에게 표시됩니다. 실행은 디버그 대상의 상태에 대한 부작용 결과를 생성해서는 안 됩니다. 이후에 Execute 메서드를 통해 생성된 브리지에서 속성, 메서드 또는 이벤트를 활용하면 실제로 부작용이 발생할 수 있습니다.
통사론
HRESULT Execute(
IDataModelScriptClient *client
);
매개 변수
client
실행을 요청하는 클라이언트에 대한 인터페이스는 여기에 전달되어야 합니다. 스크립트를 실행하는 동안 오류 또는 기타 이벤트가 있는 경우 클라이언트는 이 인터페이스의 메서드를 통해 스크립트 내에서 해당 위치와 해당 위치를 알려야 합니다.
반환 값
이 메서드는 성공 또는 실패를 나타내는 HRESULT를 반환합니다.
요구 사항
요구 | 값 |
---|---|
헤더 | dbgmodel.h |
참고 항목
IDataModelScript 인터페이스