ForwardDeviceIoControl
9/8/2008
Essa função permite que um driver para ENC E/S controles aos outros drivers quando o driver não sabe nada sobre o controle E/S, portanto, nenhuma validação será executada. O driver que é chamado em ainda tem a direcionar correto informações chamador para validação de parâmetro executar.
Syntax
BOOL ForwardDeviceIoControl (
HANDLE hDevice,
DWORD dwIoControlCode,
LPVOID lpInBuf,
DWORD nInBufSize,
LPVOID lpOutBuf,
DWORD nOutBufSize,
LPDWORD lpBytesReturned,
LPOVERLAPPED lpOverlapped
);
Parameters
- hDevice
[no] Identificador para o dispositivo que deve executar a operação. Para obter um identificador dispositivo, chamar a função CreateFile.
- dwIoControlCode
[no] Controle E/S para a operação. Este valor identifica a operação para executar e o tipo de dispositivo no qual executá-lo. Há não valores específicos definidos para o dwIoControlCode parâmetro. No entanto, você pode definir personalizado IOCTL_XXX IOCTLs com a macro CTL_CODE. Em seguida, você pode anunciar esses controles E/S, e aplicativos podem usá-los com DeviceIoControl para executar operações específicas do driver.
- lpInBuf
[no] Ponteiro longo para uma reserva que contém os dados exigido para executar a operação. Definir como NULL se o dwIoControlCode parâmetro especifica uma operação que entrada dados não não exigido.
- nInBufSize
[no] Tamanho, em bytes, da reserva apontado pelo lpInBuffer.
- lpOutBuf
[out] Ponteiro longo para uma reserva que recebe dados de saída para a operação. Definir como NULL se o dwIoControlCode parâmetro especifica uma operação que não gerar saída dados.
- nOutBufSize
[out] Tamanho, em bytes, da reserva apontado pelo lpOutBuffer.
- lpBytesReturned
[out] Ponteiro longo para uma variável que recebe o tamanho, em bytes, dos dados armazenados em lpOutBuffer. O DeviceIoControl função desnecessariamente pode usar esse parâmetro. De exemplo, se uma operação não gerar dados para lpOutBuffer e lpOutBuffer é NULL, o valor de lpBytesReturned Não faz sentido.
- lpOverlapped
[no] Ignorada; Definir como NULL.
Return Value
Nonzero indica sucesso. Zero indica falha. Para obter informações de erro estendidas, chamar a função GetLastError.
Remarks
Este é o mesmo que o DeviceIoControl função, com uma exceção. Quando chamado de modo kernel, essa função não alteração a direcionar chamador para o kernel, enquanto DeviceIoControl Altera a direcionar chamador. Isto é, ela permanecerá a mesma direcionar chamador como o chamador desta função.
Requirements
Header | pkfuncs.h |
Library | coredll.lib |
Windows Embedded CE | Windows Embedded CE 6.0 and later |
See Also
Reference
Kernel Functions
GetCallerVMProcessId
GetDirectCallerProcessId