Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il codice di controllo FSCTL_DFS_GET_PKT_ENTRY_STATE può ottenere le stesse informazioni della funzione NetDfsGetClientInfo , ma può offrire prestazioni migliori in alcune configurazioni con latenze elevate per i server DFS. Non è consigliabile usare il codice di controllo FSCTL_DFS_GET_PKT_ENTRY_STATE a meno che non siano presenti problemi di prestazioni.
Per eseguire questa operazione, chiamare la funzione DeviceIoControl con i parametri seguenti.
BOOL
WINAPI
DeviceIoControl( (HANDLE) hDevice, // handle to device
(DWORD) FSCTL_DFS_GET_PKT_ENTRY_STATE, // dwIoControlCode(LPDWORD) lpInBuffer, // input buffer
(DWORD) nInBufferSize, // size of input buffer
(LPDWORD) lpOutBuffer, // output buffer
(DWORD) nOutBufferSize, // size of output buffer
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped ); // OVERLAPPED structure
Parametri
-
hDevice [in]
-
Handle per il dispositivo. Per ottenere un handle di dispositivo, chiamare la funzione CreateFile .
-
dwIoControlCode [in]
-
Codice di controllo per l'operazione. Usare FSCTL_DFS_GET_PKT_ENTRY_STATE per questa operazione.
-
lpInBuffer
-
Indirizzo di una struttura DFS_GET_PKT_ENTRY_STATE_ARG e delle stringhe Unicode 1-3 seguenti.
-
nInBufferSize [in]
-
Dimensioni, in byte, del buffer a cui punta il parametro lpInBuffer .
-
lpOutBuffer [out]
-
Indirizzo di una struttura DFS_INFO_# e di tutte le stringhe e le strutture a cui punta la struttura DFS_INFO_# . La struttura specifica restituita dipende dal membro Level nella struttura DFS_GET_PKT_ENTRY_STATE_ARG passata nel buffer di input.
-
nOutBufferSize [in]
-
Dimensioni, in byte, del buffer a cui punta il parametro lpOutBuffer . A causa delle stringhe e delle strutture a cui fa riferimento la struttura DFS_INFO_# restituita che si trovano anche nel buffer di output, questo buffer deve essere maggiore della struttura DFS_INFO_# specificata.
-
lpBytesReturned [out]
-
Puntatore a una variabile che riceve le dimensioni dei dati archiviati nel buffer di output, in byte.
Se il buffer di output è troppo piccolo, ma almeno di dimensioni sufficienti per contenere un DWORD, la chiamata ha esito negativo, GetLastError restituisce ERROR_MORE_DATA e la prima DWORD del buffer di output contiene le dimensioni necessarie. Se il buffer di output non può contenere un DWORD , la chiamata ha esito negativo con ERROR_INSUFFICIENT_BUFFER e lpBytesReturned è zero.
Se lpOverlapped è NULL, lpBytesReturned non può essere NULL. Anche quando un'operazione non restituisce dati di output e lpOutBuffer è NULL, DeviceIoControl usa lpBytesReturned. Dopo un'operazione di questo tipo, il valore di lpBytesReturned è privo di significato.
Se lpOverlapped non è NULL, lpBytesReturned può essere NULL. Se questo parametro non è NULL e l'operazione restituisce dati, lpBytesReturned non ha significato fino al completamento dell'operazione sovrapposta. Per recuperare il numero di byte restituiti, chiamare GetOverlappedResult. Se il parametro hDevice è associato a una porta di completamento I/O, è possibile recuperare il numero di byte restituiti chiamando GetQueuedCompletionStatus.
-
lpOverlapped [in]
-
Puntatore a una struttura OVERLAPPED .
Se hDevice è stato aperto senza specificare FILE_FLAG_OVERLAPPED, lpOverlapped viene ignorato.
Se hDevice è stato aperto con il flag FILE_FLAG_OVERLAPPED , l'operazione viene eseguita come operazione sovrapposta (asincrona). In questo caso , lpOverlapped deve puntare a una struttura OVERLAPPED valida che contiene un handle a un oggetto evento. In caso contrario, la funzione ha esito negativo in modi imprevedibili.
Per le operazioni sovrapposte, DeviceIoControl restituisce immediatamente e l'oggetto evento viene segnalato al termine dell'operazione. In caso contrario, la funzione non restituisce finché l'operazione non è stata completata o si verifica un errore.
Valore restituito
Se l'operazione viene completata correttamente, DeviceIoControl restituisce un valore diverso da zero.
Se l'operazione ha esito negativo o è in sospeso, DeviceIoControl restituisce zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Requisiti
| Requisito | Valore |
|---|---|
| Client minimo supportato |
Windows Vista |
| Server minimo supportato |
Windows Server 2008 |
| Intestazione |
|