NDIS_DEVICE_OBJECT_ATTRIBUTES 구조체(ndis.h)

NDIS_DEVICE_OBJECT_ATTRIBUTES 구조체는 NDIS 필터 또는 미니포트 드라이버가 NdisRegisterDeviceEx 함수에 전달할 수 있는 디바이스의 특성을 정의합니다.

구문

typedef struct _NDIS_DEVICE_OBJECT_ATTRIBUTES {
  NDIS_OBJECT_HEADER Header;
  PNDIS_STRING       DeviceName;
  PNDIS_STRING       SymbolicName;
  PDRIVER_DISPATCH   *MajorFunctions;
  ULONG              ExtensionSize;
  PCUNICODE_STRING   DefaultSDDLString;
  LPCGUID            DeviceClassGuid;
} NDIS_DEVICE_OBJECT_ATTRIBUTES, *PNDIS_DEVICE_OBJECT_ATTRIBUTES;

멤버

Header

NDIS_DEVICE_OBJECT_ATTRIBUTES 구조체의 NDIS_OBJECT_HEADER 구조체입니다. Header에서 지정하는 구조체의 Type 멤버를 NDIS_OBJECT_TYPE_DEVICE_OBJECT_ATTRIBUTES, Revision 멤버를 NDIS_DEVICE_OBJECT_ATTRIBUTES_REVISION_1, Size 멤버를 NDIS_SIZEOF_DEVICE_OBJECT_ATTRIBUTES_REVISION_1 설정합니다.

DeviceName

디바이스 개체의 이름을 지정하는 null로 종료된 유니코드 문자열을 포함하는 NDIS_STRING 형식의 변수에 대한 포인터입니다. 문자열은 전체 경로 이름(예: \Device\DeviceName)이어야 합니다. Microsoft Windows 2000 이상의 경우 NDIS는 NDIS_STRING 형식을 UNICODE_STRING 형식으로 정의합니다.

SymbolicName

등록 중인 디바이스의 Win32 표시 이름인 유니코드 문자열을 포함하는 NDIS_STRING 형식의 변수에 대한 포인터입니다. 일반적으로 SymbolicName 형식은 \DosDevices\SymbolicName입니다.

MajorFunctions

디바이스 드라이버의 디스패치 루틴에 대한 하나 이상의 진입점 배열에 대한 포인터입니다. 드라이버는 드라이버가 디바이스 개체에 대해 처리하는 IRP_MJ_XXX 코드 수와 동일한 수의 별도 디스패치 진입점을 설정해야 합니다. 각 디스패치 루틴은 다음과 같이 선언됩니다.

NTSTATUS
  (*PDRIVER_DISPATCH) (
    IN PDEVICE_OBJECT  DeviceObject,
    IN PIRP  Irp
);

디스패치 루틴에는 다음과 같은 매개 변수가 있습니다.

DeviceObject

디스패치 루틴에 대한 디바이스 개체입니다.

Irp

디스패치 루틴에 대한 IRP입니다.

생성된 디바이스 개체는 물리적 디바이스용이 아니므로 PnP 또는 전원 관리 IRP를 받지 않으므로 드라이버는 PnP 또는 전원 관리 처리기에 대한 진입점을 제공하지 않아야 합니다.

ExtensionSize

디바이스 개체의 디바이스 확장에 할당할 드라이버 결정 바이트 수입니다. 디바이스 확장의 내부 구조는 드라이버 정의입니다.

DefaultSDDLString

디바이스 개체의 기본 보안 설정에 대한 문자열 표현입니다. 디바이스 개체에 적용되는 보안은 이 문자열에서 파생됩니다.

보안 설정은 SDDL(보안 설명자 정의 언어)의 하위 집합에 지정됩니다. 미리 정의된 상수 집합(SDDL_DEVOBJ_XXX)도 제공됩니다. 자세한 내용은 디바이스 개체 보안을 참조하세요.

DeviceClassGuid

NDIS용으로 예약되었습니다. 이 멤버를 NULL로 설정합니다.

설명

NDIS 필터 또는 미니포트 드라이버는 NdisRegisterDeviceEx 함수를 호출하여 디바이스를 등록할 수 있습니다. 디바이스 특성을 지정하기 위해 드라이버는 NDIS_DEVICE_OBJECT_ATTRIBUTES 구조를 할당하고 초기화하고 NdisRegisterDeviceExDeviceObjectAttributes 매개 변수에 구조를 전달합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.0 이상에서 지원됩니다.
머리글 ndis.h(Ndis.h 포함)

추가 정보

NDIS_OBJECT_HEADER

NdisRegisterDeviceEx

UNICODE_STRING