ExpertGetFrame 함수
ExpertGetFrame 함수는 로드된 캡처에서 요청된 프레임을 반환합니다.
구문
DWORD WINAPI ExpertGetFrame(
_In_ HEXPERTKEY hExpertKey,
_In_ DWORD Direction,
_In_ DWORD RequestFlags,
_In_ DWORD RequestedFrameNumber,
_In_ HFILTER hFilter,
_Out_ LPEXPERTFRAMEDESCRIPTOR pEFrameDescriptor
);
매개 변수
-
hExpertKey [in]
-
고유한 전문가 식별자입니다. 네트워크 모니터는 실행 함수를 호출할 때 hExpertKey 식별자를 전문가에게 전달합니다.
-
방향 [in]
-
네트워크 모니터가 프레임을 검색하는 방법을 식별하는 값입니다.
값 의미 - GET_SPECIFIED_FRAME
요청된 프레임을 반환합니다. - GET_FRAME_NEXT_FORWARD
다음 프레임을 반환합니다. - GET_FRAME_NEXT_BACKWARD
이전 프레임을 반환합니다. -
RequestFlags [in]
-
네트워크 모니터가 요청을 처리하는 방법을 지정하는 플래그입니다. 다음 플래그 중 하나 이상을 지정합니다.
값 의미 - FLAGS_DEFER_TO_UI_FILTER
hFilter에 지정된 전문가의 디스플레이 필터 매개 변수를 적용하기 전에 전문가가 시작될 때 네트워크 모니터에서 사용하는 디스플레이 필터를 적용합니다. - FLAGS_ATTACH_PROPERTIES
이 프레임의 클레임된 섹션을 사용하여 모든 프로토콜 파서가 찾은 속성은 프레임에 연결됩니다. 플래그가 설정되지 않은 경우 EXPERTFRAMEDESCRIPTOR 구조체의 lpPropertyTable 필드(pEFrameDescriptor에서 반환됨)가 NULL로 설정됩니다. -
RequestedFrameNumber [in]
-
요청된 프레임의 수입니다.
-
hFilter [in]
-
전문가 디스플레이 필터에 대한 핸들입니다. 전문가에게 디스플레이 필터가 없는 경우 매개 변수를 NULL로 설정합니다.
-
pEFrameDescriptor [out]
-
반환할 때 프레임을 설명하는 EXPERTFRAMEDESCRIPTOR 구조체입니다. 전문가는 이 구조에서 사용하는 메모리를 할당하고 해제해야 합니다.
반환 값
함수가 성공하면 반환 값이 NMERR_SUCCESS.
함수가 실패하면 반환 값은 실패 이유를 나타냅니다. 반환 값이 NMERR_EXPERT_TERMINATE 경우 전문가는 즉시 클린 반환해야 합니다. 사용자가 전문가 실행을 중단했습니다.
설명
FLAGS_ATTACH_PROPERTIES 설정하면 플래그를 설정하지 않은 경우보다 더 많은 리소스가 호출에 필요합니다. 플래그가 설정되지 않은 경우 포인터는 원시 프레임과 프레임에 대한 데이터를 가리킵니다. 이 플래그가 설정되면 네트워크 모니터는 프레임의 일부를 주장하는 모든 파서 를 호출하여 프레임에 모든 속성을 연결합니다. 이는 느린 프로세스일 수 있습니다.
전문가는 전문가가 파서가 프레임에 연결하는 속성을 요구하지 않는 한 FLAGS_ATTACH_PROPERTIES 플래그를 설정해서는 안됩니다. 가능하면 전문가는 플래그 없이 ExpertGetFrame 함수를 호출한 다음 프레임에서 직접 필요한 데이터를 추출해야 합니다.
전문가가 FLAGS_ATTACH_PROPERTIES 플래그 없이 ExpertGetFrame 을 호출하고 해당 프레임과 연결된 속성(예: 이벤트)이 필요한 경우 전문가는 다음을 제외하고 동일한 매개 변수를 사용하여 ExpertGetFrame 을 호출합니다.
Direction = EXPERT_GET_SPECIFIED_FRAME;
RequestFlags &= (~EXPERT_DEFER_TO_UI_FILTER) | EXPERT_ATTACH_PROPERTIES;
RequestedFrameNumber= (The actual frame number you want);
hFilter = NULL;
pEFrameDescriptor = (The same one as last time);
위의 코드를 사용하면 전문가가 필터 코드를 다시 호출하지 않고도 필요한 프레임을 얻을 수 있습니다.
hFilter 매개 변수를 LPVOID로 설정할 수 있습니다. 있는 경우 반환된 프레임이 이 필터를 전달합니다. 전문가에게 함수에 전달할 디스플레이 필터가 없는 경우( hFilter 가 NULL 인 경우) 반환된 프레임이 필터링되지 않습니다.
ExpertGetFrame 함수는 실행 또는 내보내기 구성 함수를 구현하는 전문가만 호출할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 |
Windows 2000 Server[데스크톱 앱만] |
헤더 |
|
라이브러리 |
|
DLL |
|