WdfDeviceGetFileObject 함수(wdfdevice.h)

[KMDF에만 적용]

WdfDeviceGetFileObject 메서드는 지정된 WDM 파일 개체와 연결된 프레임워크 파일 개체에 대한 핸들을 반환합니다.

구문

WDFFILEOBJECT WdfDeviceGetFileObject(
  [in] WDFDEVICE    Device,
  [in] PFILE_OBJECT FileObject
);

매개 변수

[in] Device

프레임워크 디바이스 개체에 대한 핸들입니다.

[in] FileObject

WDM FILE_OBJECT 구조체에 대한 포인터입니다.

반환 값

WdfDeviceGetFileObject 는 지정된 WDM 파일 개체와 연결된 프레임워크 파일 개체에 대한 핸들을 반환합니다. 파일에 대해 프레임워크 파일 개체를 만들지 않았거나 FileObject 포인터가 잘못된 경우 메서드는 NULL을 반환합니다.

드라이버가 잘못된 개체 핸들을 제공하는 경우 버그 검사 발생합니다.

설명

프레임워크 파일 개체에 대한 자세한 내용은 프레임워크 파일 개체를 참조하세요.

예제

다음 코드 예제에서는 요청된 개체에 대한 액세스 권한을 부여할 수 있는 경우 명명된 WDM 디바이스 개체 및 해당 WDM 파일 개체에 대한 포인터를 가져옵니다. 그런 다음, 이 예제에서는 WDM 파일 개체와 연결된 프레임워크 파일 개체에 대한 핸들을 가져옵니다.

PFILE_OBJECT  pWdmFileObject = NULL;
PDEVICE_OBJECT  pWdmDeviceObject = NULL;
WDFFILEOBJECT  fileObject = NULL;
NTSTATUS  status = STATUS_SUCCESS;
BOOLEAN  success = TRUE;

status = IoGetDeviceObjectPointer(
                                  &inputFileName,    // File name 
                                  FILE_ALL_ACCESS,   // Access mask
                                  &pWdmFileObject,   // Output pointer of WDM file object
                                  &pWdmDeviceObject  // Output pointer of WDM device object
                                  );

if(!NT_SUCCESS(status)){
    success = FALSE;
    break;
}

fileObject = WdfDeviceGetFileObject(
                                    gDeviceObject,  // Handle to device object
                                    pWdmFileObject  // Handle to WDM file object
                                    );
if(fileObject == NULL){
    success = FALSE;
}

요구 사항

요구 사항
대상 플랫폼 유니버설
최소 KMDF 버전 1.0
머리글 wdfdevice.h(Wdf.h 포함)
라이브러리 Wdf01000.sys(프레임워크 라이브러리 버전 관리 참조)
IRQL <= DISPATCH_LEVEL
DDI 규정 준수 규칙 DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

추가 정보

IoGetDeviceObjectPointer