다음을 통해 공유


IDataModelScript::Execute 메서드(dbgmodel.h)

Execute 메서드는 마지막으로 성공한 Populate 호출에서 지시한 대로 스크립트의 콘텐츠를 실행하고 해당 콘텐츠에 따라 디버거의 개체 모델을 수정합니다. 언어(또는 스크립트 공급자)가 사용자 인터페이스에서 가상의 "스크립트 실행" 단추를 클릭할 때 작성자가 호출하려는 "기본 함수"를 정의하는 경우 이러한 "기본 함수"는 실행 작업 중에 호출되지 않습니다. 실행 작업은 초기화 및 개체 모델 조작만 수행하는 것으로 간주될 수 있습니다(예: 루트 코드 실행 및 확장성 지점 설정). 스크립트 실행은 스크립트 공급자와 스크립트 클라이언트 간의 양방향 통신입니다. 오류, 디버깅 컨트롤 및 기타 의미 체계는 IDataModelScript와 IDataModelScriptClient 간의 통신 채널을 통해 전달 됩니다.

실행 작업의 성공 또는 실패 여부에 따라 다음 두 가지 중 하나가 발생합니다.

성공적인 반환을 위해 다음을 수행합니다.

o 스크립트의 이전에 실행된 콘텐츠가 플러시되고 잊혀졌습니다.

o 스크립트의 이전 실행 결과로 변경된 개체 모델 조작 또는 확장성 지점은 실행 취소됩니다.

o 스크립트의 새 실행의 개체 모델 조작 및 확장성 지점이 활성 상태입니다.

실패한 반환의 경우:

o 스크립트의 새 실행 시도에 대한 모든 조작 또는 확장성 지점은 실행 취소됩니다.

o 스크립트의 이전 상태가 복원됩니다. 모든 개체 모델 조작 및 확장성 지점이 복원됩니다.

o 채우기 호출이 성공한 후와 실행 호출 이전의 상태여야 합니다.

올바르게 작성된 스크립트 공급자 및 스크립팅 환경의 경우 채우기 또는 연결 해제 '에 대한 중간 호출 없이 Execute 메서드를 여러 번 호출하는 것은 idempotent여야 합니다. 즉, 한 행에서 N번 실행을 호출하면 Execute를 한 번 호출하는 것과 동일하게 사용자에게 표시됩니다. 실행은 디버그 대상의 상태에 대한 부작용 결과를 생성해서는 안 됩니다. 이후에 Execute 메서드를 통해 생성된 브리지에서 속성, 메서드 또는 이벤트를 활용하면 실제로 부작용이 발생할 수 있습니다.

구문

HRESULT Execute(
  IDataModelScriptClient *client
);

매개 변수

client

실행을 요청하는 클라이언트에 대한 인터페이스는 여기에 전달되어야 합니다. 스크립트를 실행하는 동안 오류 또는 기타 이벤트가 있는 경우 클라이언트는 이 인터페이스의 메서드를 통해 스크립트 내의 위치와 해당 위치에 대한 알림을 받아야 합니다.

반환 값

이 메서드는 성공 또는 실패를 나타내는 HRESULT를 반환합니다.

요구 사항

요구 사항
헤더 dbgmodel.h

추가 정보

IDataModelScript 인터페이스