OB_PRE_OPERATION_INFORMATION 구조체(wdm.h)
OB_PRE_OPERATION_INFORMATION 구조는 ObjectPreCallback 루틴에 프로세스 또는 스레드 핸들 작업에 대한 정보를 제공합니다.
구문
typedef struct _OB_PRE_OPERATION_INFORMATION {
OB_OPERATION Operation;
union {
ULONG Flags;
struct {
ULONG KernelHandle : 1;
ULONG Reserved : 31;
};
};
PVOID Object;
POBJECT_TYPE ObjectType;
PVOID CallContext;
POB_PRE_OPERATION_PARAMETERS Parameters;
} OB_PRE_OPERATION_INFORMATION, *POB_PRE_OPERATION_INFORMATION;
멤버
Operation
핸들 작업의 형식입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
OB_OPERATION_HANDLE_CREATE
프로세스 또는 스레드에 대한 새 핸들이 열립니다. 특정 정보를 만들려면 Parameters-CreateHandleInformation>을 사용합니다.
OB_OPERATION_HANDLE_DUPLICATE
프로세스 또는 스레드 핸들이 중복됩니다. 중복 관련 정보에는 Parameters-DuplicateHandleInformation>을 사용합니다.
Flags
예약되어 있습니다. 대신 KernelHandle 멤버를 사용합니다.
KernelHandle
핸들이 커널 핸들인지 여부를 지정하는 비트입니다. 이 멤버가 TRUE이면 핸들은 커널 핸들입니다. 그렇지 않으면 이 핸들은 커널 핸들이 아닙니다.
Reserved
시스템에서 사용하도록 예약되었습니다.
Object
핸들 작업의 대상인 프로세스 또는 스레드 개체에 대한 포인터입니다.
ObjectType
개체의 개체 형식에 대한 포인터입니다. 이 멤버는 프로세스의 경우 PsProcessType 이거나 스레드의 경우 PsThreadType 입니다.
CallContext
작업에 대한 드라이버별 컨텍스트 정보에 대한 포인터입니다. 기본적으로 필터 관리자는 이 멤버를 NULL로 설정하지만 ObjectPreCallback 루틴은 드라이버별 방식으로 CallContext 멤버를 다시 설정할 수 있습니다. 필터 관리자는 일치하는 ObjectPostCallback 루틴에 이 값을 전달합니다.
Parameters
작업별 정보를 포함하는 OB_PRE_OPERATION_PARAMETERS 공용 구조체에 대한 포인터입니다. Operation 멤버는 공용 구조체의 어떤 멤버가 유효한지 결정합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Server 2008 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |