참고
인덱싱 서비스는 Windows XP를 기준으로 더 이상 지원되지 않으며 Windows 8 현재 사용할 수 없습니다. 대신 클라이언트 쪽 검색에 Windows Search 를 사용하고 서버 쪽 검색에 Microsoft Search Server Express 를 사용합니다.
ICommandTree::SetCommandTree 메서드는 명령 개체의 명령 트리를 설정하여 기존 명령 트리를 바꾸거나 지정된 텍스트 명령을 ICommandText 인터페이스로 대체합니다. 제공된 명령 트리는 fCopy 매개 변수인 명령 개체에 따라 복사되거나 로 전송됩니다. 따라서 소비자는 명령 개체에 영향을 주지 않고 원래 트리 또는 텍스트를 삭제할 수 있습니다. 대부분의 오류 검사는 유효성 검사 방법, 최적화( ICommandPrepare 참조) 또는 ICommand::Execute 메서드가 호출될 때까지 지연됩니다. 이 메서드는 명령 트리가 실제로 명령 개체의 공간에 복사될 수 있는지 확인합니다.
구문
HRESULT SetCommandTree(
[in] DBCOMMANDTREE **ppRoot,
[in] DBCOMMANDREUSE dwCommandReuse,
[in] BOOL fCopy
);
매개 변수
[in] ppRoot
명령 트리 루트의 주소에 대한 포인터입니다.
[in] dwCommandReuse
이전 명령의 상태가 유지되는지 여부를 지정하는 DBCOMMANDREUSEENUM 열거형의 DBCOMMANDREUSE 형식 마스크입니다. 이전에 지정되지 않은 상태가 다시 사용으로 표시되면 플래그가 무시되고 오류가 발생하지 않습니다. 현재 DBCOMMANDREUSE_NONE만 지원됩니다.
[in] fCopy
TRUE이면 명령 트리가 복사되고 호출자는 명령 트리의 메모리 소유권을 유지합니다. FALSE이면 공급자는 복사하지 않고 전체 트리를 가져와 호출자의 루트 포인터를 NULL 포인터로 설정합니다. 명령 개체가 트리의 할당을 취소해야 하는 경우 트리의 각 노드에 대해 IMalloc::Free 를 한 번 호출합니다.
fCopy가 FALSE이면 소비자가 SetCommandTree 메서드에 대한 다른 호출 없이 명령 트리를 변경하면 안 됩니다. 이러한 변경의 효과는 정의되지 않습니다. 특히 공급자는 SetCommandTree,ICommandPrepare::P repare 및 ICommand::Execute와 같이 트리를 사용하는 호출 간에 명령 트리가 변경되지 않았다고 가정할 수 있습니다.
반환 값
이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.
| 반환 코드 | Description |
|---|---|
|
메서드가 성공했습니다. |
|
공급자 관련 오류가 발생했습니다. |
|
pRoot 매개 변수가 NULL 포인터이거나 dwCommandReuse 매개 변수가 잘못되었습니다. |
|
명령 개체에서 행 집합이 열렸습니다. |
요구 사항
| 요구 사항 | 값 |
|---|---|
| 지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
| 지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
| 대상 플랫폼 | Windows |
| 헤더 | cmdtree.h |